diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index de4271340684..84c707f7f45f 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -13,4 +13,4 @@ FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-${VARIANT} # RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" # To install more global node packages -RUN su node -c "npm install -g pnpm@8.15.5 ts-node" +RUN su node -c "npm install -g pnpm@9 ts-node" diff --git a/.github/codecov.yml b/.github/codecov.yml deleted file mode 100644 index e6f0ec2d090a..000000000000 --- a/.github/codecov.yml +++ /dev/null @@ -1,66 +0,0 @@ -# Enable/Disable PR comments -comment: false - -# https://docs.codecov.com/docs/commit-status -# Disable both statuses -coverage: - status: - project: off - patch: off -# Alternatively we can have them as "informational" -# status: -# project: -# default: -# informational: true -# patch: -# default: -# informational: true - -# About `carryforward: true` -# https://docs.codecov.com/docs/carryforward-flags - -flags: - cli: - carryforward: true - paths: - - packages/cli/ - client: - carryforward: true - paths: - - packages/client/ - debug: - carryforward: true - paths: - - packages/debug/ - generator-helper: - carryforward: true - paths: - - packages/generator-helper/ - integration-tests: - carryforward: true - paths: - - packages/integration-tests/ - migrate: - carryforward: true - paths: - - packages/migrate/ - internals: - carryforward: true - paths: - - packages/internals/ - instrumentation: - carryforward: true - paths: - - packages/instrumentation/ - get-platform: - carryforward: true - paths: - - packages/get-platform/ - fetch-engine: - carryforward: true - paths: - - packages/fetch-engine/ - engines: - carryforward: true - paths: - - packages/engines/ diff --git a/.github/renovate.json b/.github/renovate.json index bff435570f9e..0f838bb1ecd0 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -17,16 +17,10 @@ "reviewers": ["@prisma/orm-ts-maintain"], "rebaseWhen": "conflicted", "rangeStrategy": "pin", - "ignoreDeps": [ - "sqlite3", - "@prisma/engines-version", - "@prisma/prisma-schema-wasm", - "redis", - "@types/redis" - ], + "ignoreDeps": ["sqlite3", "@prisma/engines-version", "@prisma/prisma-schema-wasm", "redis", "@types/redis"], "ignorePaths": ["sandbox/**"], "constraints": { - "pnpm": "8" + "pnpm": "9" }, "configMigration": true, "packageRules": [ @@ -35,19 +29,15 @@ "automerge": true, "matchDepTypes": ["devDependencies"], "matchUpdateTypes": ["patch"], - "excludePackageNames": [ - "@prisma/studio", - "@prisma/studio-server", - "checkpoint-client" - ], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["!@prisma/studio", "!@prisma/studio-server", "!checkpoint-client"] }, { "groupName": "dependencies patch (non-major)", "matchDepTypes": ["dependencies"], "matchUpdateTypes": ["patch"], - "excludePackageNames": ["checkpoint-client"], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["!checkpoint-client"] }, { "groupName": "ESM devDependencies & dependencies (patch & minor)", @@ -108,7 +98,6 @@ "find-up", "get-stdin", "globby", - "has-yarn", "indent-string", "log-update", "new-github-issue-url", @@ -135,15 +124,15 @@ { "groupName": "definitelyTyped", "automerge": true, - "matchPackagePatterns": ["^@types/"], "matchUpdateTypes": ["patch", "minor"], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["/^@types//"] }, { "groupName": "Jest", "automerge": true, - "matchPackagePatterns": [".*jest.*"], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["/.*jest.*/"] }, { "groupName": "sql-template-tag", @@ -173,29 +162,25 @@ }, { "groupName": "opentelemetry packages", - "matchPackagePatterns": ["^@opentelemetry/"], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["/^@opentelemetry//"] }, { "groupName": "opentelemetry packages for instrumentation package", "matchFileNames": ["packages/instrumentation/**"], - "matchPackageNames": [ - "@opentelemetry/api", - "@opentelemetry/instrumentation", - "@opentelemetry/sdk-trace-base" - ], + "matchPackageNames": ["@opentelemetry/api", "@opentelemetry/instrumentation", "@opentelemetry/sdk-trace-base"], "rangeStrategy": "auto" }, { "groupName": "esbuild packages", - "matchPackagePatterns": ["^esbuild"], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["/^esbuild/"] }, { "groupName": "e2e tests", - "excludePackageNames": ["typescript", "prisma", "@prisma/client"], "matchFileNames": ["packages/client/tests/e2e/**"], - "schedule": ["before 7am on Wednesday"] + "schedule": ["before 7am on Wednesday"], + "matchPackageNames": ["!typescript", "!prisma", "!@prisma/client"] }, { "groupName": "e2e tests - typescript", @@ -208,7 +193,7 @@ "groupName": "e2e ts-version (major/minor) tests - typescript", "enabled": false, "matchPackageNames": ["typescript"], - "matchUpdateTypes": ["minor","major"], + "matchUpdateTypes": ["minor", "major"], "matchFileNames": ["packages/client/tests/e2e/ts-version/**"] }, { @@ -247,13 +232,7 @@ }, { "groupName": "JS drivers", - "matchPackageNames": [ - "@libsql/client", - "@neondatabase/serverless", - "@planetscale/database", - "pg", - "@types/pg" - ], + "matchPackageNames": ["@libsql/client", "@neondatabase/serverless", "@planetscale/database", "pg", "@types/pg"], "schedule": ["before 7am on Wednesday"] }, { diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 0325915a1cfa..8ad2e424efed 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -6,8 +6,8 @@ on: - main - '*.*.x' paths-ignore: - # Any update here needs to be done for `pull_request`, see below - # and all files (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml) + # Any update here needs to be done for `pull_request` (see below) and all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) - '*.md' # - '*.bench.ts' -> should not be ignored in this workflow - 'LICENSE' @@ -23,8 +23,8 @@ on: - 'sandbox/**' pull_request: paths-ignore: - # Any update here needs to be done for `push`, see above - # and all files (test.yml, benchmark.yml, release-ci.yml) + # Any update here needs to be done for `branches` (see above) and all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) - '*.md' # - '*.bench.ts' -> should not be ignored in this workflow - 'LICENSE' @@ -61,7 +61,7 @@ jobs: uses: ./.github/actions/setup with: node-version: 20 - pnpm-version: 8.15.5 + pnpm-version: 9 skip-tsc: false - name: Run benchmarks @@ -84,7 +84,7 @@ jobs: alert-comment-cc-users: '@millsp,@aqrln,@SevInf,@jkomyno' - name: Run benchmarks for Codspeed - uses: CodSpeedHQ/action@v2 + uses: CodSpeedHQ/action@v3 with: run: pnpm run bench-stdout-only token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/.github/workflows/bundle-size.yml b/.github/workflows/bundle-size.yml index 24455a2d83c3..a541078c6e97 100644 --- a/.github/workflows/bundle-size.yml +++ b/.github/workflows/bundle-size.yml @@ -3,8 +3,8 @@ name: Bundle size on: pull_request: paths-ignore: - # Any update here needs to be done for - # all files (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml) + # Any update here needs to be done for all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) - '*.md' - '*.bench.ts' - 'LICENSE' @@ -34,7 +34,7 @@ jobs: uses: ./.github/actions/setup with: node-version: 18 - pnpm-version: 8.15.5 + pnpm-version: 9 skip-tsc: true skip-build: true diff --git a/.github/workflows/ci-aux-files.yml b/.github/workflows/ci-aux-files.yml new file mode 100644 index 000000000000..b23772d656a7 --- /dev/null +++ b/.github/workflows/ci-aux-files.yml @@ -0,0 +1,36 @@ +name: CI for auxiliary files + +on: + pull_request: + paths: + # Any update here needs to be done for all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) + - '*.md' + - '*.bench.ts' + - 'LICENSE' + - '.dockerignore' + - 'scripts/ci/publish.ts' + - '.github/CODEOWNERS' + - '.github/renovate.json' + - '.github/ISSUE_TEMPLATE/**' + - '.github/DISCUSSION_TEMPLATE/**' + - '.devcontainer/**' + - '.vscode/**' + - 'graphs/**' + - 'sandbox/**' + workflow_dispatch: + +jobs: + # A job named "Detect jobs to run" is a required check for merging PRs. Without this workflow, + # which only runs for the files ignored by `test.yml` workflow and contains a stub job with this name, + # no PRs that only contain changes in these files could be merged. It exists to ensure the required + # check still exists when the files ignored by `test.yml` are updated, even though it does nothing. + # + # In the future, this workflow can be extended to actually do something useful for these files + # (e.g., run type checking and linting for the code in `sandbox/` and `scripts/`, check spelling in + # markdown files, etc.). + detect-jobs-to-run: + name: Detect jobs to run + runs-on: ubuntu-latest + steps: + - run: echo "Nothing to do." diff --git a/.github/workflows/release-ci.yml b/.github/workflows/release-ci.yml index d79d2fb57b87..973df7d2a37b 100644 --- a/.github/workflows/release-ci.yml +++ b/.github/workflows/release-ci.yml @@ -8,8 +8,8 @@ on: - 'integration/*' - '*.*.x' paths-ignore: - # Any update here needs to be done for - # all files (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml) + # Any update here needs to be done for all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) - '*.md' - '*.bench.ts' - 'LICENSE' @@ -59,7 +59,7 @@ jobs: uses: ./.github/actions/setup with: node-version: 18 - pnpm-version: 8.15.5 + pnpm-version: 9 skip-tsc: false - name: Publish all packages to npm @@ -96,7 +96,6 @@ jobs: env: REPO_NAME: 'prisma-engines' TAG_NAME: '${{ steps.publish.outputs.prismaVersion }}' - MESSAGE: '${{ steps.publish.outputs.changelogSanitized }}' COMMIT_HASH: '${{ steps.publish.outputs.enginesCommitHash }}' with: result-encoding: string @@ -106,7 +105,7 @@ jobs: owner: 'prisma', repo: '${{ env.REPO_NAME }}', tag: '${{ env.TAG_NAME }}', - message: '${{ env.MESSAGE }}', + message: '${{ env.TAG_NAME }}', object: '${{ env.COMMIT_HASH }}', type: 'commit', }) diff --git a/.github/workflows/release-latest.yml b/.github/workflows/release-latest.yml index ddc40f3fd721..20b6684115df 100644 --- a/.github/workflows/release-latest.yml +++ b/.github/workflows/release-latest.yml @@ -50,7 +50,7 @@ jobs: - uses: ./.github/actions/setup with: node-version: 18 - pnpm-version: 8.15.5 + pnpm-version: 9 skip-tsc: false - name: Publish all packages to npm @@ -103,7 +103,7 @@ jobs: owner: 'prisma', repo: '${{ env.REPO_NAME }}', tag: '${{ env.TAG_NAME }}', - message: '${{ env.MESSAGE }}', + message: '${{ env.TAG_NAME }}', object: '${{ env.COMMIT_HASH }}', type: 'commit', }) diff --git a/.github/workflows/scripts/setup-mysql.sh b/.github/workflows/scripts/setup-mysql.sh index 9712d7a1c7cf..db77e60d7a1a 100644 --- a/.github/workflows/scripts/setup-mysql.sh +++ b/.github/workflows/scripts/setup-mysql.sh @@ -1,4 +1,4 @@ -#/bin/bash +#!/usr/bin/env bash set -ex @@ -7,7 +7,14 @@ if [ "$RUNNER_OS" = "Windows" ]; then fi if [ "$RUNNER_OS" = "macOS" ]; then - brew install mysql || true + brew install mysql + + cat < /opt/homebrew/etc/my.cnf +[mysqld] +bind-address = ::1 +mysqlx-bind-address = ::1 +EOF + brew services run mysql fi diff --git a/.github/workflows/scripts/setup.sh b/.github/workflows/scripts/setup.sh index d1a2ac2324c9..cc1f05ec9488 100644 --- a/.github/workflows/scripts/setup.sh +++ b/.github/workflows/scripts/setup.sh @@ -2,7 +2,7 @@ set -ex -npm i --silent -g pnpm@8.15.5 --unsafe-perm +npm i --silent -g pnpm@9 --unsafe-perm pnpm i diff --git a/.github/workflows/test-template.yml b/.github/workflows/test-template.yml index e74d48457992..5e64cda94725 100644 --- a/.github/workflows/test-template.yml +++ b/.github/workflows/test-template.yml @@ -28,7 +28,7 @@ on: pnpmVersion: description: pnpm package manager version type: string - default: '8.15.5' + default: '9' engineHash: description: Customly-built engine hash to use type: string @@ -40,8 +40,6 @@ on: required: false BOT_TOKEN: required: false - CODECOV_TOKEN: - required: false env: HAS_BUILDPULSE_SECRETS: ${{ secrets.BUILDPULSE_ACCESS_KEY_ID != '' && secrets.BUILDPULSE_SECRET_ACCESS_KEY != '' }} @@ -109,7 +107,7 @@ jobs: matrix: shard: ['1/5', '2/5', '3/5', '4/5', '5/5'] queryEngine: ${{ fromJson(inputs.queryEngine) }} - node: [16, 18, 20] + node: [18, 20, 22, 23] previewFeatures: ['', 'relationJoins'] env: NODE_OPTIONS: '--max-old-space-size=8096' @@ -156,15 +154,6 @@ jobs: contains(inputs.jobsToRun, '-client-') working-directory: packages/client - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/client/src/__tests__/coverage/clover.xml - flags: client,ubuntu,${{ matrix.queryEngine }} - name: client-ubuntu-${{ matrix.queryEngine }} - - name: Upload test results to BuildPulse for flaky test detection # Only run this step for branches where we have access to secrets. # Run this step even when the tests fail. Skip if the workflow is cancelled. @@ -191,7 +180,7 @@ jobs: fail-fast: false matrix: shard: ['1/6', '2/6', '3/6', '4/6', '5/6', '6/6'] - node: [16, 18, 20] + node: [18, 20, 22, 23] steps: - uses: actions/checkout@v4 @@ -226,15 +215,6 @@ jobs: JEST_JUNIT_SUITE_NAME: 'client/functional' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/client/src/__tests__/coverage/clover.xml - flags: client,ubuntu,dataproxy - name: client-ubuntu-dataproxy - - name: Upload test results to BuildPulse for flaky test detection # Only run this step for branches where we have access to secrets. # Run this step even when the tests fail. Skip if the workflow is cancelled. @@ -263,7 +243,7 @@ jobs: clientRuntime: ['node', 'wasm'] flavor: ['js_pg', 'js_neon', 'js_libsql', 'js_planetscale', 'js_d1'] shard: ['1/6', '2/6', '3/6', '4/6', '5/6', '6/6'] - node: [20] #[16, 18, 20] + node: [20] previewFeatures: ['driverAdapters', 'driverAdapters,relationJoins'] steps: - uses: actions/checkout@v4 @@ -293,15 +273,6 @@ jobs: JEST_JUNIT_SUITE_NAME: 'client/functional' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/client/src/__tests__/coverage/clover.xml - flags: client,ubuntu,driveradapters - name: client-ubuntu-driveradapters - - name: Upload test results to BuildPulse for flaky test detection # Only run this step for branches where we have access to secrets. # Run this step even when the tests fail. Skip if the workflow is cancelled. @@ -328,7 +299,7 @@ jobs: fail-fast: false matrix: queryEngine: ['library'] # TODO: binary engine is leaking at the moment - node: [16, 18, 20] + node: [18, 20, 22, 23] steps: - uses: actions/checkout@v4 @@ -468,7 +439,7 @@ jobs: matrix: relationMode: ['', 'foreignKeys', 'prisma'] os: [ubuntu-latest] - node: [16] + node: [18] env: NODE_OPTIONS: '--max-old-space-size=8096' JEST_JUNIT_SUITE_NAME: 'client/functional' @@ -543,7 +514,7 @@ jobs: strategy: fail-fast: false matrix: - node: [16] + node: [18] steps: - uses: actions/checkout@v4 @@ -559,15 +530,6 @@ jobs: - run: pnpm run test src/__tests__/types/types.test.ts working-directory: packages/client - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/client/src/__tests__/coverage/clover.xml - flags: client-legacy-types,ubuntu,library,binary - name: client-legacy-types-ubuntu - # # WORKSPACE-TYPES # @@ -578,7 +540,7 @@ jobs: strategy: fail-fast: false matrix: - node: [16] + node: [18] steps: - uses: actions/checkout@v4 @@ -606,7 +568,7 @@ jobs: fail-fast: false matrix: queryEngine: ${{ fromJson(inputs.queryEngine) }} - node: [16] + node: [18] steps: - uses: actions/checkout@v4 @@ -637,15 +599,6 @@ jobs: - run: pnpm run test working-directory: packages/integration-tests - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/integration-tests/src/__tests__/coverage/clover.xml - flags: integration-tests,${{ matrix.node }},${{ matrix.queryEngine }} - name: integration-tests-${{ matrix.node }}-${{ matrix.queryEngine }} - # # `@prisma/internals` # @@ -661,7 +614,7 @@ jobs: matrix: queryEngine: ${{ fromJson(inputs.queryEngine) }} os: [ubuntu-latest] - node: [16, 18, 20] + node: [18, 20, 22, 23] steps: - uses: actions/checkout@v4 @@ -692,15 +645,6 @@ jobs: - run: pnpm run test working-directory: packages/internals - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/internals/src/__tests__/coverage/clover.xml - flags: internals,${{ matrix.os }},${{ matrix.queryEngine }} - name: internals-${{ matrix.os }}-${{ matrix.queryEngine }} - # # MIGRATE # @@ -716,7 +660,7 @@ jobs: matrix: queryEngine: ${{ fromJson(inputs.queryEngine) }} os: [ubuntu-latest] - node: [16, 18, 20] + node: [18, 20, 22, 23] steps: - uses: actions/checkout@v4 @@ -747,15 +691,6 @@ jobs: - run: pnpm run test working-directory: packages/migrate - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/migrate/src/__tests__/coverage/clover.xml - flags: migrate,${{ matrix.os }},${{ matrix.queryEngine }} - name: migrate-${{ matrix.os }}-${{ matrix.queryEngine }} - # # CLI-COMMANDS # @@ -771,7 +706,7 @@ jobs: matrix: queryEngine: ${{ fromJson(inputs.queryEngine) }} os: [ubuntu-latest] - node: [16, 18, 20] + node: [18, 20, 22, 23] steps: - uses: actions/checkout@v4 @@ -802,15 +737,6 @@ jobs: - run: pnpm run test working-directory: packages/cli - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/cli/src/__tests__/coverage/clover.xml - flags: cli,${{ matrix.os }},${{ matrix.queryEngine }} - name: cli-${{ matrix.os }}-${{ matrix.queryEngine }} - # # CLI-PLATFORM-COMMANDS (only) # @@ -825,12 +751,12 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - node: [16, 18, 20] + node: [18, 20, 22, 23] include: - os: windows-latest - version: 16 + version: 18 - os: macos-latest - version: 16 + version: 18 steps: - uses: actions/checkout@v4 @@ -845,15 +771,6 @@ jobs: - run: pnpm run test:platform working-directory: packages/cli - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/cli/src/__tests__/coverage/clover.xml - flags: cli-platform,${{ matrix.os }} - name: cli-platform-${{ matrix.os }} - # # All the other packages! # @@ -866,7 +783,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - node: [16, 18, 20] + node: [18, 20, 22, 23] steps: - uses: actions/checkout@v4 @@ -882,67 +799,22 @@ jobs: name: 'debug' working-directory: packages/debug - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/debug/src/__tests__/coverage/clover.xml - flags: debug,${{ matrix.os }},library,binary - name: debug-${{ matrix.os }} - - run: pnpm run test name: 'generator-helper' working-directory: packages/generator-helper - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/generator-helper/src/__tests__/coverage/clover.xml - flags: generator-helper,${{ matrix.os }},library,binary - name: generator-helper-${{ matrix.os }} - - run: pnpm run test name: 'get-platform' working-directory: packages/get-platform - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/get-platform/src/__tests__/coverage/clover.xml - flags: get-platform,${{ matrix.os }},library,binary - name: get-platform-${{ matrix.os }} - - run: pnpm run test name: 'fetch-engine' working-directory: packages/fetch-engine - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/fetch-engine/src/__tests__/coverage/clover.xml - flags: fetch-engine,${{ matrix.os }},library,binary - name: fetch-engine-${{ matrix.os }} - - run: pnpm run test name: 'engines' working-directory: packages/engines - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/engines/src/__tests__/coverage/clover.xml - flags: engines,${{ matrix.os }},library,binary - name: engines-${{ matrix.os }} - - run: pnpm run test name: 'adapter-planetscale' working-directory: packages/adapter-planetscale @@ -954,42 +826,14 @@ jobs: - run: pnpm run test name: 'adapter-pg' working-directory: packages/adapter-pg - - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/adapter-planetscale/src/__tests__/coverage/clover.xml - flags: adapter-planetscale,${{ matrix.os }},library,binary - name: adapter-planetscale-${{ matrix.os }} - - run: pnpm run test name: 'instrumentation' working-directory: packages/instrumentation - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/instrumentation/src/__tests__/coverage/clover.xml - flags: instrumentation,${{ matrix.os }},library,binary - name: instrumentation-${{ matrix.os }} - - run: pnpm run test name: 'schema-files-loader' working-directory: packages/schema-files-loader - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/schema-files-loader/src/__tests__/coverage/clover.xml - flags: schema-files-loader,${{ matrix.os }},library,binary - name: schema-files-loader-${{ matrix.os }} - # # Run all tests on macOS and Windows. # @@ -1010,7 +854,7 @@ jobs: fail-fast: false matrix: os: [macos-14, windows-latest] - node: [16] + node: [18] queryEngine: ${{ fromJson(inputs.queryEngine) }} shard: ['1/2', '2/2'] if: | @@ -1055,15 +899,6 @@ jobs: JEST_JUNIT_SUITE_NAME: 'client/functional' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/client/src/__tests__/coverage/clover.xml - flags: client,${{ matrix.os }},${{ matrix.queryEngine }} - name: client-functional-${{ matrix.os }}-${{ matrix.queryEngine }} - - name: Upload test results to BuildPulse for flaky test detection # Only run this step for branches where we have access to secrets. # Run this step even when the tests fail. Skip if the workflow is cancelled. @@ -1090,7 +925,7 @@ jobs: fail-fast: false matrix: os: [macos-14, windows-latest] - node: [16] + node: [18] queryEngine: ${{ fromJson(inputs.queryEngine) }} steps: - uses: actions/checkout@v4 @@ -1128,14 +963,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'internals' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && (contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-internals-')) && github.repository == 'prisma/prisma' - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/internals/src/__tests__/coverage/clover.xml - flags: internals,${{ matrix.os }},${{ matrix.queryEngine }} - name: internals-${{ matrix.os }}-${{ matrix.queryEngine }} - name: Test packages/client (old suite) if: contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-client-') @@ -1148,14 +975,6 @@ jobs: NODE_OPTIONS: "${{ matrix.os == 'macos-14' && '--max-old-space-size=14336' || '--max-old-space-size=3072' }}" JEST_JUNIT_SUITE_NAME: 'client/old' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && (contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-client-')) - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/client/src/__tests__/coverage/clover.xml - flags: client,${{ matrix.os }},${{ matrix.queryEngine }} - name: client-${{ matrix.os }}-${{ matrix.queryEngine }} - name: Test packages/migrate if: contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-migrate-') @@ -1164,13 +983,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'migrate' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - if: success() && (contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-migrate-')) - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/migrate/src/__tests__/coverage/clover.xml - flags: migrate,${{ matrix.os }},${{ matrix.queryEngine }} - name: migrate-${{ matrix.os }}-${{ matrix.queryEngine }} - name: Test packages/cli if: contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-cli-') @@ -1179,14 +991,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'cli' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && (contains(inputs.jobsToRun, '-all-') || contains(inputs.jobsToRun, '-cli-')) - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/cli/src/__tests__/coverage/clover.xml - flags: cli,${{ matrix.os }},${{ matrix.queryEngine }} - name: cli-${{ matrix.os }}-${{ matrix.queryEngine }} - name: Test packages/debug if: contains(inputs.jobsToRun, '-all-') @@ -1195,14 +999,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'debug' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && contains(inputs.jobsToRun, '-all-') - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/debug/src/__tests__/coverage/clover.xml - flags: debug,${{ matrix.os }},library,binary - name: debug-${{ matrix.os }} - name: Test packages/generator-helper if: contains(inputs.jobsToRun, '-all-') @@ -1211,14 +1007,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'generator-helper' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && contains(inputs.jobsToRun, '-all-') - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/generator-helper/src/__tests__/coverage/clover.xml - flags: generator-helper,${{ matrix.os }},library,binary - name: generator-helper-${{ matrix.os }} - name: Test packages/get-platform continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow @@ -1228,14 +1016,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'get-platform' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && contains(inputs.jobsToRun, '-all-') - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/get-platform/src/__tests__/coverage/clover.xml - flags: get-platform,${{ matrix.os }},library,binary - name: get-platform-${{ matrix.os }} - name: Test packages/fetch-engine continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow @@ -1245,14 +1025,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'fetch-engine' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && contains(inputs.jobsToRun, '-all-') - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/fetch-engine/src/__tests__/coverage/clover.xml - flags: fetch-engine,${{ matrix.os }},library,binary - name: fetch-engine-${{ matrix.os }} - name: Test packages/engines if: contains(inputs.jobsToRun, '-all-') @@ -1261,14 +1033,6 @@ jobs: env: JEST_JUNIT_SUITE_NAME: 'engines' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && contains(inputs.jobsToRun, '-all-') - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/engines/src/__tests__/coverage/clover.xml - flags: engines,${{ matrix.os }},library,binary - name: engines-${{ matrix.os }} - name: Test packages/schema-files-loader if: contains(inputs.jobsToRun, '-all-') @@ -1278,15 +1042,6 @@ jobs: JEST_JUNIT_SUITE_NAME: 'schema-files-loader' JEST_JUNIT_UNIQUE_OUTPUT_NAME: true - - uses: codecov/codecov-action@v4 - continue-on-error: true # Can fail randomly and we don't want to fail the whole workflow - if: success() && contains(inputs.jobsToRun, '-all-') - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./packages/engines/src/__tests__/coverage/clover.xml - flags: schema-files-loader,${{ matrix.os }},library,binary - name: schema-files-loader-${{ matrix.os }} - - name: Upload test results to BuildPulse for flaky test detection # Only run this step for branches where we have access to secrets. # Run this step even when the tests fail. Skip if the workflow is cancelled. diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index eed48fe77d9a..807eed4c040b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,8 +6,8 @@ on: - main - '*.*.x' paths-ignore: - # Any update here needs to be done for `pull_request`, see below - # and all files (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml) + # Any update here needs to be done for `pull_request` (see below) and all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) - '*.md' - '*.bench.ts' - 'LICENSE' @@ -23,8 +23,8 @@ on: - 'sandbox/**' pull_request: paths-ignore: - # Any update here needs to be done for `push`, see above - # and all files (test.yml, benchmark.yml, release-ci.yml) + # Any update here needs to be done for `branches` (see above) and all files + # (test.yml, benchmark.yml, release-ci.yml, bundle-size.yml, ci-aux-files.yml) - '*.md' - '*.bench.ts' - 'LICENSE' @@ -93,7 +93,7 @@ jobs: # - the PR author has permissions to trigger the workflow (must be part of the org or a collaborator) if: | github.event_name == 'pull_request' && - contains(env.PR_BODY, '/integration') && + contains(env.PR_BODY, '/integration') && ( github.event.pull_request.author_association == 'OWNER' || github.event.pull_request.author_association == 'MEMBER' || @@ -133,8 +133,8 @@ jobs: body: | 🔴 **CUSTOM ENGINE IS USED** - This PR is using custom engine: - + This PR is using custom engine: + Branch: [`${{ needs.build_custom_engine.outputs.branchName }}`](https://github.com/prisma/prisma-engines/tree/${{ needs.build_custom_engine.outputs.branchName }}) Commit: [`${{ needs.build_custom_engine.outputs.engineHash }}`](https://github.com/prisma/prisma-engines/commit/${{ needs.build_custom_engine.outputs.engineHash }}). diff --git a/.github/workflows/update-engines-version.yml b/.github/workflows/update-engines-version.yml index a7ce1008ef45..e0f67bf7d104 100644 --- a/.github/workflows/update-engines-version.yml +++ b/.github/workflows/update-engines-version.yml @@ -31,12 +31,12 @@ jobs: - uses: pnpm/action-setup@v4.0.0 with: - version: 8.15.5 + version: 9 - uses: actions/setup-node@v4 with: cache: 'pnpm' - node-version: '16' + node-version: '18' # This step uses `@prisma/ensure-npm-release` (abbv. `enr`) https://github.com/prisma/ensure-npm-release - name: Check if version of @prisma/engines-version is available on npm @@ -57,6 +57,12 @@ jobs: echo 'Checking that @prisma/query-engine-wasm have the published version @${{ github.event.inputs.version }}' pnpm --package=@prisma/ensure-npm-release dlx enr update -p @prisma/query-engine-wasm -u ${{ github.event.inputs.version }} + # Note: @prisma/query-compiler-wasm might take a few minutes before it's available too + - name: Check if version of @prisma/query-compiler-wasm is available on npm + run: | + echo 'Checking that @prisma/query-compiler-wasm have the published version @${{ github.event.inputs.version }}' + pnpm --package=@prisma/ensure-npm-release dlx enr update -p @prisma/query-compiler-wasm -u ${{ github.event.inputs.version }} + - name: Update the dependencies (@prisma/engines-version) uses: nick-fields/retry@v3 with: @@ -84,6 +90,15 @@ jobs: echo 'Updating @prisma/query-engine-wasm to ${{ github.event.inputs.version }} using pnpm' pnpm update -r @prisma/query-engine-wasm@${{ github.event.inputs.version }} + - name: Update the dependencies (@prisma/query-compiler-wasm) + uses: nick-fields/retry@v3 + with: + timeout_minutes: 7 + max_attempts: 3 + command: | + echo 'Updating @prisma/query-compiler-wasm to ${{ github.event.inputs.version }} using pnpm' + pnpm update -r @prisma/query-compiler-wasm@${{ github.event.inputs.version }} + - name: Extract Engine Commit hash from version id: extract-engine-commit-hash uses: actions/github-script@v7 @@ -120,6 +135,7 @@ jobs: |`@prisma/engines-version`| https://npmjs.com/package/@prisma/engines-version/v/${{ github.event.inputs.version }}| |`@prisma/prisma-schema-wasm`| https://npmjs.com/package/@prisma/prisma-schema-wasm/v/${{ github.event.inputs.version }}| |`@prisma/query-engine-wasm`| https://npmjs.com/package/@prisma/query-engine-wasm/v/${{ github.event.inputs.version }}| + |`@prisma/query-compiler-wasm`| https://npmjs.com/package/@prisma/query-compiler-wasm/v/${{ github.event.inputs.version }}| ## Engines commit [`prisma/prisma-engines@${{ steps.extract-engine-commit-hash.outputs.hash }}`](https://github.com/prisma/prisma-engines/commit/${{ steps.extract-engine-commit-hash.outputs.hash }}) - name: PR url @@ -166,6 +182,7 @@ jobs: |`@prisma/engines-version`| https://npmjs.com/package/@prisma/engines-version/v/${{ github.event.inputs.version }}| |`@prisma/prisma-schema-wasm`| https://npmjs.com/package/@prisma/prisma-schema-wasm/v/${{ github.event.inputs.version }}| |`@prisma/query-engine-wasm`| https://npmjs.com/package/@prisma/query-engine-wasm/v/${{ github.event.inputs.version }}| + |`@prisma/query-compiler-wasm`| https://npmjs.com/package/@prisma/query-compiler-wasm/v/${{ github.event.inputs.version }}| ## Engines commit [`prisma/prisma-engines@${{ steps.extract-engine-commit-hash.outputs.hash }}`](https://github.com/prisma/prisma-engines/commit/${{ steps.extract-engine-commit-hash.outputs.hash }}) - name: PR url @@ -208,6 +225,7 @@ jobs: |`@prisma/engines-version`| https://npmjs.com/package/@prisma/engines-version/v/${{ github.event.inputs.version }}| |`@prisma/prisma-schema-wasm`| https://npmjs.com/package/@prisma/prisma-schema-wasm/v/${{ github.event.inputs.version }}| |`@prisma/query-engine-wasm`| https://npmjs.com/package/@prisma/query-engine-wasm/v/${{ github.event.inputs.version }}| + |`@prisma/query-compiler-wasm`| https://npmjs.com/package/@prisma/query-compiler-wasm/v/${{ github.event.inputs.version }}| ## Engines commit [`prisma/prisma-engines@${{ steps.extract-engine-commit-hash.outputs.hash }}`](https://github.com/prisma/prisma-engines/commit/${{ steps.extract-engine-commit-hash.outputs.hash }}) - name: PR url diff --git a/.github/workflows/update-studio-version.yml b/.github/workflows/update-studio-version.yml index f5d27568289f..c43d6c75ba9c 100644 --- a/.github/workflows/update-studio-version.yml +++ b/.github/workflows/update-studio-version.yml @@ -17,12 +17,12 @@ jobs: - uses: pnpm/action-setup@v4.0.0 with: - version: 8.15.5 + version: 9 - uses: actions/setup-node@v4 with: cache: 'pnpm' - node-version: '16' + node-version: '18' # This step uses `@prisma/ensure-npm-release` (abbv. `enr`) https://github.com/prisma/ensure-npm-release - name: Check if version is available on npm diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6ceef0894077..5122b1e5cef3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ Welcome to the monorepo for our TypeScript code for the Prisma ORM. (for the Eng ## General Prerequisites -1. Install Node.js `>=16.13` minimum, [latest LTS is recommended](https://nodejs.org/en/about/releases/) +1. Install Node.js `>=18.18` minimum, [latest LTS is recommended](https://nodejs.org/en/about/releases/) - Recommended: use [`nvm`](https://github.com/nvm-sh/nvm) for managing Node.js versions @@ -25,7 +25,7 @@ Copy paste these commands to install the global dependencies: ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash nvm install 18 -npm install --global pnpm@8.15.5 ts-node +npm install --global pnpm@9 ts-node ``` ## General Setup @@ -93,33 +93,34 @@ To add breakpoints use either DevTools UI or add [`debugger`](https://developer.
Alternatives - - #### Detailed steps for a manually creating a locally-linked sandbox - ```sh - cd sandbox - mkdir my-repro - cd my-repro - pnpm init - pnpm add ../../packages/client - pnpm add -D ../../packages/cli - pnpm add -D typescript ts-node - pnpm add -D @types/node - touch index.ts - pnpm tsc --init - pnpm prisma init - # > Manually populate the schema.prisma - # > Manually add 👇 to the generator block - # output = "../node_modules/.prisma/client" - # > Manually populate the index.ts - pnpm prisma db push --skip-generate - pnpm prisma generate && pnpm ts-node index.ts # Try it out - ``` + +#### Detailed steps for a manually creating a locally-linked sandbox + +```sh +cd sandbox +mkdir my-repro +cd my-repro +pnpm init +pnpm add ../../packages/client +pnpm add -D ../../packages/cli +pnpm add -D typescript ts-node +pnpm add -D @types/node +touch index.ts +pnpm tsc --init +pnpm prisma init +# > Manually populate the schema.prisma +# > Manually add 👇 to the generator block +# output = "../node_modules/.prisma/client" +# > Manually populate the index.ts +pnpm prisma db push --skip-generate +pnpm prisma generate && pnpm ts-node index.ts # Try it out +``` #### Developing and working in the fixture folder ```sh cd packages/client -ts-node fixtures/generate.ts ./fixtures/blog/ --skip-transpile +ts-node fixtures/generate.ts ./fixtures/blog/ cd fixtures/blog npx prisma db push --skip-generate ts-node main.ts # Try it out diff --git a/README.md b/README.md index d56d096c00ee..b7c521af8eea 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ ## What is Prisma? -Prisma is a **next-generation ORM** that consists of these tools: +Prisma ORM is a **next-generation ORM** that consists of these tools: - [**Prisma Client**](https://www.prisma.io/docs/concepts/components/prisma-client): Auto-generated and type-safe query builder for Node.js & TypeScript - [**Prisma Migrate**](https://www.prisma.io/docs/concepts/components/prisma-migrate): Declarative data modeling & migration system @@ -35,23 +35,34 @@ Prisma is a **next-generation ORM** that consists of these tools: Prisma Client can be used in _any_ Node.js or TypeScript backend application (including serverless applications and microservices). This can be a [REST API](https://www.prisma.io/docs/concepts/overview/prisma-in-your-stack/rest), a [GraphQL API](https://www.prisma.io/docs/concepts/overview/prisma-in-your-stack/graphql), a gRPC API, or anything else that needs a database. -**The Prisma ORM can also further be extended with these Prisma products:** +If you need a database to use with Prisma ORM, check out [Prisma Postgres](https://www.prisma.io/docs/getting-started/quickstart-prismaPostgres?utm_source=github&utm_medium=org-readme). -- [Prisma Accelerate](https://prisma.io/docs/data-platform/accelerate/what-is-accelerate?utm_source=github&utm_medium=prisma-readme): Global database cache with scalable connection pooling -- [Prisma Pulse](https://www.prisma.io/docs/data-platform/pulse/what-is-pulse?utm_source=github&utm_medium=prisma-readme): Real-time database events with type-safe subscriptions +**Prisma ORM can further be extended with these Prisma products:** + +- [Prisma Accelerate](https://prisma.io/docs/data-platform/accelerate?utm_source=github&utm_medium=prisma-readme): Global database cache with scalable connection pooling +- [Prisma Pulse](https://www.prisma.io/docs/data-platform/pulse?utm_source=github&utm_medium=prisma-readme): Real-time database events with type-safe subscriptions +- [Prisma Optimize](https://www.prisma.io/docs/optimize?utm_source=github&utm_medium=prisma-readme): AI-powered query optimization and performance insights +- [Prisma Studio](https://www.prisma.io/docs/orm/tools/prisma-studio?utm_source=github&utm_medium=org-readme): A visual editor for the data in your database ## Getting started -The fastest way to get started with Prisma is by following the [**Quickstart (5 min)**](https://pris.ly/quickstart). +### Quickstart (5min) + +The fastest way to get started with Prisma is by following the quickstart guides. You can choose either of two databases: + +- [Prisma Postgres](https://www.prisma.io/docs/getting-started/quickstart-prismaPostgres) +- [SQLite](https://www.prisma.io/docs/getting-started/quickstart-sqlite) + +### Bring your own database -The Quickstart is based on a preconfigured SQLite database. You can also get started with your own database (PostgreSQL and MySQL) by following one of these guides: +If you already have your own database, you can follows these guides: - [Add Prisma to an existing project](https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql) - [Set up a new project with Prisma from scratch](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql) -## How Prisma works +## How Prisma ORM works -This section provides a high-level overview of how Prisma works and its most important technical components. For a more thorough introduction, visit the [Prisma documentation](https://www.prisma.io/docs/). +This section provides a high-level overview of how Prisma ORM works and its most important technical components. For a more thorough introduction, visit the [Prisma documentation](https://www.prisma.io/docs/). ### The Prisma schema @@ -223,6 +234,20 @@ Note that when using TypeScript, the result of this query will be _statically ty Prisma has a large and supportive [community](https://www.prisma.io/community) of enthusiastic application developers. You can join us on [Discord](https://pris.ly/discord) and here on [GitHub](https://github.com/prisma/prisma/discussions). +## Badges + +[![Made with Prisma](http://made-with.prisma.io/dark.svg)](https://prisma.io) [![Made with Prisma](http://made-with.prisma.io/indigo.svg)](https://prisma.io) + +Built something awesome with Prisma? 🌟 Show it off with these [badges](https://github.com/prisma/presskit?tab=readme-ov-file#badges), perfect for your readme or website. + +``` +[![Made with Prisma](http://made-with.prisma.io/dark.svg)](https://prisma.io) +``` + +``` +[![Made with Prisma](http://made-with.prisma.io/indigo.svg)](https://prisma.io) +``` + ## Security If you have a security issue to report, please contact us at [security@prisma.io](mailto:security@prisma.io?subject=[GitHub]%20Prisma%202%20Security%20Report%20). diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 04d4f2807fde..0104bbdb6898 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -73,7 +73,7 @@ services: # Planetscale # From https://github.com/prisma/prisma-engines/blob/976a00ae3c30ab9507fa742986c9c6f5327ba10f/docker-compose.yml vitess-8: - image: vitess/vttestserver:mysql80@sha256:f7d1318c00e4a3a3d299db7f5981c643203c3f02f55bb827130f0ba47d65366b + image: vitess/vttestserver:mysql80@sha256:22c9945888fd6d5b192072895db91a1c0357f6ed932993d04689c716cf828bb2 restart: unless-stopped ports: - 33807:33807 @@ -92,7 +92,7 @@ services: retries: 20 mysql: - image: mysql:8.0 + image: mysql:9.0 command: --lower_case_table_names=1 restart: unless-stopped environment: @@ -109,7 +109,7 @@ services: retries: 20 mysql_isolated: - image: mysql:8.0 + image: mysql:9.0 command: --lower_case_table_names=1 restart: unless-stopped environment: @@ -150,7 +150,7 @@ services: ports: - '1433:1433' healthcheck: - test: ['CMD', '/opt/mssql-tools/bin/sqlcmd', '-Usa', '-PPr1sm4_Pr1sm4', '-Q', 'select 1'] + test: ['CMD', '/opt/mssql-tools18/bin/sqlcmd', '-C', '-Usa', '-PPr1sm4_Pr1sm4', '-Q', 'select 1'] interval: 5s timeout: 2s retries: 20 diff --git a/docker/planetscale_proxy/Dockerfile b/docker/planetscale_proxy/Dockerfile index 6fa3706fd64b..bbefe7169659 100644 --- a/docker/planetscale_proxy/Dockerfile +++ b/docker/planetscale_proxy/Dockerfile @@ -1,17 +1,14 @@ -FROM golang:1 +FROM ghcr.io/mattrobenolt/ps-http-sim:v0.0.9 AS planetscale-proxy -RUN apt update && apt install netcat-openbsd -y +# ps-http-sim provides a barebones image with nothing but the static binary +# but we also rely on netcat being present. Alpine provides it as part of busybox. +FROM alpine:latest -# planetscale-proxy below is the name of our git repository -# forked from https://github.com/mattrobenolt/ps-http-sim -RUN cd /go/src && git clone https://github.com/prisma/planetscale-proxy.git -RUN cd /go/src/planetscale-proxy && go install . +COPY --from=planetscale-proxy /ps-http-sim /ps-http-sim -# ps-http-sim is the original repository name -# and the go module name needed to start the service -ENTRYPOINT /go/bin/ps-http-sim \ - -http-addr=0.0.0.0 \ - -http-port=8085 \ +ENTRYPOINT /ps-http-sim \ + -listen-addr=0.0.0.0 \ + -listen-port=8085 \ -mysql-addr=$MYSQL_HOST \ -mysql-port=$MYSQL_PORT \ -mysql-idle-timeout=1200s \ diff --git a/helpers/compile/build.ts b/helpers/compile/build.ts index bb8538cc5c7e..c34fb42e8f6d 100644 --- a/helpers/compile/build.ts +++ b/helpers/compile/build.ts @@ -28,7 +28,7 @@ export type BuildOptions = esbuild.BuildOptions & { const DEFAULT_BUILD_OPTIONS = { platform: 'node', - target: 'ES2020', + target: 'ES2021', logLevel: 'error', tsconfig: 'tsconfig.build.json', metafile: true, diff --git a/package.json b/package.json index 581f41b6a007..5a78427016e0 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "triggerEmptyDevReleaseByIncrementingThisNumber": 0, "license": "Apache-2.0", "engines": { - "node": ">=16.13", - "pnpm": ">=8.6.7 <9" + "node": ">=18.18", + "pnpm": ">=9.14.4 <10" }, "scripts": { "build": "pnpm -r build", @@ -30,51 +30,51 @@ "bundle-size": "pnpm i && pnpm -r dev && pnpm -r --parallel exec pnpm pack && cd packages/bundle-size && pnpm run create-gzip-files" }, "devDependencies": { - "@eslint/compat": "1.0.3", + "@eslint/compat": "1.2.5", "@eslint/eslintrc": "3.1.0", - "@eslint/js": "9.4.0", - "@microsoft/api-extractor": "7.47.0", + "@eslint/js": "9.5.0", + "@microsoft/api-extractor": "7.48.1", "@prisma/engines": "workspace:*", "@sindresorhus/slugify": "1.1.2", "@size-limit/file": "9.0.0", - "@slack/webhook": "7.0.2", + "@slack/webhook": "7.0.4", "@types/benchmark": "2.1.5", "@types/fs-extra": "9.0.13", "@types/graphviz": "0.0.39", - "@types/jest": "29.5.12", + "@types/jest": "29.5.14", "@types/node": "20.12.7", "@types/redis": "2.8.32", "@types/resolve": "1.20.6", - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/parser": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/eslint-plugin": "7.15.0", + "@typescript-eslint/parser": "7.15.0", + "@typescript-eslint/utils": "7.15.0", "arg": "5.0.2", "batching-toposort": "1.2.0", "buffer": "6.0.3", "chokidar": "3.6.0", "decimal.js-light": "2.5.1", - "dotenv-cli": "7.4.2", - "esbuild": "0.21.4", - "esbuild-register": "3.5.0", - "eslint": "9.4.0", + "dotenv-cli": "7.4.4", + "esbuild": "0.24.2", + "esbuild-register": "3.6.0", + "eslint": "9.5.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "28.5.0", + "eslint-plugin-jest": "28.10.0", "eslint-plugin-local-rules": "2.0.1", "eslint-plugin-prettier": "4.2.1", - "eslint-plugin-simple-import-sort": "12.1.0", + "eslint-plugin-simple-import-sort": "12.1.1", "execa": "5.1.1", "format-util": "1.0.5", "fs-extra": "11.1.1", - "globals": "15.4.0", + "globals": "15.13.0", "globby": "11.1.0", "graphviz-mit": "0.0.9", - "husky": "9.0.11", - "is-ci": "3.0.1", + "husky": "9.1.7", + "is-ci": "4.1.0", "jest-junit": "16.0.0", "kleur": "4.1.5", - "lint-staged": "15.2.5", + "lint-staged": "15.2.10", "p-map": "4.0.0", "p-reduce": "2.1.0", "p-retry": "4.6.2", @@ -82,16 +82,16 @@ "redis": "3.1.2", "redis-lock": "0.1.4", "regenerator-runtime": "0.14.1", - "resolve": "1.22.8", + "resolve": "1.22.10", "safe-buffer": "5.2.1", - "semver": "7.6.2", + "semver": "7.6.3", "size-limit": "9.0.0", "spdx-exceptions": "2.5.0", - "spdx-license-ids": "3.0.18", + "spdx-license-ids": "3.0.21", "staged-git-files": "1.3.0", "ts-node": "10.9.2", "ts-toolbelt": "9.6.0", - "tsx": "4.15.1", + "tsx": "4.15.6", "typescript": "5.4.5", "zx": "7.2.3" }, @@ -103,9 +103,9 @@ } }, "lint-staged": { - "*.{md,yml,json}": "prettier --write", + "*.{md,yml,json}": "prettier --check", "*.{js,ts}": [ - "eslint --fix" + "eslint" ] }, "size-limit": [ diff --git a/packages/adapter-d1/package.json b/packages/adapter-d1/package.json index 977692044671..fc46864ae282 100644 --- a/packages/adapter-d1/package.json +++ b/packages/adapter-d1/package.json @@ -39,7 +39,7 @@ "sideEffects": false, "dependencies": { "@prisma/driver-adapter-utils": "workspace:*", - "@cloudflare/workers-types": "4.20240605.0" + "@cloudflare/workers-types": "4.20240614.0" }, "devDependencies": {}, "peerDependencies": {} diff --git a/packages/adapter-d1/src/conversion.ts b/packages/adapter-d1/src/conversion.ts index c9a10931e3b6..efcd6606c5ac 100644 --- a/packages/adapter-d1/src/conversion.ts +++ b/packages/adapter-d1/src/conversion.ts @@ -8,17 +8,29 @@ export function getColumnTypes(columnNames: string[], rows: unknown[][]): Column const columnTypes: (ColumnType | null)[] = [] columnLoop: for (let columnIndex = 0; columnIndex < columnNames.length; columnIndex++) { - // No declared column type in db schema, infer using first non-null value + // No declared column type in db schema, try inferring it. for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) { const candidateValue = rows[rowIndex][columnIndex] as Value if (candidateValue !== null) { - columnTypes[columnIndex] = inferColumnType(candidateValue) - continue columnLoop + const inferred = inferColumnType(candidateValue) + // JSON values that represent plain numbers are returned as JS numbers by D1. + // This can cause issues if different rows have differently shaped JSON, leading to + // different inferred types for the same column. To avoid this, we set the column + // type to text if any row contains a text value. + if (columnTypes[columnIndex] === undefined || inferred === ColumnTypeEnum.Text) { + columnTypes[columnIndex] = inferred + } + if (inferred !== ColumnTypeEnum.UnknownNumber) { + // We can move on to the next column if we found a non-number. + continue columnLoop + } } } - // No non-null value found for this column, fall back to int32 to mimic what quaint does - columnTypes[columnIndex] = ColumnTypeEnum.Int32 + if (columnTypes[columnIndex] === undefined) { + // No non-null value found for this column, fall back to int32 to mimic what quaint does + columnTypes[columnIndex] = ColumnTypeEnum.Int32 + } } return columnTypes as ColumnType[] @@ -54,7 +66,7 @@ function inferColumnType(value: NonNullable): ColumnType { // See https://stackoverflow.com/a/3143231/1345244 const isoDateRegex = new RegExp( - /(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/, + /^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/, ) // SQLITE date format, returned by built-in time functions. See https://www.sqlite.org/lang_datefunc.html @@ -73,7 +85,7 @@ function inferStringType(value: string): ColumnType { } function inferNumberType(_: number): ColumnType { - return ColumnTypeEnum.Double + return ColumnTypeEnum.UnknownNumber } function inferObjectType(value: Object): ColumnType { @@ -110,6 +122,11 @@ export function mapRow(result: unknown[], columnTypes: ColumnType[]): unknown[] continue } + if (typeof value === 'number' && columnTypes[i] === ColumnTypeEnum.Text) { + result[i] = value.toString() + continue + } + if (typeof value === 'bigint') { result[i] = value.toString() continue diff --git a/packages/adapter-d1/src/d1.ts b/packages/adapter-d1/src/d1.ts index 1ee348379755..47e557793bf9 100644 --- a/packages/adapter-d1/src/d1.ts +++ b/packages/adapter-d1/src/d1.ts @@ -1,4 +1,6 @@ -import { D1Database, D1Response } from '@cloudflare/workers-types' +/* eslint-disable @typescript-eslint/require-await */ + +import type { D1Database, D1Response } from '@cloudflare/workers-types' import { ConnectionInfo, Debug, @@ -10,6 +12,7 @@ import { Result, ResultSet, Transaction, + TransactionContext, TransactionOptions, } from '@prisma/driver-adapter-utils' import { blue, cyan, red, yellow } from 'kleur/colors' @@ -86,7 +89,7 @@ class D1Queryable implements Queryable { private async performIO(query: Query, executeRaw = false): Promise> { try { - query.args = query.args.map((arg) => cleanArg(arg)) + query.args = query.args.map((arg, i) => cleanArg(arg, query.argTypes[i])) const stmt = this.client.prepare(query.sql).bind(...query.args) @@ -114,14 +117,12 @@ class D1Transaction extends D1Queryable implements Transaction { super(client) } - // eslint-disable-next-line @typescript-eslint/require-await async commit(): Promise> { debug(`[js::commit]`) return ok(undefined) } - // eslint-disable-next-line @typescript-eslint/require-await async rollback(): Promise> { debug(`[js::rollback]`) @@ -129,6 +130,24 @@ class D1Transaction extends D1Queryable implements Transaction { } } +class D1TransactionContext extends D1Queryable implements TransactionContext { + constructor(readonly client: StdClient) { + super(client) + } + + async startTransaction(): Promise> { + const options: TransactionOptions = { + // TODO: D1 does not have a Transaction API. + usePhantomQuery: true, + } + + const tag = '[js::startTransaction]' + debug('%s options: %O', tag, options) + + return ok(new D1Transaction(this.client, options)) + } +} + export class PrismaD1 extends D1Queryable implements DriverAdapter { readonly tags = { error: red('prisma:error'), @@ -166,21 +185,12 @@ export class PrismaD1 extends D1Queryable implements DriverAdapter { }) } - // eslint-disable-next-line @typescript-eslint/require-await - async startTransaction(): Promise> { - const options: TransactionOptions = { - // TODO: D1 does not have a Transaction API. - usePhantomQuery: true, - } - - const tag = '[js::startTransaction]' - debug(`${tag} options: %O`, options) - + async transactionContext(): Promise> { this.warnOnce( 'D1 Transaction', "Cloudflare D1 does not support transactions yet. When using Prisma's D1 adapter, implicit & explicit transactions will be ignored and run as individual queries, which breaks the guarantees of the ACID properties of transactions. For more details see https://pris.ly/d/d1-transactions", ) - return ok(new D1Transaction(this.client, options)) + return ok(new D1TransactionContext(this.client)) } } diff --git a/packages/adapter-d1/src/utils.ts b/packages/adapter-d1/src/utils.ts index 3f4ac09e7a30..0aaaf5bf2147 100644 --- a/packages/adapter-d1/src/utils.ts +++ b/packages/adapter-d1/src/utils.ts @@ -1,20 +1,38 @@ -export function cleanArg(arg: unknown): unknown { - // * Hack for booleans, we must convert them to 0/1. - // * ✘ [ERROR] Error in performIO: Error: D1_TYPE_ERROR: Type 'boolean' not supported for value 'true' - if (arg === true) { - return 1 - } +import type { ArgType } from '@prisma/driver-adapter-utils' - if (arg === false) { - return 0 - } +// Sanitize the query arguments before sending them to the database. +export function cleanArg(arg: unknown, argType: ArgType): unknown { + if (arg !== null) { + if (argType === 'Int64') { + const asInt56 = Number.parseInt(arg as string) + if (!Number.isSafeInteger(asInt56)) { + throw new Error(`Invalid Int64-encoded value received: ${arg}`) + } - if (arg instanceof Uint8Array) { - return Array.from(arg) - } + return asInt56 + } + + if (argType === 'Int32') { + return Number.parseInt(arg as string) + } + + if (argType === 'Float' || argType === 'Double') { + return Number.parseFloat(arg as string) + } + + // * Hack for booleans, we must convert them to 0/1. + // * ✘ [ERROR] Error in performIO: Error: D1_TYPE_ERROR: Type 'boolean' not supported for value 'true' + if (arg === true) { + return 1 + } + + if (arg === false) { + return 0 + } - if (typeof arg === 'bigint') { - return String(arg) + if (arg instanceof Uint8Array) { + return Array.from(arg) + } } return arg diff --git a/packages/adapter-libsql/package.json b/packages/adapter-libsql/package.json index 0fb81be63458..8e491e5abb66 100644 --- a/packages/adapter-libsql/package.json +++ b/packages/adapter-libsql/package.json @@ -39,9 +39,9 @@ "async-mutex": "0.5.0" }, "devDependencies": { - "@libsql/client": "0.6.2" + "@libsql/client": "0.8.0" }, "peerDependencies": { - "@libsql/client": "^0.3.5 || ^0.4.0 || ^0.5.0 || ^0.6.0" + "@libsql/client": "^0.3.5 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 || ^0.8.0" } } diff --git a/packages/adapter-libsql/src/conversion.ts b/packages/adapter-libsql/src/conversion.ts index 2c7c4642b6ea..fd90ff8d70ea 100644 --- a/packages/adapter-libsql/src/conversion.ts +++ b/packages/adapter-libsql/src/conversion.ts @@ -49,15 +49,17 @@ function mapDeclType(declType: string): ColumnType | null { return ColumnTypeEnum.Bytes case 'BOOLEAN': return ColumnTypeEnum.Boolean + case 'JSONB': + return ColumnTypeEnum.Json default: debug('unknown decltype:', declType) return null } } -function mapDeclaredColumnTypes(columntTypes: string[]): [out: Array, empty: Set] { +function mapDeclaredColumnTypes(columnTypes: string[]): [out: Array, empty: Set] { const emptyIndices = new Set() - const result = columntTypes.map((typeName, index) => { + const result = columnTypes.map((typeName, index) => { const mappedType = mapDeclType(typeName) if (mappedType === null) { emptyIndices.add(index) diff --git a/packages/adapter-libsql/src/libsql.ts b/packages/adapter-libsql/src/libsql.ts index 1be41f855ae4..ec172c82ab07 100644 --- a/packages/adapter-libsql/src/libsql.ts +++ b/packages/adapter-libsql/src/libsql.ts @@ -11,6 +11,7 @@ import type { Result, ResultSet, Transaction, + TransactionContext, TransactionOptions, } from '@prisma/driver-adapter-utils' import { Debug, err, ok } from '@prisma/driver-adapter-utils' @@ -126,8 +127,8 @@ class LibSqlTransaction extends LibSqlQueryable implements Tr } } -export class PrismaLibSQL extends LibSqlQueryable implements DriverAdapter { - constructor(client: StdClient) { +class LibSqlTransactionContext extends LibSqlQueryable implements TransactionContext { + constructor(readonly client: StdClient, readonly release: () => void) { super(client) } @@ -137,18 +138,27 @@ export class PrismaLibSQL extends LibSqlQueryable implements DriverAd } const tag = '[js::startTransaction]' - debug(`${tag} options: %O`, options) - - const release = await this[LOCK_TAG].acquire() + debug('%s options: %O', tag, options) try { const tx = await this.client.transaction('deferred') - return ok(new LibSqlTransaction(tx, options, release)) + return ok(new LibSqlTransaction(tx, options, this.release)) } catch (e) { // note: we only release the lock if creating the transaction fails, it must stay locked otherwise, // hence `catch` and rethrowing the error and not `finally`. - release() + this.release() throw e } } } + +export class PrismaLibSQL extends LibSqlQueryable implements DriverAdapter { + constructor(client: StdClient) { + super(client) + } + + async transactionContext(): Promise> { + const release = await this[LOCK_TAG].acquire() + return ok(new LibSqlTransactionContext(this.client, release)) + } +} diff --git a/packages/adapter-neon/package.json b/packages/adapter-neon/package.json index 8cf95c8fdf76..854be09bb917 100644 --- a/packages/adapter-neon/package.json +++ b/packages/adapter-neon/package.json @@ -40,13 +40,13 @@ "postgres-array": "3.0.2" }, "devDependencies": { - "@neondatabase/serverless": "0.9.3", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", + "@neondatabase/serverless": "0.10.2", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", "jest": "29.7.0", "jest-junit": "16.0.0" }, "peerDependencies": { - "@neondatabase/serverless": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0" + "@neondatabase/serverless": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0" } } diff --git a/packages/adapter-neon/src/conversion.ts b/packages/adapter-neon/src/conversion.ts index ac3003b2a07b..84aba7aa6a11 100644 --- a/packages/adapter-neon/src/conversion.ts +++ b/packages/adapter-neon/src/conversion.ts @@ -321,6 +321,13 @@ function normalize_money(money: string): string { return money.slice(1) } +/******************/ +/* XML handling */ +/******************/ +function normalize_xml(xml: string): string { + return xml +} + /*****************/ /* JSON handling */ /*****************/ @@ -401,6 +408,7 @@ export const customParsers = { [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray, [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit), [ArrayColumnType.VARBIT_ARRAY]: normalize_array(normalizeBit), + [ArrayColumnType.XML_ARRAY]: normalize_array(normalize_xml), } // https://github.com/brianc/node-postgres/pull/2930 diff --git a/packages/adapter-neon/src/neon.ts b/packages/adapter-neon/src/neon.ts index a677936678aa..6df1a01055d6 100644 --- a/packages/adapter-neon/src/neon.ts +++ b/packages/adapter-neon/src/neon.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/require-await */ + import * as neon from '@neondatabase/serverless' import type { ColumnType, @@ -9,9 +10,11 @@ import type { Result, ResultSet, Transaction, + TransactionContext, TransactionOptions, } from '@prisma/driver-adapter-utils' import { Debug, err, ok } from '@prisma/driver-adapter-utils' + import { name as packageName } from '../package.json' import { customParsers, fieldToColumnType, fixArrayBufferValues, UnsupportedNativeDataType } from './conversion' @@ -166,6 +169,23 @@ class NeonTransaction extends NeonWsQueryable implements Transa } } +class NeonTransactionContext extends NeonWsQueryable implements TransactionContext { + constructor(readonly conn: neon.PoolClient) { + super(conn) + } + + async startTransaction(): Promise> { + const options: TransactionOptions = { + usePhantomQuery: false, + } + + const tag = '[js::startTransaction]' + debug('%s options: %O', tag, options) + + return ok(new NeonTransaction(this.conn, options)) + } +} + export type PrismaNeonOptions = { schema?: string } @@ -190,16 +210,9 @@ const adapter = new PrismaNeon(pool) }) } - async startTransaction(): Promise> { - const options: TransactionOptions = { - usePhantomQuery: false, - } - - const tag = '[js::startTransaction]' - debug(`${tag} options: %O`, options) - - const connection = await this.client.connect() - return ok(new NeonTransaction(connection, options)) + async transactionContext(): Promise> { + const conn = await this.client.connect() + return ok(new NeonTransactionContext(conn)) } async close() { @@ -222,11 +235,26 @@ export class PrismaNeonHTTP extends NeonQueryable implements DriverAdapter { await this.client(sql, values, { arrayMode: true, fullResults: true, - }), + // pass type parsers to neon() HTTP client, same as in WS client above + // + // requires @neondatabase/serverless >= 0.9.5 + // - types option added in https://github.com/neondatabase/serverless/pull/92 + types: { + getTypeParser: (oid: number, format?) => { + if (format === 'text' && customParsers[oid]) { + return customParsers[oid] + } + + return neon.types.getTypeParser(oid, format) + }, + }, + // type `as` cast required until neon types are corrected: + // https://github.com/neondatabase/serverless/pull/110#issuecomment-2458992991 + } as neon.HTTPQueryOptions), ) } - startTransaction(): Promise> { + transactionContext(): Promise> { return Promise.reject(new Error('Transactions are not supported in HTTP mode')) } } diff --git a/packages/adapter-pg-worker/package.json b/packages/adapter-pg-worker/package.json index 65ab485d97a8..beb8f83df1c3 100644 --- a/packages/adapter-pg-worker/package.json +++ b/packages/adapter-pg-worker/package.json @@ -41,12 +41,12 @@ }, "devDependencies": { "@prisma/pg-worker": "workspace:*", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", "jest": "29.7.0", "jest-junit": "16.0.0" }, "peerDependencies": { - "@prisma/pg-worker": "^5.11.0" + "@prisma/pg-worker": "^6.0.0" } } diff --git a/packages/adapter-pg-worker/src/conversion.ts b/packages/adapter-pg-worker/src/conversion.ts index ffea33d4d8e9..8efa7df6d1ab 100644 --- a/packages/adapter-pg-worker/src/conversion.ts +++ b/packages/adapter-pg-worker/src/conversion.ts @@ -1,9 +1,9 @@ +import { type ColumnType, ColumnTypeEnum } from '@prisma/driver-adapter-utils' import * as pg from '@prisma/pg-worker' import { parse as parseArray } from 'postgres-array' const { types } = pg const { builtins: ScalarColumnType, getTypeParser } = types -import { type ColumnType, ColumnTypeEnum } from '@prisma/driver-adapter-utils' /** * PostgreSQL array column types (not defined in ScalarColumnType). @@ -322,6 +322,13 @@ function normalize_money(money: string): string { return money.slice(1) } +/******************/ +/* XML handling */ +/******************/ +function normalize_xml(xml: string): string { + return xml +} + /*****************/ /* JSON handling */ /*****************/ @@ -402,6 +409,7 @@ export const customParsers = { [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray, [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit), [ArrayColumnType.VARBIT_ARRAY]: normalize_array(normalizeBit), + [ArrayColumnType.XML_ARRAY]: normalize_array(normalize_xml), } // https://github.com/brianc/node-postgres/pull/2930 diff --git a/packages/adapter-pg-worker/src/pg.ts b/packages/adapter-pg-worker/src/pg.ts index 3c4658d30996..49ea314cad33 100644 --- a/packages/adapter-pg-worker/src/pg.ts +++ b/packages/adapter-pg-worker/src/pg.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/require-await */ + import type { ColumnType, ConnectionInfo, @@ -8,10 +9,12 @@ import type { Result, ResultSet, Transaction, + TransactionContext, TransactionOptions, } from '@prisma/driver-adapter-utils' import { Debug, err, ok } from '@prisma/driver-adapter-utils' import * as pg from '@prisma/pg-worker' + import { name as packageName } from '../package.json' import { customParsers, fieldToColumnType, fixArrayBufferValues, UnsupportedNativeDataType } from './conversion' @@ -21,7 +24,6 @@ const debug = Debug('prisma:driver-adapter:pg') type StdClient = pg.Pool type TransactionClient = pg.PoolClient -// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents class PgQueryable implements Queryable { readonly provider = 'postgres' readonly adapterName = packageName @@ -156,6 +158,23 @@ class PgTransaction extends PgQueryable implements Transactio } } +class PgTransactionContext extends PgQueryable implements TransactionContext { + constructor(readonly conn: pg.PoolClient) { + super(conn) + } + + async startTransaction(): Promise> { + const options: TransactionOptions = { + usePhantomQuery: false, + } + + const tag = '[js::startTransaction]' + debug('%s options: %O', tag, options) + + return ok(new PgTransaction(this.conn, options)) + } +} + export type PrismaPgOptions = { schema?: string } @@ -178,15 +197,8 @@ const adapter = new PrismaPg(pool) }) } - async startTransaction(): Promise> { - const options: TransactionOptions = { - usePhantomQuery: false, - } - - const tag = '[js::startTransaction]' - debug(`${tag} options: %O`, options) - - const connection = await this.client.connect() - return ok(new PgTransaction(connection, options)) + async transactionContext(): Promise> { + const conn = await this.client.connect() + return ok(new PgTransactionContext(conn)) } } diff --git a/packages/adapter-pg/package.json b/packages/adapter-pg/package.json index d032dbbef83b..170ebcf7048a 100644 --- a/packages/adapter-pg/package.json +++ b/packages/adapter-pg/package.json @@ -40,8 +40,8 @@ "postgres-array": "3.0.2" }, "devDependencies": { - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", "@types/pg": "8.11.6", "jest": "29.7.0", "jest-junit": "16.0.0", diff --git a/packages/adapter-pg/src/conversion.ts b/packages/adapter-pg/src/conversion.ts index 8f5c0aa4181f..a6fbfdd1d1e4 100644 --- a/packages/adapter-pg/src/conversion.ts +++ b/packages/adapter-pg/src/conversion.ts @@ -1,10 +1,10 @@ // @ts-ignore: this is used to avoid the `Module '"/node_modules/@types/pg/index"' has no default export.` error. +import { type ColumnType, ColumnTypeEnum } from '@prisma/driver-adapter-utils' import pg from 'pg' import { parse as parseArray } from 'postgres-array' const { types } = pg const { builtins: ScalarColumnType, getTypeParser } = types -import { type ColumnType, ColumnTypeEnum } from '@prisma/driver-adapter-utils' /** * PostgreSQL array column types (not defined in ScalarColumnType). @@ -323,6 +323,13 @@ function normalize_money(money: string): string { return money.slice(1) } +/******************/ +/* XML handling */ +/******************/ +function normalize_xml(xml: string): string { + return xml +} + /*****************/ /* JSON handling */ /*****************/ @@ -403,6 +410,7 @@ export const customParsers = { [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray, [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit), [ArrayColumnType.VARBIT_ARRAY]: normalize_array(normalizeBit), + [ArrayColumnType.XML_ARRAY]: normalize_array(normalize_xml), } // https://github.com/brianc/node-postgres/pull/2930 diff --git a/packages/adapter-pg/src/pg.ts b/packages/adapter-pg/src/pg.ts index 02a626399220..2244de70b769 100644 --- a/packages/adapter-pg/src/pg.ts +++ b/packages/adapter-pg/src/pg.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/require-await */ + import type { ColumnType, ConnectionInfo, @@ -8,23 +9,23 @@ import type { Result, ResultSet, Transaction, + TransactionContext, TransactionOptions, } from '@prisma/driver-adapter-utils' import { Debug, err, ok } from '@prisma/driver-adapter-utils' // @ts-ignore: this is used to avoid the `Module '"/node_modules/@types/pg/index"' has no default export.` error. import pg from 'pg' -const types = pg.types - import { name as packageName } from '../package.json' -import { fieldToColumnType, fixArrayBufferValues, UnsupportedNativeDataType, customParsers } from './conversion' +import { customParsers, fieldToColumnType, fixArrayBufferValues, UnsupportedNativeDataType } from './conversion' + +const types = pg.types const debug = Debug('prisma:driver-adapter:pg') type StdClient = pg.Pool type TransactionClient = pg.PoolClient -// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents class PgQueryable implements Queryable { readonly provider = 'postgres' readonly adapterName = packageName @@ -159,6 +160,23 @@ class PgTransaction extends PgQueryable implements Transactio } } +class PgTransactionContext extends PgQueryable implements TransactionContext { + constructor(readonly conn: pg.PoolClient) { + super(conn) + } + + async startTransaction(): Promise> { + const options: TransactionOptions = { + usePhantomQuery: false, + } + + const tag = '[js::startTransaction]' + debug('%s options: %O', tag, options) + + return ok(new PgTransaction(this.conn, options)) + } +} + export type PrismaPgOptions = { schema?: string } @@ -181,15 +199,8 @@ const adapter = new PrismaPg(pool) }) } - async startTransaction(): Promise> { - const options: TransactionOptions = { - usePhantomQuery: false, - } - - const tag = '[js::startTransaction]' - debug(`${tag} options: %O`, options) - - const connection = await this.client.connect() - return ok(new PgTransaction(connection, options)) + async transactionContext(): Promise> { + const conn = await this.client.connect() + return ok(new PgTransactionContext(conn)) } } diff --git a/packages/adapter-planetscale/package.json b/packages/adapter-planetscale/package.json index 66237f092929..fe214d255058 100644 --- a/packages/adapter-planetscale/package.json +++ b/packages/adapter-planetscale/package.json @@ -40,11 +40,11 @@ }, "devDependencies": { "@planetscale/database": "1.18.0", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", "jest": "29.7.0", "jest-junit": "16.0.0", - "undici": "5.28.4" + "undici": "7.2.3" }, "peerDependencies": { "@planetscale/database": "^1.15.0" diff --git a/packages/adapter-planetscale/src/conversion.ts b/packages/adapter-planetscale/src/conversion.ts index 69087b3f46a3..8310ade3b32f 100644 --- a/packages/adapter-planetscale/src/conversion.ts +++ b/packages/adapter-planetscale/src/conversion.ts @@ -1,6 +1,8 @@ import { cast as defaultCast } from '@planetscale/database' import { type ColumnType, ColumnTypeEnum } from '@prisma/driver-adapter-utils' +import { decodeUtf8 } from './text' + // See: https://github.com/planetscale/vitess-types/blob/06235e372d2050b4c0fff49972df8111e696c564/src/vitess/query/v16/query.proto#L108-L218 export type PlanetScaleColumnType = | 'NULL' @@ -99,7 +101,7 @@ export function fieldToColumnType(field: PlanetScaleColumnType): ColumnType { export const cast: typeof defaultCast = (field, value) => { if (field.type === 'JSON') { - return value + return typeof value === 'string' && value.length ? decodeUtf8(value) : value } const defaultValue = defaultCast(field, value) diff --git a/packages/adapter-planetscale/src/planetscale.ts b/packages/adapter-planetscale/src/planetscale.ts index 2fd0489b14cd..29a0dddb0a4a 100644 --- a/packages/adapter-planetscale/src/planetscale.ts +++ b/packages/adapter-planetscale/src/planetscale.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/require-await */ + // default import does not work correctly for JS values inside, // i.e. client import * as planetScale from '@planetscale/database' @@ -10,6 +11,7 @@ import type { Result, ResultSet, Transaction, + TransactionContext, TransactionOptions, } from '@prisma/driver-adapter-utils' import { Debug, err, ok } from '@prisma/driver-adapter-utils' @@ -31,7 +33,9 @@ class RollbackError extends Error { } } -class PlanetScaleQueryable implements Queryable { +class PlanetScaleQueryable + implements Queryable +{ readonly provider = 'mysql' readonly adapterName = packageName @@ -131,37 +135,20 @@ class PlanetScaleTransaction extends PlanetScaleQueryable> { debug(`[js::rollback]`) this.txDeferred.reject(new RollbackError()) - return Promise.resolve(ok(await this.txResultPromise)) + return ok(await this.txResultPromise) } } -export class PrismaPlanetScale extends PlanetScaleQueryable implements DriverAdapter { - constructor(client: planetScale.Client) { - // this used to be a check for constructor name at same point (more reliable when having multiple copies - // of @planetscale/database), but that did not work with minifiers, so we reverted back to `instanceof` - if (!(client instanceof planetScale.Client)) { - throw new TypeError(`PrismaPlanetScale must be initialized with an instance of Client: -import { Client } from '@planetscale/database' -const client = new Client({ url }) -const adapter = new PrismaPlanetScale(client) -`) - } - super(client) - } - - getConnectionInfo(): Result { - const url = this.client.connection()['url'] as string - const dbName = new URL(url).pathname.slice(1) /* slice out forward slash */ - return ok({ - schemaName: dbName, - }) +class PlanetScaleTransactionContext extends PlanetScaleQueryable implements TransactionContext { + constructor(private conn: planetScale.Connection) { + super(conn) } async startTransaction() { @@ -170,10 +157,10 @@ const adapter = new PrismaPlanetScale(client) } const tag = '[js::startTransaction]' - debug(`${tag} options: %O`, options) + debug('%s options: %O', tag, options) return new Promise>((resolve, reject) => { - const txResultPromise = this.client + const txResultPromise = this.conn .transaction(async (tx) => { const [txDeferred, deferredPromise] = createDeferred() const txWrapper = new PlanetScaleTransaction(tx, options, txDeferred, txResultPromise) @@ -193,3 +180,32 @@ const adapter = new PrismaPlanetScale(client) }) } } + +export class PrismaPlanetScale extends PlanetScaleQueryable implements DriverAdapter { + constructor(client: planetScale.Client) { + // this used to be a check for constructor name at same point (more reliable when having multiple copies + // of @planetscale/database), but that did not work with minifiers, so we reverted back to `instanceof` + if (!(client instanceof planetScale.Client)) { + throw new TypeError(`PrismaPlanetScale must be initialized with an instance of Client: +import { Client } from '@planetscale/database' +const client = new Client({ url }) +const adapter = new PrismaPlanetScale(client) +`) + } + super(client) + } + + getConnectionInfo(): Result { + const url = this.client.connection()['url'] as string + const dbName = new URL(url).pathname.slice(1) /* slice out forward slash */ + return ok({ + schemaName: dbName, + }) + } + + async transactionContext(): Promise> { + const conn = this.client.connection() + const ctx = new PlanetScaleTransactionContext(conn) + return ok(ctx) + } +} diff --git a/packages/adapter-planetscale/src/text.ts b/packages/adapter-planetscale/src/text.ts new file mode 100644 index 000000000000..b19bdff24013 --- /dev/null +++ b/packages/adapter-planetscale/src/text.ts @@ -0,0 +1,15 @@ +/** https://github.com/planetscale/database-js/blob/v1.19.0/src/text.ts */ + +const decoder = new TextDecoder('utf-8') + +export function decodeUtf8(text): string { + return text ? decoder.decode(uint8Array(text)) : '' +} + +export function uint8Array(text): Uint8Array { + return Uint8Array.from(bytes(text)) +} + +function bytes(text): number[] { + return text.split('').map((c) => c.charCodeAt(0)) +} diff --git a/packages/bundle-size/package.json b/packages/bundle-size/package.json index bae38cd33a5e..70518ee591ad 100644 --- a/packages/bundle-size/package.json +++ b/packages/bundle-size/package.json @@ -9,8 +9,8 @@ "author": "Pierre-Antoine Mills", "license": "Apache-2.0", "dependencies": { - "@libsql/client": "0.6.2", - "@neondatabase/serverless": "0.9.3", + "@libsql/client": "0.8.0", + "@neondatabase/serverless": "0.10.2", "@planetscale/database": "1.18.0", "@prisma/adapter-neon": "workspace:*", "@prisma/adapter-pg": "workspace:*", @@ -22,6 +22,6 @@ "@prisma/adapter-pg-worker": "workspace:*", "pg": "8.11.5", "prisma": "workspace:*", - "wrangler": "3.60.0" + "wrangler": "3.91.0" } } diff --git a/packages/bundled-js-drivers/package.json b/packages/bundled-js-drivers/package.json index 175fb591df8c..6f776bc0b66a 100644 --- a/packages/bundled-js-drivers/package.json +++ b/packages/bundled-js-drivers/package.json @@ -29,8 +29,8 @@ "build": "tsx helpers/build.ts" }, "dependencies": { - "@libsql/client": "0.6.2", - "@neondatabase/serverless": "0.9.3", + "@libsql/client": "0.8.0", + "@neondatabase/serverless": "0.10.2", "@planetscale/database": "1.18.0", "@types/pg": "8.11.6", "pg": "8.11.5" diff --git a/packages/cli/helpers/build.ts b/packages/cli/helpers/build.ts index 89a3090cf158..4b1eb33a9138 100644 --- a/packages/cli/helpers/build.ts +++ b/packages/cli/helpers/build.ts @@ -60,6 +60,7 @@ const cliBuildConfig: BuildOptions = { outfile: 'build/index', plugins: [cliLifecyclePlugin], bundle: true, + external: ['fsevents'], emitTypes: false, minify: true, } diff --git a/packages/cli/package.json b/packages/cli/package.json index 6b1cc08cc15f..d456c169545a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -38,7 +38,7 @@ "bugs": "https://github.com/prisma/prisma/issues", "license": "Apache-2.0", "engines": { - "node": ">=16.13" + "node": ">=18.18" }, "prisma": { "prismaCommit": "placeholder-for-commit-hash-replaced-during-publishing-in-publish-ts" @@ -69,6 +69,8 @@ "prisma": "build/index.js" }, "devDependencies": { + "@antfu/ni": "0.21.12", + "@inquirer/prompts": "5.0.5", "@prisma/client": "workspace:*", "@prisma/debug": "workspace:*", "@prisma/fetch-engine": "workspace:*", @@ -77,22 +79,23 @@ "@prisma/internals": "workspace:*", "@prisma/migrate": "workspace:*", "@prisma/mini-proxy": "0.9.5", - "@prisma/studio": "0.501.0", - "@prisma/studio-server": "0.501.0", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", + "@prisma/studio": "0.505.0", + "@prisma/studio-server": "0.505.0", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", "@types/debug": "4.1.12", "@types/fs-extra": "9.0.13", - "@types/jest": "29.5.12", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "@types/rimraf": "3.0.2", "async-listen": "3.0.1", "checkpoint-client": "1.1.33", - "debug": "4.3.5", - "dotenv": "16.0.3", - "esbuild": "0.21.4", + "chokidar": "3.6.0", + "debug": "4.3.7", + "dotenv": "16.4.7", + "esbuild": "0.24.2", "execa": "5.1.1", - "fast-glob": "3.3.2", + "fast-glob": "3.3.3", "fs-extra": "11.1.1", "fs-jetpack": "5.1.0", "get-port": "5.1.1", @@ -109,7 +112,7 @@ "resolve-pkg": "2.0.0", "rimraf": "3.0.2", "strip-ansi": "6.0.1", - "ts-pattern": "5.1.2", + "ts-pattern": "5.6.2", "typescript": "5.4.5", "xdg-app-paths": "8.3.0", "zx": "7.2.3" @@ -129,5 +132,16 @@ "dependencies": { "@prisma/engines": "workspace:*" }, + "optionalDependencies": { + "fsevents": "2.3.3" + }, + "peerDependencies": { + "typescript": ">=5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + }, "sideEffects": false } diff --git a/packages/cli/scripts/preinstall.ts b/packages/cli/scripts/preinstall.ts index 08fc07997db8..009c2d6e4b6c 100644 --- a/packages/cli/scripts/preinstall.ts +++ b/packages/cli/scripts/preinstall.ts @@ -2,28 +2,29 @@ import process from 'node:process' import { drawBox } from '@prisma/internals' +type MajorMinor = `${number}.${number}` +type MajorMinorPatch = `${MajorMinor}.${number}` + export function main() { - printMessageAndExitIfUnsupportedNodeVersion(process.version) + printMessageAndExitIfUnsupportedNodeVersion(process.versions.node as MajorMinorPatch) } -function extractSemanticVersionParts(version) { +function extractSemanticVersionParts(version: MajorMinor | MajorMinorPatch) { return version .split('.') .slice(0, 2) // only major and minor version - .map((v) => parseInt(v, 10)) + .map((v) => parseInt(v, 10)) as [number, number] } /** * Given a Node.js version (e.g. `v16.13.0`), prints an error and exits the process * if the Node.js version is not supported by Prisma. */ -export function printMessageAndExitIfUnsupportedNodeVersion(nodeVersion) { - // Node.js version, without the `v` prefix (e.g. `16.13.0`) - const semanticNodeVersion = nodeVersion.slice(1) - const [nodeMajorVersion, nodeMinorVersion] = extractSemanticVersionParts(semanticNodeVersion) +export function printMessageAndExitIfUnsupportedNodeVersion(nodeVersion: MajorMinorPatch) { + const [nodeMajorVersion, nodeMinorVersion] = extractSemanticVersionParts(nodeVersion) // Minimum Node.js version supported by Prisma - const MIN_NODE_VERSION = '16.13' + const MIN_NODE_VERSION = '18.18' const [MIN_NODE_MAJOR_VERSION, MIN_NODE_MINOR_VERSION] = extractSemanticVersionParts(MIN_NODE_VERSION) if ( diff --git a/packages/cli/src/Format.ts b/packages/cli/src/Format.ts index ed3ffc514415..8aab6d25db7f 100644 --- a/packages/cli/src/Format.ts +++ b/packages/cli/src/Format.ts @@ -42,6 +42,7 @@ Or specify a Prisma schema path '-h': '--help', '--schema': String, '--telemetry-information': String, + '--check': Boolean, }) if (args instanceof Error) { @@ -61,6 +62,22 @@ Or specify a Prisma schema path schemas: formattedDatamodel, }) + if (args['--check']) { + for (const [filename, formattedSchema] of formattedDatamodel) { + const originalSchemaTuple = schemas.find((s) => s[0] === filename) + if (!originalSchemaTuple) { + return new HelpError(`${bold(red(`!`))} The schema ${underline(filename)} is not found in the schema list.`) + } + const [, originalSchema] = originalSchemaTuple + if (originalSchema !== formattedSchema) { + return new HelpError( + `${bold(red(`!`))} There are unformatted files. Run ${underline('prisma format')} to format them.`, + ) + } + } + return 'All files are formatted correctly!' + } + for (const [filename, data] of formattedDatamodel) { await fs.writeFile(filename, data) } diff --git a/packages/cli/src/Generate.ts b/packages/cli/src/Generate.ts index 6f2676f896c3..11899bc785fc 100644 --- a/packages/cli/src/Generate.ts +++ b/packages/cli/src/Generate.ts @@ -1,8 +1,8 @@ import { enginesVersion } from '@prisma/engines' +import { SqlQueryOutput } from '@prisma/generator-helper' import { arg, Command, - drawBox, format, Generator, getCommandWithExecutor, @@ -13,7 +13,6 @@ import { getSchemaWithPath, getSchemaWithPathOptional, HelpError, - highlightTS, isError, link, loadEnvFile, @@ -25,12 +24,14 @@ import { printSchemaLoadedMessage } from '@prisma/migrate' import fs from 'fs' import { blue, bold, dim, green, red, yellow } from 'kleur/colors' import logUpdate from 'log-update' -import os from 'os' import path from 'path' import resolvePkg from 'resolve-pkg' import { getHardcodedUrlWarning } from './generate/getHardcodedUrlWarning' +import { introspectSql, sqlDirPath } from './generate/introspectSql' +import { Watcher } from './generate/Watcher' import { breakingChangesMessage } from './utils/breakingChanges' +import { getRandomPromotion, renderPromotion } from './utils/handlePromotions' import { simpleDebounce } from './utils/simpleDebounce' const pkg = eval(`require('../package.json')`) @@ -58,6 +59,7 @@ ${bold('Options')} --no-engine Generate a client for use with Accelerate only --no-hints Hides the hint messages but still outputs errors and warnings --allow-no-models Allow generating a client without models + --sql Generate typed sql module ${bold('Examples')} @@ -113,6 +115,7 @@ ${bold('Examples')} '--postinstall': String, '--telemetry-information': String, '--allow-no-models': Boolean, + '--sql': Boolean, }) const postinstallCwd = process.env.PRISMA_GENERATE_IN_POSTINSTALL @@ -133,6 +136,7 @@ ${bold('Examples')} await loadEnvFile({ schemaPath: args['--schema'], printMessage: true }) const schemaResult = await getSchemaForGenerate(args['--schema'], cwd, Boolean(postinstallCwd)) + const promotion = getRandomPromotion() if (!schemaResult) return '' @@ -144,6 +148,10 @@ ${bold('Examples')} let hasJsClient let generators: Generator[] | undefined let clientGeneratorVersion: string | null = null + let typedSql: SqlQueryOutput[] | undefined + if (args['--sql']) { + typedSql = await introspectSql(schemaPath) + } try { generators = await getGenerators({ schemaPath, @@ -152,6 +160,7 @@ ${bold('Examples')} cliVersion: pkg.version, generatorNames: args['--generator'], postinstall: Boolean(args['--postinstall']), + typedSql, noEngine: Boolean(args['--no-engine']) || Boolean(args['--data-proxy']) || // legacy, keep for backwards compatibility @@ -159,6 +168,7 @@ ${bold('Examples')} Boolean(process.env.PRISMA_GENERATE_DATAPROXY) || // legacy, keep for backwards compatibility Boolean(process.env.PRISMA_GENERATE_ACCELERATE) || // legacy, keep for backwards compatibility Boolean(process.env.PRISMA_GENERATE_NO_ENGINE), + allowNoModels: Boolean(args['--allow-no-models']), }) if (!generators || generators.length === 0) { @@ -235,14 +245,6 @@ Please run \`prisma generate\` manually.` When using Deno, you need to define \`output\` in the client generator section of your schema.prisma file.`) } - const importPath = prismaClientJSGenerator.options?.generator?.isCustomOutput - ? prefixRelativePathIfNecessary( - replacePathSeparatorsIfNecessary( - path.relative(process.cwd(), parseEnvValue(prismaClientJSGenerator.options.generator.output!)), - ), - ) - : '@prisma/client' - const breakingChangesStr = printBreakingChangesMessage ? ` @@ -264,64 +266,11 @@ Please make sure they have the same version.` if (hideHints) { hint = `${getHardcodedUrlWarning(config)}${breakingChangesStr}${versionsWarning}` } else { - const tryAccelerateMessage = `Deploying your app to serverless or edge functions? -Try Prisma Accelerate for connection pooling and caching. -${link('https://pris.ly/cli/--accelerate')}` - - const boxedTryAccelerateMessage = drawBox({ - height: tryAccelerateMessage.split('\n').length, - width: 0, // calculated automatically - str: tryAccelerateMessage, - horizontalPadding: 2, - }) - hint = ` -Start using Prisma Client in Node.js (See: ${link('https://pris.ly/d/client')}) -${dim('```')} -${highlightTS(`\ -import { PrismaClient } from '${importPath}' -const prisma = new PrismaClient()`)} -${dim('```')} -or start using Prisma Client at the edge (See: ${link('https://pris.ly/d/accelerate')}) -${dim('```')} -${highlightTS(`\ -import { PrismaClient } from '${importPath}/${isDeno ? 'deno/' : ''}edge${isDeno ? '.ts' : ''}' -const prisma = new PrismaClient()`)} -${dim('```')} - -See other ways of importing Prisma Client: ${link('http://pris.ly/d/importing-client')} - -${boxedTryAccelerateMessage} -${getHardcodedUrlWarning(config)}${breakingChangesStr}${versionsWarning}` - - if (generator?.previewFeatures.includes('driverAdapters')) { - if (generator?.isCustomOutput && isDeno) { - hint = ` -${bold('Start using Prisma Client')} -${dim('```')} -${highlightTS(`\ -import { PrismaClient } from '${importPath}/${isDeno ? 'deno/' : ''}edge${isDeno ? '.ts' : ''}' -const prisma = new PrismaClient()`)} -${dim('```')} - -More information: https://pris.ly/d/client` - } else { - hint = ` -${bold('Start using Prisma Client')} -${dim('```')} -${highlightTS(`\ -import { PrismaClient } from '${importPath}' -const prisma = new PrismaClient()`)} -${dim('```')} - -More information: https://pris.ly/d/client` - } +Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) - hint = `${hint} - -${boxedTryAccelerateMessage} +${renderPromotion(promotion)} ${getHardcodedUrlWarning(config)}${breakingChangesStr}${versionsWarning}` - } } } @@ -341,40 +290,47 @@ Please run \`${getCommandWithExecutor('prisma generate')}\` to see the errors.`) } else { logUpdate(watchingText + '\n' + this.logText) - fs.watch(schemaPath, async (eventType) => { - if (eventType === 'change') { - let generatorsWatch: Generator[] | undefined - try { - generatorsWatch = await getGenerators({ - schemaPath, - printDownloadProgress: !watchMode, - version: enginesVersion, - cliVersion: pkg.version, - generatorNames: args['--generator'], - }) - - if (!generatorsWatch || generatorsWatch.length === 0) { - this.logText += `${missingGeneratorMessage}\n` - } else { - logUpdate(`\n${green('Building...')}\n\n${this.logText}`) - try { - await this.runGenerate({ - generators: generatorsWatch, - }) - logUpdate(watchingText + '\n' + this.logText) - } catch (errRunGenerate) { - this.logText += `${errRunGenerate.message}\n\n` - logUpdate(watchingText + '\n' + this.logText) - } + const watcher = new Watcher(schemaPath) + if (args['--sql']) { + watcher.add(sqlDirPath(schemaPath)) + } + + for await (const changedPath of watcher) { + logUpdate(`Change in ${path.relative(process.cwd(), changedPath)}`) + let generatorsWatch: Generator[] | undefined + try { + if (args['--sql']) { + typedSql = await introspectSql(schemaPath) + } + + generatorsWatch = await getGenerators({ + schemaPath, + printDownloadProgress: !watchMode, + version: enginesVersion, + cliVersion: pkg.version, + generatorNames: args['--generator'], + typedSql, + }) + + if (!generatorsWatch || generatorsWatch.length === 0) { + this.logText += `${missingGeneratorMessage}\n` + } else { + logUpdate(`\n${green('Building...')}\n\n${this.logText}`) + try { + await this.runGenerate({ + generators: generatorsWatch, + }) + logUpdate(watchingText + '\n' + this.logText) + } catch (errRunGenerate) { + this.logText += `${errRunGenerate.message}\n\n` + logUpdate(watchingText + '\n' + this.logText) } - // logUpdate(watchingText + '\n' + this.logText) - } catch (errGetGenerators) { - this.logText += `${errGetGenerators.message}\n\n` - logUpdate(watchingText + '\n' + this.logText) } + } catch (errGetGenerators) { + this.logText += `${errGetGenerators.message}\n\n` + logUpdate(watchingText + '\n' + this.logText) } - }) - await new Promise((_) => null) + } } return '' @@ -389,14 +345,6 @@ Please run \`${getCommandWithExecutor('prisma generate')}\` to see the errors.`) } } -function prefixRelativePathIfNecessary(relativePath: string): string { - if (relativePath.startsWith('..')) { - return relativePath - } - - return `./${relativePath}` -} - function getCurrentClientVersion(): string | null { try { let pkgPath = resolvePkg('.prisma/client', { cwd: process.cwd() }) @@ -420,14 +368,6 @@ function getCurrentClientVersion(): string | null { return null } -function replacePathSeparatorsIfNecessary(path: string): string { - const isWindows = os.platform() === 'win32' - if (isWindows) { - return path.replace(/\\/g, '/') - } - return path -} - async function getSchemaForGenerate( schemaFromArgs: string | undefined, cwd: string, diff --git a/packages/cli/src/Init.ts b/packages/cli/src/Init.ts index 98a9cecd4c02..cad38752a423 100644 --- a/packages/cli/src/Init.ts +++ b/packages/cli/src/Init.ts @@ -1,15 +1,18 @@ +import { confirm, input, select } from '@inquirer/prompts' import type { ConnectorType } from '@prisma/generator-helper' import { arg, canConnectToDatabase, checkUnsupportedDataProxy, Command, - drawBox, format, getCommandWithExecutor, HelpError, + isError, link, logger, + PRISMA_POSTGRES_PROTOCOL, + PRISMA_POSTGRES_PROVIDER, protocolToConnectorType, } from '@prisma/internals' import dotenv from 'dotenv' @@ -17,8 +20,11 @@ import fs from 'fs' import { bold, dim, green, red, yellow } from 'kleur/colors' import path from 'path' import { match, P } from 'ts-pattern' -import { isError } from 'util' +import { poll, printPpgInitOutput } from './platform/_' +import { credentialsFile } from './platform/_lib/credentials' +import { successMessage } from './platform/_lib/messages' +import { getPrismaPostgresRegionsOrThrow } from './platform/accelerate/regions' import { printError } from './utils/prompt/utils/print' export const defaultSchema = (props?: { @@ -120,6 +126,8 @@ export const defaultPort = (datasourceProvider: ConnectorType) => { return 5432 case 'cockroachdb': return 26257 + case PRISMA_POSTGRES_PROVIDER: + return null } return undefined @@ -168,14 +176,15 @@ export class Init implements Command { private static help = format(` Set up a new Prisma project - + ${bold('Usage')} ${dim('$')} prisma init [options] ${bold('Options')} - + -h, --help Display this help message + --db Provisions a fully managed Prisma Postgres® database on the Prisma Data Platform. --datasource-provider Define the datasource provider to use: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb --generator-provider Define the generator provider to use. Default: \`prisma-client-js\` --preview-feature Define a preview feature to use. @@ -202,7 +211,7 @@ export class Init implements Command { Set up a new Prisma project and specify \`./generated-client\` as the output path to use ${dim('$')} prisma init --output ./generated-client - + Set up a new Prisma project and specify the url that will be used ${dim('$')} prisma init --url mysql://user:password@localhost:3306/mydb @@ -210,7 +219,6 @@ export class Init implements Command { ${dim('$')} prisma init --with-model `) - // eslint-disable-next-line @typescript-eslint/require-await async parse(argv: string[]): Promise { const args = arg(argv, { '--help': Boolean, @@ -221,6 +229,7 @@ export class Init implements Command { '--preview-feature': [String], '--output': String, '--with-model': Boolean, + '--db': Boolean, }) if (isError(args) || args['--help']) { @@ -278,9 +287,16 @@ export class Init implements Command { (input) => { const datasourceProviderLowercase = input['--datasource-provider'].toLowerCase() if ( - !['postgresql', 'mysql', 'sqlserver', 'sqlite', 'mongodb', 'cockroachdb'].includes( - datasourceProviderLowercase, - ) + ![ + 'postgresql', + 'mysql', + 'sqlserver', + 'sqlite', + 'mongodb', + 'cockroachdb', + 'prismapostgres', + 'prisma+postgres', + ].includes(datasourceProviderLowercase) ) { throw new Error( `Provider "${args['--datasource-provider']}" is invalid or not supported. Try again with "postgresql", "mysql", "sqlite", "sqlserver", "mongodb" or "cockroachdb".`, @@ -328,6 +344,89 @@ export class Init implements Command { const generatorProvider = args['--generator-provider'] const previewFeatures = args['--preview-feature'] const output = args['--output'] + const isPpgCommand = args['--db'] || datasourceProvider === PRISMA_POSTGRES_PROVIDER + + let prismaPostgresDatabaseUrl: string | undefined + let workspaceId = `` + let projectId = `` + let environmentId = `` + if (isPpgCommand) { + const PlatformCommands = await import(`./platform/_`) + + const credentials = await credentialsFile.load() + if (isError(credentials)) throw credentials + + if (!credentials) { + console.log('This will create a project for you on console.prisma.io and requires you to be authenticated.') + const authAnswer = await confirm({ + message: 'Would you like to authenticate?', + }) + if (!authAnswer) { + return 'Project creation aborted. You need to authenticate to use Prisma Postgres®' + } + const authenticationResult = await PlatformCommands.loginOrSignup() + console.log(`Successfully authenticated as ${bold(authenticationResult.email)}.`) + } + + console.log("Let's set up your Prisma Postgres® database!") + const platformToken = await PlatformCommands.getTokenOrThrow(args) + const defaultWorkspace = await PlatformCommands.Workspace.getDefaultWorkspaceOrThrow({ token: platformToken }) + const regions = await getPrismaPostgresRegionsOrThrow({ token: platformToken }) + + const ppgRegionSelection = await select({ + message: 'Select your region:', + default: 'us-east-1', + choices: regions.map((region) => ({ + name: `${region.id} - ${region.displayName}`, + value: region.id, + disabled: region.ppgStatus === 'unavailable', + })), + loop: true, + }) + + const projectDisplayNameAnswer = await input({ + message: 'Enter a project name:', + default: 'My Prisma Project', + }) + + console.log(`Creating project ${projectDisplayNameAnswer}...`) + const project = await PlatformCommands.Project.createProjectOrThrow({ + token: platformToken, + displayName: projectDisplayNameAnswer, + workspaceId: defaultWorkspace.id, + allowRemoteDatabases: false, + ppgRegion: ppgRegionSelection, + }) + workspaceId = defaultWorkspace.id + projectId = project.id + environmentId = project.defaultEnvironment.id + console.log(successMessage(`Project ${project.displayName} created`)) + + console.log(`Checking the status of Prisma Postgres® instance...`) + await poll( + () => + PlatformCommands.Environment.getEnvironmentOrThrow({ + environmentId: project.defaultEnvironment.id, + token: platformToken, + }), + (environment: Awaited>) => + environment.ppg.status === 'healthy' && environment.accelerate.status.enabled, + 5000, // Poll every 5 seconds + 120000, // if it takes more than two minutes, bail with an error + 'Checking the status of Prisma Postgres® instance...', + ) + console.log(successMessage('Prisma Postgres® provisioning complete')) + + console.log('Creating Prisma Postgres® API key...') + const serviceToken = await PlatformCommands.ServiceToken.createOrThrow({ + token: platformToken, + environmentId: project.defaultEnvironment.id, + displayName: `database-setup-prismaPostgres-api-key`, + }) + + prismaPostgresDatabaseUrl = `${PRISMA_POSTGRES_PROTOCOL}://accelerate.prisma-data.net/?api_key=${serviceToken.value}` + console.log(successMessage('Prisma Postgres® is ready to be used! 🚀')) + } /** * Validation successful? Let's create everything! @@ -352,10 +451,11 @@ export class Init implements Command { }), ) + const databaseUrl = prismaPostgresDatabaseUrl || url const warnings: string[] = [] const envPath = path.join(outputDir, '.env') if (!fs.existsSync(envPath)) { - fs.writeFileSync(envPath, defaultEnv(url)) + fs.writeFileSync(envPath, defaultEnv(databaseUrl)) } else { const envFile = fs.readFileSync(envPath, { encoding: 'utf8' }) const config = dotenv.parse(envFile) // will return an object @@ -366,7 +466,7 @@ export class Init implements Command { )}`, ) } else { - fs.appendFileSync(envPath, `\n\n` + '# This was inserted by `prisma init`:\n' + defaultEnv(url)) + fs.appendFileSync(envPath, `\n\n` + '# This was inserted by `prisma init`:\n' + defaultEnv(databaseUrl)) } } @@ -401,6 +501,12 @@ export class Init implements Command { )} to generate the Prisma Client. You can then start querying your database.`, ) + steps.push( + `Tip: Explore how you can extend the ${green( + 'ORM', + )} with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm`, + ) + if (!url || args['--datasource-provider']) { if (!args['--datasource-provider']) { steps.unshift( @@ -419,29 +525,21 @@ export class Init implements Command { ) } - const promoMessage = `Developing real-time features? -Prisma Pulse lets you respond instantly to database changes. -${link('https://pris.ly/cli/pulse')}` + const defaultOutput = `Next steps: +${steps.map((s, i) => `${i + 1}. ${s}`).join('\n')} - const boxedPromoMessage = drawBox({ - height: promoMessage.split('\n').length, - width: 0, // calculated automatically - str: promoMessage, - horizontalPadding: 2, - }) +More information in our documentation: +${link('https://pris.ly/d/getting-started')}\n` return ` ✔ Your Prisma schema was created at ${green('prisma/schema.prisma')} You can now open it in your favorite editor. ${warnings.length > 0 && logger.should.warn() ? `\n${warnings.join('\n')}\n` : ''} -Next steps: -${steps.map((s, i) => `${i + 1}. ${s}`).join('\n')} - -More information in our documentation: -${link('https://pris.ly/d/getting-started')} - -${boxedPromoMessage} - ` +${ + isPpgCommand + ? printPpgInitOutput({ databaseUrl: prismaPostgresDatabaseUrl!, workspaceId, projectId, environmentId }) + : defaultOutput +}` } // help message diff --git a/packages/cli/src/SubCommand.ts b/packages/cli/src/SubCommand.ts new file mode 100644 index 000000000000..6d3ff675f5e5 --- /dev/null +++ b/packages/cli/src/SubCommand.ts @@ -0,0 +1,49 @@ +import { getCommand } from '@antfu/ni' +import type { Command } from '@prisma/internals' +import { command } from 'execa' +import { existsSync } from 'fs' +import { tmpdir } from 'os' + +/** + * Sub-CLIs that are installed on demand need to implement this interface + */ +type Runnable = { + run: (args: string[]) => Promise +} + +/** + * Generic SubCommand that installs a package on demand and runs it + */ +export class SubCommand implements Command { + pkg: string + + constructor(pkg: string) { + this.pkg = pkg + } + + async parse(argv: string[]): Promise { + // we accept forcing a version with @, eg. prisma policy @1.0.0 --help + const [version, ...args] = argv[0]?.startsWith('@') ? argv : ['@latest', ...argv] + const pkg = `${this.pkg}${version}` + + // when version defaults to @latest, we cache it for the current day only + const dayMillis = new Date().setHours(0, 0, 0, 0) + const cacheKey = version === '@latest' ? `-${dayMillis}` : '' + const prefix = `${tmpdir()}/${pkg}${cacheKey}` + + // if the package is not installed yet, we install it otherwise we skip + if (existsSync(prefix) === false) { + const installCmd = getCommand('npm', 'install', [pkg, '--no-save', '--prefix', prefix, '--userconfig', prefix]) + await command(installCmd, { stdout: 'ignore', stderr: 'inherit', env: process.env }) + } + + // load the module and run it via the Runnable interface + const modulePath = [prefix, 'node_modules', this.pkg, 'dist', 'index.js'] + const module: Runnable = await import(modulePath.join('/')) + await module.run(args) + + return '' + } + + public help() {} +} diff --git a/packages/cli/src/Version.ts b/packages/cli/src/Version.ts index 7b621f8ea7f8..b460a624535a 100644 --- a/packages/cli/src/Version.ts +++ b/packages/cli/src/Version.ts @@ -10,6 +10,7 @@ import { getEnginesMetaInfo, getSchema, getSchemaWithPath, + getTypescriptVersion, HelpError, isError, loadEnvFile, @@ -21,7 +22,7 @@ import { match, P } from 'ts-pattern' import { getInstalledPrismaClientVersion } from './utils/getClientVersion' -const packageJson = require('../package.json') // eslint-disable-line @typescript-eslint/no-var-requires +const packageJson = require('../package.json') /** * $ prisma version @@ -63,7 +64,7 @@ export class Version implements Command { return this.help() } - await loadEnvFile({ printMessage: true }) + await loadEnvFile({ printMessage: !args['--json'] }) const binaryTarget = await getBinaryTargetForCurrentPlatform() const cliQueryEngineBinaryType = getCliQueryEngineBinaryType() @@ -88,6 +89,7 @@ export class Version implements Command { }) const prismaClientVersion = await getInstalledPrismaClientVersion() + const typescriptVersion = await getTypescriptVersion() const rows = [ [packageJson.name, packageJson.version], @@ -96,6 +98,7 @@ export class Version implements Command { ['Operating System', os.platform()], ['Architecture', os.arch()], ['Node.js', process.version], + ['TypeScript', typescriptVersion], ...enginesRows, ['Schema Wasm', `@prisma/prisma-schema-wasm ${wasm.prismaSchemaWasmVersion}`], diff --git a/packages/cli/src/__tests__/commands/Format.test.ts b/packages/cli/src/__tests__/commands/Format.test.ts index 341d4c1497cc..9c5da87a784a 100644 --- a/packages/cli/src/__tests__/commands/Format.test.ts +++ b/packages/cli/src/__tests__/commands/Format.test.ts @@ -41,6 +41,10 @@ describe('format', () => { // implicit: single schema file (`schema.prisma`) await expect(Format.new().parse([])).resolves.toMatchInlineSnapshot(`"Formatted schema.prisma in XXXms 🚀"`) + await expect(Format.new().parse(['--check'])).resolves.toMatchInlineSnapshot( + `"All files are formatted correctly!"`, + ) + // explicit: single schema file (`schema.prisma`) await expect(Format.new().parse(['--schema=schema.prisma'])).resolves.toMatchInlineSnapshot( `"Formatted schema.prisma in XXXms 🚀"`, @@ -352,4 +356,11 @@ describe('format', () => { expect(ctx.mocked['console.warn'].mock.calls.join('\n')).toEqual('') expect(ctx.mocked['console.error'].mock.calls.join('\n')).toEqual('') }) + + it('check should fail on unformatted code', async () => { + ctx.fixture('example-project/prisma-unformatted') + await expect(Format.new().parse(['--schema=unformatted.prisma', '--check'])).resolves.toMatchInlineSnapshot( + `"! There are unformatted files. Run prisma format to format them."`, + ) + }) }) diff --git a/packages/cli/src/__tests__/commands/Generate.test.ts b/packages/cli/src/__tests__/commands/Generate.test.ts index bef61d3cf3e2..26d828d08da8 100644 --- a/packages/cli/src/__tests__/commands/Generate.test.ts +++ b/packages/cli/src/__tests__/commands/Generate.test.ts @@ -1,16 +1,30 @@ -import { jestConsoleContext, jestContext } from '@prisma/get-platform' +import path from 'node:path' + +import { BaseContext, jestConsoleContext, jestContext } from '@prisma/get-platform' import { ClientEngineType, getClientEngineType } from '@prisma/internals' -import path from 'path' import { Generate } from '../../Generate' +import { promotions, renderPromotion } from '../../utils/handlePromotions' const ctx = jestContext.new().add(jestConsoleContext()).assemble() describe('using cli', () => { + // Replace any possible entry in `promotions`'s texts with a fixed string to make the snapshot stable + function sanitiseStdout(stdout: string): string { + return Object.values(promotions) + .map((promotion) => renderPromotion(promotion)) + .reduce((acc, curr) => { + return acc.replace(curr, 'Tip: MOCKED RANDOM TIP') + }, stdout) + .trimEnd() + } + it('should work with a custom output dir', async () => { ctx.fixture('example-project') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) + if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } @@ -18,56 +32,24 @@ describe('using cli', () => { const { main } = await import(ctx.fs.path('main.ts')) if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } @@ -85,57 +67,27 @@ describe('using cli', () => { it('should work with prisma schema folder', async () => { ctx.fixture('multi-schema-files/valid-custom-output') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) + if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema ✔ Generated Prisma Client (v0.0.0) to ./prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } @@ -152,31 +104,21 @@ describe('using cli', () => { it('should display the right yarn command for custom outputs', async () => { ctx.fixture('custom-output-yarn') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Library) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - - More information: https://pris.ly/d/client + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Tip: MOCKED RANDOM TIP" `) } }) @@ -184,31 +126,21 @@ describe('using cli', () => { it('should display the right npm command for custom outputs', async () => { ctx.fixture('custom-output-npm') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Library) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - - More information: https://pris.ly/d/client + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Tip: MOCKED RANDOM TIP" `) } }) @@ -216,31 +148,21 @@ describe('using cli', () => { it('should display the right pnpm command for custom outputs', async () => { ctx.fixture('custom-output-pnpm') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Library) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - - More information: https://pris.ly/d/client + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Tip: MOCKED RANDOM TIP" `) } }) @@ -255,7 +177,8 @@ describe('using cli', () => { // use regex to extract the output location below with a dummy location const outputLocation = data.stdout.match(/to (.*) in/)?.[1] - const stdout = data.stdout.replace(outputLocation!, '') + let stdout = sanitiseStdout(data.stdout) + stdout = stdout.replace(outputLocation!, '') if (getClientEngineType() === ClientEngineType.Library) { expect(stdout).toMatchInlineSnapshot(` @@ -263,20 +186,9 @@ describe('using cli', () => { ✔ Generated Prisma Client (v0.0.0) to in XXXms - Start using Prisma Client - \`\`\` - import { PrismaClient } from '@prisma/client' - const prisma = new PrismaClient() - \`\`\` - - More information: https://pris.ly/d/client + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Tip: MOCKED RANDOM TIP" `) } else { expect(stdout).toMatchInlineSnapshot(` @@ -284,83 +196,78 @@ describe('using cli', () => { ✔ Generated Prisma Client (v0.0.0, engine=binary) to in XXXms - Start using Prisma Client - \`\`\` - import { PrismaClient } from '@prisma/client' - const prisma = new PrismaClient() - \`\`\` - - More information: https://pris.ly/d/client + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Tip: MOCKED RANDOM TIP" `) } }) + describe('should work with --allow-no-models', () => { + const generateWithNoModels = async (ctx: BaseContext) => { + const data = await ctx.cli('generate', '--allow-no-models') + + if (typeof data.signal === 'number' && data.signal !== 0) { + throw new Error(data.stderr + data.stdout) + } + + return data + } + + test('with sqlite', async () => { + ctx.fixture('no-models/sqlite') + await generateWithNoModels(ctx) + }) + + test('with mysql', async () => { + ctx.fixture('no-models/mysql') + await generateWithNoModels(ctx) + }) + + test('with postgresql', async () => { + ctx.fixture('no-models/postgresql') + await generateWithNoModels(ctx) + }) + + test('with sqlserver', async () => { + ctx.fixture('no-models/sqlserver') + await generateWithNoModels(ctx) + }) + + test('with mongo', async () => { + ctx.fixture('no-models/mongo') + await generateWithNoModels(ctx) + }) + }) + it('should work with --no-engine', async () => { ctx.fixture('example-project') const data = await ctx.cli('generate', '--no-engine') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=none) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=none) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } }) @@ -377,19 +284,19 @@ describe('using cli', () => { if (engineType === ClientEngineType.Binary) { expect(data.stdout).toMatchInlineSnapshot(` - "Prisma schema loaded from prisma/schema.prisma - - ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms - " - `) - } + "Prisma schema loaded from prisma/schema.prisma - expect(data.stdout).toMatchInlineSnapshot(` - "Prisma schema loaded from prisma/schema.prisma + ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms + " + `) + } else { + expect(data.stdout).toMatchInlineSnapshot(` + "Prisma schema loaded from prisma/schema.prisma - ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - " - `) + ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms + " + `) + } }) it('should work and not show hints with --no-hints and --no-engine', async () => { @@ -411,66 +318,33 @@ describe('using cli', () => { it('should warn when `url` is hardcoded', async () => { ctx.fixture('hardcoded-url') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - - 🛑 Hardcoding URLs in your schema poses a security risk: https://pris.ly/d/datasource-env - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - - 🛑 Hardcoding URLs in your schema poses a security risk: https://pris.ly/d/datasource-env - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP + + 🛑 Hardcoding URLs in your schema poses a security risk: https://pris.ly/d/datasource-env" `) } }) @@ -478,62 +352,31 @@ describe('using cli', () => { it('should not warn when `url` is not hardcoded', async () => { ctx.fixture('env-url') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } }) @@ -541,62 +384,31 @@ describe('using cli', () => { it('should not warn when `directUrl` is not hardcoded', async () => { ctx.fixture('env-direct-url') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } }) @@ -604,66 +416,33 @@ describe('using cli', () => { it('should warn when `directUrl` is hardcoded', async () => { ctx.fixture('hardcoded-direct-url') const data = await ctx.cli('generate') + const stdout = sanitiseStdout(data.stdout) if (typeof data.signal === 'number' && data.signal !== 0) { throw new Error(data.stderr + data.stdout) } if (getClientEngineType() === ClientEngineType.Binary) { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - - 🛑 Hardcoding URLs in your schema poses a security risk: https://pris.ly/d/datasource-env - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP" `) } else { - expect(data.stdout).toMatchInlineSnapshot(` + expect(stdout).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema.prisma ✔ Generated Prisma Client (v0.0.0) to ./generated/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ - - 🛑 Hardcoding URLs in your schema poses a security risk: https://pris.ly/d/datasource-env - " + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: MOCKED RANDOM TIP + + 🛑 Hardcoding URLs in your schema poses a security risk: https://pris.ly/d/datasource-env" `) } }) @@ -686,6 +465,14 @@ describe('using cli', () => { }) describe('--schema from project directory', () => { + beforeEach(() => { + jest.spyOn(Math, 'random').mockReturnValue(0.1) + }) + + afterEach(() => { + jest.spyOn(Math, 'random').mockRestore() + }) + it('--schema relative path: should work', async () => { expect.assertions(1) ctx.fixture('generate-from-project-dir') @@ -696,24 +483,9 @@ describe('--schema from project directory', () => { " ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } else { @@ -721,24 +493,9 @@ describe('--schema from project directory', () => { " ✔ Generated Prisma Client (v0.0.0) to ./@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } @@ -762,24 +519,9 @@ describe('--schema from project directory', () => { " ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } else { @@ -787,24 +529,9 @@ describe('--schema from project directory', () => { " ✔ Generated Prisma Client (v0.0.0) to ./@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } @@ -856,6 +583,13 @@ describe('in postinstall', () => { }) describe('--schema from parent directory', () => { + beforeEach(() => { + jest.spyOn(Math, 'random').mockReturnValue(0.1) + }) + + afterEach(() => { + jest.spyOn(Math, 'random').mockRestore() + }) it('--schema relative path: should work', async () => { expect.assertions(1) ctx.fixture('generate-from-parent-dir') @@ -866,24 +600,9 @@ describe('--schema from parent directory', () => { " ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./subdirectory/@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } else { @@ -891,24 +610,9 @@ describe('--schema from parent directory', () => { " ✔ Generated Prisma Client (v0.0.0) to ./subdirectory/@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } @@ -934,24 +638,9 @@ describe('--schema from parent directory', () => { " ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./subdirectory/@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } else { @@ -959,24 +648,9 @@ describe('--schema from parent directory', () => { " ✔ Generated Prisma Client (v0.0.0) to ./subdirectory/@prisma/client in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './subdirectory/@prisma/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } @@ -1007,24 +681,9 @@ describe('--schema from parent directory', () => { ✔ Generated Prisma Client (v0.0.0, engine=binary) to ./generated/client_3 in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } else { @@ -1034,24 +693,9 @@ describe('--schema from parent directory', () => { ✔ Generated Prisma Client (v0.0.0) to ./generated/client_3 in XXXms - Start using Prisma Client in Node.js (See: https://pris.ly/d/client) - \`\`\` - import { PrismaClient } from './generated/client' - const prisma = new PrismaClient() - \`\`\` - or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) - \`\`\` - import { PrismaClient } from './generated/client/edge' - const prisma = new PrismaClient() - \`\`\` - - See other ways of importing Prisma Client: http://pris.ly/d/importing-client - - ┌─────────────────────────────────────────────────────────────┐ - │ Deploying your app to serverless or edge functions? │ - │ Try Prisma Accelerate for connection pooling and caching. │ - │ https://pris.ly/cli/--accelerate │ - └─────────────────────────────────────────────────────────────┘ + Start by importing your Prisma Client (See: https://pris.ly/d/importing-client) + + Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse " `) } @@ -1086,3 +730,33 @@ describe('--schema from parent directory', () => { ) }) }) + +describe('with --sql', () => { + it('should throw error on invalid sql', async () => { + ctx.fixture('typed-sql-invalid') + await expect(Generate.new().parse(['--sql'])).rejects.toMatchInlineSnapshot(` + "Errors while reading sql files: + + In prisma/sql/invalidQuery.sql: + Error: Error describing the query. + error returned from database: (code: 1) near "Not": syntax error + + + " + `) + }) + + it('throws error on mssql', async () => { + ctx.fixture('typed-sql-invalid-mssql') + await expect(Generate.new().parse(['--sql'])).rejects.toMatchInlineSnapshot( + `"Typed SQL is supported only for postgresql, cockroachdb, mysql, sqlite providers"`, + ) + }) + + it('throws error on mongo', async () => { + ctx.fixture('typed-sql-invalid-mongo') + await expect(Generate.new().parse(['--sql'])).rejects.toMatchInlineSnapshot( + `"Typed SQL is supported only for postgresql, cockroachdb, mysql, sqlite providers"`, + ) + }) +}) diff --git a/packages/cli/src/__tests__/commands/Studio.test.ts b/packages/cli/src/__tests__/commands/Studio.test.ts index b760fea31560..f728288e9327 100644 --- a/packages/cli/src/__tests__/commands/Studio.test.ts +++ b/packages/cli/src/__tests__/commands/Studio.test.ts @@ -17,14 +17,16 @@ const STUDIO_TEST_PORT = 5678 const testIf = (condition: boolean) => (condition ? test : test.skip) const describeIf = (condition: boolean) => (condition ? describe : describe.skip) -function sendRequest(message: any): Promise { - return fetch(`http://localhost:${STUDIO_TEST_PORT}/api`, { +async function sendRequest(message: any): Promise { + const res = await fetch(`http://localhost:${STUDIO_TEST_PORT}/api`, { method: 'POST', headers: { 'Content-Type': 'text/plain', }, body: JSON.stringify(message), - }).then((res) => res.json()) + }) + + return res.json() } let studio: Studio @@ -482,7 +484,7 @@ describe('studio with custom schema.prisma filename', () => { }) }) -describe('studio with schema folder', () => { +describeIf(process.env.PRISMA_CLIENT_ENGINE_TYPE !== 'binary')('studio with schema folder', () => { jest.setTimeout(20_000) beforeAll(async () => { diff --git a/packages/cli/src/__tests__/commands/SubCommand.test.ts b/packages/cli/src/__tests__/commands/SubCommand.test.ts new file mode 100644 index 000000000000..473697546e8d --- /dev/null +++ b/packages/cli/src/__tests__/commands/SubCommand.test.ts @@ -0,0 +1,107 @@ +import * as ni from '@antfu/ni' +import * as execa from 'execa' +import { rm } from 'fs/promises' +import { copy } from 'fs-extra' +import { tmpdir } from 'os' +import { join } from 'path' + +import { SubCommand } from '../../SubCommand' + +jest.mock('@antfu/ni') +jest.mock('execa') + +jest.useFakeTimers().setSystemTime(new Date('2025-01-01')) + +const getDayMillis = () => new Date().setHours(0, 0, 0, 0) + +beforeEach(async () => { + await rm(join(tmpdir(), `sub-command@0.0.0`), { recursive: true, force: true }) + await rm(join(tmpdir(), `sub-command@latest-${getDayMillis()}`), { recursive: true, force: true }) +}) + +test('@', async () => { + const cmd = new SubCommand('sub-command') + const consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => {}) + + const copySrc = join(__dirname, '..', 'fixtures', 'sub-command') + const copyDest = join(tmpdir(), `sub-command@0.0.0`) + await copy(copySrc, copyDest, { recursive: true }) + + await cmd.parse(['@0.0.0', '--help']) + + expect(consoleLogSpy.mock.calls).toMatchInlineSnapshot(` + [ + [ + "sub-command", + [ + [ + "--help", + ], + ], + ], + ] + `) + + consoleLogSpy.mockRestore() +}) + +test('@latest', async () => { + const cmd = new SubCommand('sub-command') + const consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => {}) + + const copySrc = join(__dirname, '..', 'fixtures', 'sub-command') + const copyDest = join(tmpdir(), `sub-command@latest-${getDayMillis()}`) + await copy(copySrc, copyDest, { recursive: true }) + + await cmd.parse(['--help']) + + expect(consoleLogSpy.mock.calls).toMatchInlineSnapshot(` + [ + [ + "sub-command", + [ + [ + "--help", + ], + ], + ], + ] + `) + + consoleLogSpy.mockRestore() +}) + +test('autoinstall', async () => { + const cmd = new SubCommand('sub-command') + const consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => {}) + + const copySrc = join(__dirname, '..', 'fixtures', 'sub-command') + const copyDest = join(tmpdir(), 'sub-command@0.0.0') + + jest.mocked(ni.getCommand).mockReturnValue('npm install sub-command --no-save --prefix /tmp/sub-command@0.0.0') + // eslint-disable-next-line @typescript-eslint/unbound-method + jest.mocked(execa.command).mockImplementation((async () => { + await copy(copySrc, copyDest, { recursive: true }) + }) as () => any) + + await cmd.parse(['@0.0.0', '--help']) + + expect(consoleLogSpy.mock.calls).toMatchInlineSnapshot(` + [ + [ + "sub-command", + [ + [ + "--help", + ], + ], + ], + ] + `) + + // eslint-disable-next-line @typescript-eslint/unbound-method + expect(execa.command).toHaveBeenCalled() + expect(ni.getCommand).toHaveBeenCalled() + + consoleLogSpy.mockRestore() +}) diff --git a/packages/cli/src/__tests__/commands/Version.test.ts b/packages/cli/src/__tests__/commands/Version.test.ts index b38fb479d04a..95b59b38cbff 100644 --- a/packages/cli/src/__tests__/commands/Version.test.ts +++ b/packages/cli/src/__tests__/commands/Version.test.ts @@ -4,6 +4,7 @@ import { getBinaryTargetForCurrentPlatform, jestConsoleContext, jestContext } fr import { engineEnvVarMap } from '@prisma/internals' import { ensureDir } from 'fs-extra' import path from 'path' +import { version as typeScriptVersion } from 'typescript' import packageJson from '../../../package.json' @@ -126,6 +127,7 @@ function cleanSnapshot(str: string, versionOverride?: string): string { str = str.replace(new RegExp('(Architecture\\s+:).*', 'g'), '$1 ARCHITECTURE') str = str.replace(new RegExp('workspace:\\*', 'g'), 'ENGINE_VERSION') str = str.replace(new RegExp(process.version, 'g'), 'NODEJS_VERSION') + str = str.replace(new RegExp(`(TypeScript\\s+:) ${typeScriptVersion}`, 'g'), '$1 TYPESCRIPT_VERSION') // replace studio version str = str.replace(packageJson.devDependencies['@prisma/studio-server'], 'STUDIO_VERSION') diff --git a/packages/cli/src/__tests__/commands/__snapshots__/Init.test.ts.snap b/packages/cli/src/__tests__/commands/__snapshots__/Init.test.ts.snap index 26be9fd0e20d..0dbfffe0d06c 100644 --- a/packages/cli/src/__tests__/commands/__snapshots__/Init.test.ts.snap +++ b/packages/cli/src/__tests__/commands/__snapshots__/Init.test.ts.snap @@ -10,16 +10,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`appends when .env present 2`] = ` @@ -63,16 +58,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`is schema and env written on disk replace 2`] = ` @@ -105,16 +95,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`warns when DATABASE_URL present in .env 2`] = ` @@ -144,16 +129,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with --with-model param cockroachdb 2`] = ` @@ -189,16 +169,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Define models in the schema.prisma file. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with --with-model param mongodb 2`] = ` @@ -235,16 +210,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with --with-model param postgresql 2`] = ` @@ -281,16 +251,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with custom output 2`] = ` @@ -322,16 +287,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with generator param - \`go run github.com/steebchen/prisma-client-go\` 2`] = ` @@ -362,16 +322,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with preview features - mock test 2`] = ` @@ -403,16 +358,11 @@ Next steps: 2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlite, sqlserver, mongodb or cockroachdb. 3. Run prisma db pull to turn your database schema into a Prisma schema. 4. Run prisma generate to generate the Prisma Client. You can then start querying your database. +5. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with preview features - multiple 2`] = ` @@ -443,16 +393,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider and url params - cockroachdb 2`] = ` @@ -482,16 +427,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Define models in the schema.prisma file. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider param - MongoDB 2`] = ` @@ -521,16 +461,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider param - SQLITE 2`] = ` @@ -557,16 +492,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider param - SqlServer 2`] = ` @@ -596,16 +526,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider param - cockroachdb 2`] = ` @@ -635,16 +560,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider param - mysql 2`] = ` @@ -674,16 +594,11 @@ Next steps: 1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started 2. Run prisma db pull to turn your database schema into a Prisma schema. 3. Run prisma generate to generate the Prisma Client. You can then start querying your database. +4. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with provider param - postgresql 2`] = ` @@ -712,16 +627,11 @@ exports[`works with url param 1`] = ` Next steps: 1. Run prisma db pull to turn your database schema into a Prisma schema. 2. Run prisma generate to generate the Prisma Client. You can then start querying your database. +3. Tip: Explore how you can extend the ORM with scalable connection pooling, global caching, and real-time database events. Read: https://pris.ly/cli/beyond-orm More information in our documentation: https://pris.ly/d/getting-started - -┌────────────────────────────────────────────────────────────────┐ -│ Developing real-time features? │ -│ Prisma Pulse lets you respond instantly to database changes. │ -│ https://pris.ly/cli/pulse │ -└────────────────────────────────────────────────────────────────┘ - " +" `; exports[`works with url param 2`] = ` diff --git a/packages/cli/src/__tests__/commands/__snapshots__/Version.test.ts.snap b/packages/cli/src/__tests__/commands/__snapshots__/Version.test.ts.snap index 286654f4615f..c017c05fff6d 100644 --- a/packages/cli/src/__tests__/commands/__snapshots__/Version.test.ts.snap +++ b/packages/cli/src/__tests__/commands/__snapshots__/Version.test.ts.snap @@ -2,11 +2,12 @@ exports[`version basic version (Node-API) 1`] = ` "prisma : 0.0.0 -@prisma/client : Not found +@prisma/client : 0.0.0 Computed binaryTarget : TEST_PLATFORM Operating System : OS Architecture : ARCHITECTURE Node.js : NODEJS_VERSION +TypeScript : TYPESCRIPT_VERSION Query Engine (Node-API) : libquery-engine ENGINE_VERSION (at sanitized_path/libquery_engine-TEST_PLATFORM.LIBRARY_TYPE.node) Schema Engine : schema-engine-cli ENGINE_VERSION (at sanitized_path/schema-engine-TEST_PLATFORM) Schema Wasm : @prisma/prisma-schema-wasm CLI_VERSION.ENGINE_VERSION @@ -16,7 +17,7 @@ Studio : STUDIO_VERSION" exports[`version basic version 1`] = ` "prisma : 0.0.0 -@prisma/client : Not found +@prisma/client : 0.0.0 Computed binaryTarget : TEST_PLATFORM Operating System : OS Architecture : ARCHITECTURE @@ -30,11 +31,12 @@ Studio : STUDIO_VERSION" exports[`version version with custom binaries (Node-API) 1`] = ` "prisma : 0.0.0 -@prisma/client : Not found +@prisma/client : 0.0.0 Computed binaryTarget : TEST_PLATFORM Operating System : OS Architecture : ARCHITECTURE Node.js : NODEJS_VERSION +TypeScript : TYPESCRIPT_VERSION Query Engine (Node-API) : libquery-engine ENGINE_VERSION (at sanitized_path/libquery_engine-TEST_PLATFORM.LIBRARY_TYPE.node, resolved by PRISMA_QUERY_ENGINE_LIBRARY) Schema Engine : schema-engine-cli ENGINE_VERSION (at sanitized_path/schema-engine-TEST_PLATFORM, resolved by PRISMA_SCHEMA_ENGINE_BINARY) Schema Wasm : @prisma/prisma-schema-wasm CLI_VERSION.ENGINE_VERSION @@ -44,7 +46,7 @@ Studio : STUDIO_VERSION" exports[`version version with custom binaries 1`] = ` "prisma : 0.0.0 -@prisma/client : Not found +@prisma/client : 0.0.0 Computed binaryTarget : TEST_PLATFORM Operating System : OS Architecture : ARCHITECTURE diff --git a/packages/cli/src/__tests__/fixtures/broken-example-project/tsconfig.json b/packages/cli/src/__tests__/fixtures/broken-example-project/tsconfig.json index c47266a1ed15..16f9504bb536 100644 --- a/packages/cli/src/__tests__/fixtures/broken-example-project/tsconfig.json +++ b/packages/cli/src/__tests__/fixtures/broken-example-project/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "target": "ES2021" /* Specify ECMAScript target version */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "strict": true /* Enable all strict type-checking options. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, diff --git a/packages/cli/src/__tests__/fixtures/example-project/prisma-unformatted/unformatted.prisma b/packages/cli/src/__tests__/fixtures/example-project/prisma-unformatted/unformatted.prisma new file mode 100644 index 000000000000..e3f6d85d2017 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/example-project/prisma-unformatted/unformatted.prisma @@ -0,0 +1,17 @@ +generator client { +provider = "prisma-client-js" +output = "../generated/client" +} + +datasource db { + provider = "sqlite" + url = "file:dev.db" +} + +model Post { + id Int @id @default(autoincrement()) + createdAt DateTime @default(now()) + title String + content String? + authorId Int +} diff --git a/packages/cli/src/__tests__/fixtures/example-project/tsconfig.json b/packages/cli/src/__tests__/fixtures/example-project/tsconfig.json index c47266a1ed15..16f9504bb536 100644 --- a/packages/cli/src/__tests__/fixtures/example-project/tsconfig.json +++ b/packages/cli/src/__tests__/fixtures/example-project/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "target": "ES2021" /* Specify ECMAScript target version */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "strict": true /* Enable all strict type-checking options. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, diff --git a/packages/cli/src/__tests__/fixtures/init/tsconfig.json b/packages/cli/src/__tests__/fixtures/init/tsconfig.json index c47266a1ed15..16f9504bb536 100644 --- a/packages/cli/src/__tests__/fixtures/init/tsconfig.json +++ b/packages/cli/src/__tests__/fixtures/init/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "target": "ES2021" /* Specify ECMAScript target version */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "strict": true /* Enable all strict type-checking options. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, diff --git a/packages/cli/src/__tests__/fixtures/multi-schema-files/valid-custom-output/prisma/schema/schema1.prisma b/packages/cli/src/__tests__/fixtures/multi-schema-files/valid-custom-output/prisma/schema/schema1.prisma index 69eb00704adf..409502f94015 100644 --- a/packages/cli/src/__tests__/fixtures/multi-schema-files/valid-custom-output/prisma/schema/schema1.prisma +++ b/packages/cli/src/__tests__/fixtures/multi-schema-files/valid-custom-output/prisma/schema/schema1.prisma @@ -1,12 +1,12 @@ generator client { provider = "prisma-client-js" previewFeatures = ["prismaSchemaFolder"] - output = "./client" + output = "../client" } datasource db { provider = "sqlite" - url = "file:./dev.db" + url = "file:../dev.db" } model User { diff --git a/packages/cli/src/__tests__/fixtures/no-models/mongo/schema.prisma b/packages/cli/src/__tests__/fixtures/no-models/mongo/schema.prisma new file mode 100644 index 000000000000..3769225b9b2d --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/no-models/mongo/schema.prisma @@ -0,0 +1,8 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mongodb" + url = env("TEST_MONGO_URI") +} diff --git a/packages/cli/src/__tests__/fixtures/no-models/mysql/schema.prisma b/packages/cli/src/__tests__/fixtures/no-models/mysql/schema.prisma new file mode 100644 index 000000000000..200d99cff140 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/no-models/mysql/schema.prisma @@ -0,0 +1,8 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mysql" + url = env("TEST_MYSQL_URI") +} diff --git a/packages/cli/src/__tests__/fixtures/no-models/postgresql/schema.prisma b/packages/cli/src/__tests__/fixtures/no-models/postgresql/schema.prisma new file mode 100644 index 000000000000..112d69100db6 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/no-models/postgresql/schema.prisma @@ -0,0 +1,8 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("TEST_POSTGRES_URI") +} diff --git a/packages/cli/src/__tests__/fixtures/no-models/sqlite/schema.prisma b/packages/cli/src/__tests__/fixtures/no-models/sqlite/schema.prisma new file mode 100644 index 000000000000..31aa242d9a4b --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/no-models/sqlite/schema.prisma @@ -0,0 +1,8 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "sqlite" + url = "file:./dev.db" +} diff --git a/packages/cli/src/__tests__/fixtures/no-models/sqlserver/schema.prisma b/packages/cli/src/__tests__/fixtures/no-models/sqlserver/schema.prisma new file mode 100644 index 000000000000..94b285d0f84a --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/no-models/sqlserver/schema.prisma @@ -0,0 +1,8 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "sqlserver" + url = env("TEST_MSSQL_URI") +} diff --git a/packages/cli/src/__tests__/fixtures/sub-command/node_modules/sub-command/dist/index.js b/packages/cli/src/__tests__/fixtures/sub-command/node_modules/sub-command/dist/index.js new file mode 100644 index 000000000000..1e9284d115a5 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/sub-command/node_modules/sub-command/dist/index.js @@ -0,0 +1,3 @@ +export const run = async (...args) => { + console.log('sub-command', args); +} \ No newline at end of file diff --git a/packages/cli/src/__tests__/fixtures/sub-command/node_modules/sub-command/package.json b/packages/cli/src/__tests__/fixtures/sub-command/node_modules/sub-command/package.json new file mode 100644 index 000000000000..705b631bf058 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/sub-command/node_modules/sub-command/package.json @@ -0,0 +1,5 @@ +{ + "name": "sub-command", + "version": "1.0.0", + "main": "./dist/index.js" +} \ No newline at end of file diff --git a/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mongo/prisma/schema.prisma b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mongo/prisma/schema.prisma new file mode 100644 index 000000000000..5553bb82408e --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mongo/prisma/schema.prisma @@ -0,0 +1,15 @@ +generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] +} + +datasource db { + provider = "mongodb" + url = env("TEST_MONGO_URI") +} + +model User { + id String @default(auto()) @id @map("_id") @db.ObjectId + email String @unique + name String? +} diff --git a/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mongo/prisma/sql/invalidQuery.sql b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mongo/prisma/sql/invalidQuery.sql new file mode 100644 index 000000000000..9d6aaf67f4d2 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mongo/prisma/sql/invalidQuery.sql @@ -0,0 +1 @@ +WHAT WOULD YOU EVEN WRITE FOR MONGO SQL? \ No newline at end of file diff --git a/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mssql/prisma/schema.prisma b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mssql/prisma/schema.prisma new file mode 100644 index 000000000000..1ca6c6eb30bf --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mssql/prisma/schema.prisma @@ -0,0 +1,15 @@ +generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] +} + +datasource db { + provider = "sqlserver" + url = env("TEST_MSSQL_JDBC_URI") +} + +model User { + id Int @default(autoincrement()) @id + email String @unique + name String? +} diff --git a/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mssql/prisma/sql/invalidQuery.sql b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mssql/prisma/sql/invalidQuery.sql new file mode 100644 index 000000000000..b04938ee7601 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/typed-sql-invalid-mssql/prisma/sql/invalidQuery.sql @@ -0,0 +1 @@ +SELECT * FROM User; \ No newline at end of file diff --git a/packages/cli/src/__tests__/fixtures/typed-sql-invalid/prisma/schema.prisma b/packages/cli/src/__tests__/fixtures/typed-sql-invalid/prisma/schema.prisma new file mode 100644 index 000000000000..a91d5ac2a1f5 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/typed-sql-invalid/prisma/schema.prisma @@ -0,0 +1,15 @@ +generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] +} + +datasource db { + provider = "sqlite" + url = "file:./dev.db" +} + +model User { + id Int @default(autoincrement()) @id + email String @unique + name String? +} diff --git a/packages/cli/src/__tests__/fixtures/typed-sql-invalid/prisma/sql/invalidQuery.sql b/packages/cli/src/__tests__/fixtures/typed-sql-invalid/prisma/sql/invalidQuery.sql new file mode 100644 index 000000000000..df1f3dd5a041 --- /dev/null +++ b/packages/cli/src/__tests__/fixtures/typed-sql-invalid/prisma/sql/invalidQuery.sql @@ -0,0 +1 @@ +SELECT * FROM Not!A!Valid!Table; \ No newline at end of file diff --git a/packages/cli/src/__tests__/incomplete-schemas.test.ts b/packages/cli/src/__tests__/incomplete-schemas.test.ts index 29ea5cc13e0d..b2e3d3ba52f2 100644 --- a/packages/cli/src/__tests__/incomplete-schemas.test.ts +++ b/packages/cli/src/__tests__/incomplete-schemas.test.ts @@ -64,8 +64,7 @@ describe('[wasm] incomplete-schemas', () => { try { await DbPull.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Error validating datasource \`db\`: the URL must start with the protocol \`postgresql://\` or \`postgres://\`. @@ -79,8 +78,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -92,8 +90,8 @@ describe('[wasm] incomplete-schemas', () => { await DbExecute.new().parse(['--file=./script.sql']) } catch (e) { expect(stripAnsi(e.message)).toMatchInlineSnapshot(` - "P1012 - + "Prisma schema validation - (get-config wasm) + Error code: P1012 error: Error validating datasource \`db\`: the URL must start with the protocol \`postgresql://\` or \`postgres://\`. --> schema.prisma:5 | @@ -101,7 +99,10 @@ describe('[wasm] incomplete-schemas', () => { 5 | url = env("SOME_DEFINED_INVALID_URL") | - " + Validation Error Count: 1 + [Context: getConfig] + + Prisma CLI Version : 0.0.0" `) } }) @@ -111,8 +112,7 @@ describe('[wasm] incomplete-schemas', () => { try { await MigrateReset.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Error validating datasource \`db\`: the URL must start with the protocol \`postgresql://\` or \`postgres://\`. @@ -126,8 +126,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -136,8 +135,7 @@ describe('[wasm] incomplete-schemas', () => { try { await MigrateDev.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Error validating datasource \`db\`: the URL must start with the protocol \`postgresql://\` or \`postgres://\`. @@ -151,8 +149,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) }) @@ -167,8 +164,7 @@ describe('[wasm] incomplete-schemas', () => { try { await Validate.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: SOME_UNDEFINED_DB. @@ -182,8 +178,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -192,8 +187,7 @@ describe('[wasm] incomplete-schemas', () => { try { await DbPush.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: SOME_UNDEFINED_DB. @@ -207,8 +201,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -217,8 +210,7 @@ describe('[wasm] incomplete-schemas', () => { try { await DbPull.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: SOME_UNDEFINED_DB. @@ -232,8 +224,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -245,8 +236,8 @@ describe('[wasm] incomplete-schemas', () => { await DbExecute.new().parse(['--file=./script.sql']) } catch (e) { expect(stripAnsi(e.message)).toMatchInlineSnapshot(` - "P1012 - + "Prisma schema validation - (get-config wasm) + Error code: P1012 error: Environment variable not found: SOME_UNDEFINED_DB. --> schema.prisma:5 | @@ -254,7 +245,10 @@ describe('[wasm] incomplete-schemas', () => { 5 | url = env("SOME_UNDEFINED_DB") | - " + Validation Error Count: 1 + [Context: getConfig] + + Prisma CLI Version : 0.0.0" `) } }) @@ -264,8 +258,7 @@ describe('[wasm] incomplete-schemas', () => { try { await MigrateReset.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: SOME_UNDEFINED_DB. @@ -279,8 +272,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -289,8 +281,7 @@ describe('[wasm] incomplete-schemas', () => { try { await MigrateDev.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: SOME_UNDEFINED_DB. @@ -304,8 +295,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) }) @@ -331,8 +321,7 @@ describe('[wasm] incomplete-schemas', () => { try { await Validate.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (validate wasm) Error code: P1012 error: Argument "url" is missing in data source block "db". @@ -348,8 +337,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: validate] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -359,8 +347,7 @@ describe('[wasm] incomplete-schemas', () => { try { await Format.new().parse([]) } catch (e) { - expect(serializeQueryEngineName(stripAnsi(e.message))).toMatchInlineSnapshot( - ` + expect(serializeQueryEngineName(stripAnsi(e.message))).toMatchInlineSnapshot(` "Prisma schema validation - (validate wasm) Error code: P1012 error: Argument "url" is missing in data source block "db". @@ -376,8 +363,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: validate] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) }) @@ -408,8 +394,7 @@ describe('[wasm] incomplete-schemas', () => { try { await DbPush.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Argument "url" is missing in data source block "db". @@ -425,8 +410,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -435,8 +419,7 @@ describe('[wasm] incomplete-schemas', () => { try { await DbPull.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Argument "url" is missing in data source block "db". @@ -452,8 +435,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -465,8 +447,8 @@ describe('[wasm] incomplete-schemas', () => { await DbExecute.new().parse(['--file=./script.sql']) } catch (e) { expect(stripAnsi(e.message)).toMatchInlineSnapshot(` - "P1012 - + "Prisma schema validation - (get-config wasm) + Error code: P1012 error: Argument "url" is missing in data source block "db". --> schema.prisma:3 | @@ -476,7 +458,10 @@ describe('[wasm] incomplete-schemas', () => { 5 | } | - " + Validation Error Count: 1 + [Context: getConfig] + + Prisma CLI Version : 0.0.0" `) } }) @@ -486,8 +471,7 @@ describe('[wasm] incomplete-schemas', () => { try { await MigrateReset.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Argument "url" is missing in data source block "db". @@ -503,8 +487,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) @@ -513,8 +496,7 @@ describe('[wasm] incomplete-schemas', () => { try { await MigrateDev.new().parse([]) } catch (e) { - expect(stripAnsi(e.message)).toMatchInlineSnapshot( - ` + expect(stripAnsi(e.message)).toMatchInlineSnapshot(` "Prisma schema validation - (get-config wasm) Error code: P1012 error: Argument "url" is missing in data source block "db". @@ -530,8 +512,7 @@ describe('[wasm] incomplete-schemas', () => { [Context: getConfig] Prisma CLI Version : 0.0.0" - `, - ) + `) } }) }) @@ -559,13 +540,11 @@ describe('[normalized library/binary] incomplete-schemas', () => { try { await DbPull.new().parse([]) } catch (e) { - expect(serializeQueryEngineName(stripAnsi(e.message))).toMatchInlineSnapshot( - ` + expect(serializeQueryEngineName(stripAnsi(e.message))).toMatchInlineSnapshot(` "There is no datasource in the schema. " - `, - ) + `) } }) @@ -576,13 +555,11 @@ describe('[normalized library/binary] incomplete-schemas', () => { try { await DbExecute.new().parse(['--file=./script.sql']) } catch (e) { - expect(serializeQueryEngineName(stripAnsi(e.message))).toMatchInlineSnapshot( - ` + expect(serializeQueryEngineName(stripAnsi(e.message))).toMatchInlineSnapshot(` "There is no datasource in the schema. " - `, - ) + `) } }) diff --git a/packages/cli/src/__tests__/preinstall.test.ts b/packages/cli/src/__tests__/preinstall.test.ts index ccee55163ee9..a115b28ba2ef 100644 --- a/packages/cli/src/__tests__/preinstall.test.ts +++ b/packages/cli/src/__tests__/preinstall.test.ts @@ -4,14 +4,14 @@ import { printMessageAndExitIfUnsupportedNodeVersion } from '../../scripts/prein const ctx = jestContext.new().add(jestConsoleContext()).assemble() -it('should exit 1 and print a message when Node.js version is lower than minimum - 16.0', () => { +it('should exit 1 and print a message when Node.js minor version is lower than minimum - 18.0', () => { const mockExit = jest.spyOn(process, 'exit').mockImplementation() - printMessageAndExitIfUnsupportedNodeVersion('v16.0.0') + printMessageAndExitIfUnsupportedNodeVersion('18.0.0') expect(ctx.mocked['console.error'].mock.calls.join('\n')).toMatchInlineSnapshot(` "┌──────────────────────────────────────────────┐ - │ Prisma only supports Node.js >= 16.13. │ + │ Prisma only supports Node.js >= 18.18. │ │ Please upgrade your Node.js version. │ └──────────────────────────────────────────────┘" `) @@ -20,14 +20,14 @@ it('should exit 1 and print a message when Node.js version is lower than minimum mockExit.mockRestore() }) -it('should exit 1 and print a message when Node.js version is lower than minimum - 14.13', () => { +it('should exit 1 and print a message when Node.js major version is lower than minimum - 16.18', () => { const mockExit = jest.spyOn(process, 'exit').mockImplementation() - printMessageAndExitIfUnsupportedNodeVersion('v14.13.0') + printMessageAndExitIfUnsupportedNodeVersion('16.18.0') expect(ctx.mocked['console.error'].mock.calls.join('\n')).toMatchInlineSnapshot(` "┌──────────────────────────────────────────────┐ - │ Prisma only supports Node.js >= 16.13. │ + │ Prisma only supports Node.js >= 18.18. │ │ Please upgrade your Node.js version. │ └──────────────────────────────────────────────┘" `) @@ -36,20 +36,20 @@ it('should exit 1 and print a message when Node.js version is lower than minimum mockExit.mockRestore() }) -it('should do nothing when Node.js version is supported - 16.13', () => { - printMessageAndExitIfUnsupportedNodeVersion('v16.13.0') +it('should do nothing when Node.js version is supported - 18.18', () => { + printMessageAndExitIfUnsupportedNodeVersion('18.18.0') expect(ctx.mocked['console.error'].mock.calls.join('\n')).toMatchInlineSnapshot(`""`) }) it('should do nothing when Node.js version is supported - current', () => { - printMessageAndExitIfUnsupportedNodeVersion(process.version) + printMessageAndExitIfUnsupportedNodeVersion(process.versions.node as `${number}.${number}.${number}`) expect(ctx.mocked['console.error'].mock.calls.join('\n')).toMatchInlineSnapshot(`""`) }) it('should do nothing when Node.js version is supported - 20.0', () => { - printMessageAndExitIfUnsupportedNodeVersion('v20.0.0') + printMessageAndExitIfUnsupportedNodeVersion('20.0.0') expect(ctx.mocked['console.error'].mock.calls.join('\n')).toMatchInlineSnapshot(`""`) }) diff --git a/packages/cli/src/bin.ts b/packages/cli/src/bin.ts index acd937389cf9..7f524d27f5ff 100755 --- a/packages/cli/src/bin.ts +++ b/packages/cli/src/bin.ts @@ -37,6 +37,7 @@ import { Platform } from './platform/_Platform' prisma:cli - /Users/j42/Dev/prisma-meow/node_modules/.pnpm/@prisma+studio-pcw@0.456.0/node_modules/@prisma/studio-pcw/dist/index.js */ import { Studio } from './Studio' +import { SubCommand } from './SubCommand' import { Telemetry } from './Telemetry' import { redactCommandArray, runCheckpointClientCheck } from './utils/checkpoint' import { detectPrisma1 } from './utils/detectPrisma1' @@ -46,7 +47,6 @@ import { Version } from './Version' const debug = Debug('prisma:cli:bin') -// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment const packageJson = require('../package.json') const commandArray = process.argv.slice(2) @@ -86,6 +86,8 @@ async function main(): Promise { { init: Init.new(), platform: Platform.$.new({ + policy: new SubCommand('@prisma/cli-policy'), + workspace: Platform.Workspace.$.new({ show: Platform.Workspace.Show.new(), }), diff --git a/packages/cli/src/generate/Watcher.ts b/packages/cli/src/generate/Watcher.ts new file mode 100644 index 000000000000..111c10c7803c --- /dev/null +++ b/packages/cli/src/generate/Watcher.ts @@ -0,0 +1,59 @@ +import chokidar, { FSWatcher } from 'chokidar' + +type Resolve = (value: T) => void + +class EventQueue { + private _queue: T[] = [] + private _deferred: Resolve | undefined + + push(value: T) { + // if we are already waiting for next even, resolve next promise + if (this._deferred) { + this._deferred(value) + this._deferred = undefined + } else { + this._queue.push(value) + } + } + + nextEvent(): Promise { + const event = this._queue.shift() + if (event) { + return Promise.resolve(event) + } + + return new Promise((resolve) => { + this._deferred = resolve + }) + } +} + +export class Watcher { + private watcher: FSWatcher + private changeQueue = new EventQueue() + constructor(rootDir: string) { + this.watcher = chokidar.watch(rootDir, { + ignoreInitial: true, + followSymlinks: true, + }) + + this.watcher.on('all', (e, path) => { + this.changeQueue.push(path) + }) + } + + add(watchPath: string) { + this.watcher.add(watchPath) + } + + async *[Symbol.asyncIterator]() { + while (true) { + const event = await this.changeQueue.nextEvent() + yield event + } + } + + async stop() { + await this.watcher.close() + } +} diff --git a/packages/cli/src/generate/introspectSql.ts b/packages/cli/src/generate/introspectSql.ts new file mode 100644 index 000000000000..4dfd4b2fcc39 --- /dev/null +++ b/packages/cli/src/generate/introspectSql.ts @@ -0,0 +1,57 @@ +import { isValidJsIdentifier } from '@prisma/internals' +import { introspectSql as migrateIntrospectSql, IntrospectSqlError, IntrospectSqlInput } from '@prisma/migrate' +import fs from 'fs/promises' +import { bold } from 'kleur/colors' +import path from 'path' + +const SQL_DIR = 'sql' + +export async function introspectSql(schemaPath: string) { + const sqlFiles = await readTypedSqlFiles(schemaPath) + const introspectionResult = await migrateIntrospectSql(schemaPath, sqlFiles) + if (introspectionResult.ok) { + return introspectionResult.queries + } + throw new Error(renderErrors(introspectionResult.errors)) +} + +export function sqlDirPath(schemaPath: string) { + return path.join(path.dirname(schemaPath), SQL_DIR) +} + +async function readTypedSqlFiles(schemaPath: string): Promise { + const sqlPath = path.join(path.dirname(schemaPath), SQL_DIR) + const files = await fs.readdir(sqlPath) + const results: IntrospectSqlInput[] = [] + for (const fileName of files) { + const { name, ext } = path.parse(fileName) + if (ext !== '.sql') { + continue + } + const absPath = path.join(sqlPath, fileName) + if (!isValidJsIdentifier(name)) { + throw new Error(`${absPath} can not be used as a typed sql query: name must be a valid JS identifier`) + } + if (name.startsWith('$')) { + throw new Error(`${absPath} can not be used as a typed sql query: name must not start with $`) + } + const source = await fs.readFile(path.join(sqlPath, fileName), 'utf8') + results.push({ + name, + source, + fileName: absPath, + }) + } + + return results +} + +function renderErrors(errors: IntrospectSqlError[]) { + const lines: string[] = [`Errors while reading sql files:\n`] + for (const { fileName, message } of errors) { + lines.push(`In ${bold(path.relative(process.cwd(), fileName))}:`) + lines.push(message) + lines.push('') + } + return lines.join('\n') +} diff --git a/packages/cli/src/platform/$.ts b/packages/cli/src/platform/$.ts index 2c5814ab50e4..40bb108b9252 100644 --- a/packages/cli/src/platform/$.ts +++ b/packages/cli/src/platform/$.ts @@ -22,6 +22,8 @@ export class $ implements Command { // ['serviceToken', 'Manage service tokens'], ['accelerate', 'Manage Prisma Accelerate'], ['pulse', 'Manage Prisma Pulse'], + // TODO: undo comment before EA + // ['policy', 'Manage Prisma Policy'], ], options: [ ['--early-access', '', 'Enable early access features'], diff --git a/packages/cli/src/platform/_.ts b/packages/cli/src/platform/_.ts index 34fbe4708548..3a7c47f7c8ba 100644 --- a/packages/cli/src/platform/_.ts +++ b/packages/cli/src/platform/_.ts @@ -1,3 +1,4 @@ +export * from './_lib/utils' export * from './$' export * from './accelerate/_Accelerate' export * from './auth/_Auth' diff --git a/packages/cli/src/platform/_lib/utils.ts b/packages/cli/src/platform/_lib/utils.ts index 4f7fa6d24451..7a9539f86c3e 100644 --- a/packages/cli/src/platform/_lib/utils.ts +++ b/packages/cli/src/platform/_lib/utils.ts @@ -1,4 +1,4 @@ -import { getCommandWithExecutor, isError } from '@prisma/internals' +import { getCommandWithExecutor, isError, link } from '@prisma/internals' import { bold, green } from 'kleur/colors' import { getOptionalParameter } from './cli/parameters' @@ -8,10 +8,12 @@ export const platformParameters = { global: { // TODO Remove this from global once we have a way for parents to strip out flags upon parsing. '--token': String, + '--json': Boolean, }, workspace: { '--token': String, '--workspace': String, + '--json': Boolean, '-w': '--workspace', }, project: { @@ -63,3 +65,72 @@ export const generateConnectionString = (apiKey: string) => { url.searchParams.set('api_key', apiKey) return bold(url.href) } + +export const poll = async Promise, R>( + fn: F, + until: (res: R) => boolean, + waitMs: number, + timeoutMs: number, + message?: string, +) => { + const endTime = new Date().getMilliseconds() + timeoutMs + + const wait = () => + new Promise((resolve) => { + setTimeout(resolve, waitMs) + }) + + let result = await fn() + while (!until(result)) { + const waitTime = new Date().getMilliseconds() + waitMs + if (waitTime > endTime) { + throw new Error(`polling timed out after ${timeoutMs}ms`) + } + if (message) console.log(message) + result = await wait().then(fn) + } + + if (isError(result)) throw result + + return result +} + +export const printPpgInitOutput = ({ + databaseUrl, + workspaceId, + projectId, + environmentId, +}: { + databaseUrl: string + workspaceId: string + projectId: string + environmentId: string +}) => ` +Database URL: +${green(databaseUrl)} + +Project link: +${link(`https://console.prisma.io/${workspaceId}/${projectId}/${environmentId}/dashboard`)} + +${bold('Next steps')} +${bold('1. Define your database schema')} +Open the ${green('schema.prisma')} file and define your first models. Go to ${link( + 'https://pris.ly/ppg-quickstart', +)} if you need inspiration. + +${bold('2. Apply migrations')} +Run the following command to create and apply a migration: +${green('npx prisma migrate dev --name init')} + +${bold(`3. Send queries with Prisma Client`)} +As a next step, you can instantiate Prisma Client and start sending queries to your database from your application. + +${bold(`4. Manage your data`)} +View your database in Studio via Console: ${link( + `https://console.prisma.io/${workspaceId}/${projectId}/${environmentId}/studio`, +)}. +Or run Studio locally with: ${green('npx prisma studio')} + +Find more information in our documentation: +${link('https://pris.ly/d/getting-started')} +` diff --git a/packages/cli/src/platform/accelerate/regions.ts b/packages/cli/src/platform/accelerate/regions.ts new file mode 100644 index 000000000000..dd32fac28a8a --- /dev/null +++ b/packages/cli/src/platform/accelerate/regions.ts @@ -0,0 +1,45 @@ +import { requestOrThrow } from '../_lib/pdp' + +export const getRegionsOrThrow = async (input: { token: string }) => { + const { token } = input + + const { system } = await requestOrThrow<{ + system: { + accelerate: { + regions: { + id: string + displayName: string + ppgStatus: 'available' | 'unavailable' | 'unsupported' + }[] + } + } + }>({ + token, + body: { + query: /* GraphQL */ ` + query { + system { + accelerate { + regions { + id + displayName + ppgStatus + } + } + } + } + `, + }, + }) + + return system.accelerate.regions +} + +export const getPrismaPostgresRegionsOrThrow = async (input: { token: string }) => { + const regions = await getRegionsOrThrow(input) + const ppgRegions = regions + .filter((_) => _.ppgStatus !== 'unsupported') + .sort((a, b) => b.displayName.localeCompare(a.displayName)) + + return ppgRegions +} diff --git a/packages/cli/src/platform/auth/__tests__/show.test.ts b/packages/cli/src/platform/auth/__tests__/show.test.ts new file mode 100644 index 000000000000..534769306375 --- /dev/null +++ b/packages/cli/src/platform/auth/__tests__/show.test.ts @@ -0,0 +1,45 @@ +import { requestOrThrow } from '../../_lib/pdp' +import { getTokenOrThrow } from '../../_lib/utils' +import { Show } from '../show' + +jest.mock('../../_lib/pdp') +jest.mock('../../_lib/utils') + +describe('platform auth show', () => { + test('should output token with --sensitive', async () => { + jest.mocked(requestOrThrow).mockResolvedValue( + Promise.resolve({ + me: { + user: { + __typename: 'User', + id: '23', + email: 'foo@bar.org', + displayName: 'Foo Bar', + }, + }, + }), + ) + + jest.mocked(getTokenOrThrow).mockReturnValue(Promise.resolve('testToken')) + + await expect(Show.new().parse(['--sensitive'])).resolves.toContain('testToken') + }) + test('should not output token if --sensitive not given', async () => { + jest.mocked(requestOrThrow).mockResolvedValue( + Promise.resolve({ + me: { + user: { + __typename: 'User', + id: '23', + email: 'foo@bar.org', + displayName: 'Foo Bar', + }, + }, + }), + ) + + jest.mocked(getTokenOrThrow).mockReturnValue(Promise.resolve('testToken')) + + await expect(Show.new().parse([])).resolves.not.toContain('testToken') + }) +}) diff --git a/packages/cli/src/platform/auth/login.ts b/packages/cli/src/platform/auth/login.ts index ee7d9eea0f25..fcb6c962289b 100644 --- a/packages/cli/src/platform/auth/login.ts +++ b/packages/cli/src/platform/auth/login.ts @@ -1,3 +1,4 @@ +import { select } from '@inquirer/prompts' import Debug from '@prisma/debug' import { arg, Command, getCommandWithExecutor, isError, link } from '@prisma/internals' import listen from 'async-listen' @@ -34,7 +35,10 @@ export class Login implements Command { }) if (isError(args)) return args - const optimize = args['--optimize'] ?? false + if (args['--optimize']) { + console.warn("The '--optimize' flag is deprecated. Use API keys instead.") + } + const credentials = await credentialsFile.load() if (isError(credentials)) throw credentials if (credentials) return `Already authenticated. Run ${green(getCommandWithExecutor('prisma platform auth show --early-access'),)} to see the current user.` // prettier-ignore @@ -47,7 +51,7 @@ export class Login implements Command { */ const randomPort = 0 const redirectUrl = await listen(server, randomPort, '127.0.0.1') - const loginUrl = await createLoginUrl({ connection: `github`, redirectTo: redirectUrl.href }, optimize) + const loginUrl = await createLoginUrl({ connection: 'github', redirectTo: redirectUrl.href }) console.info('Visit the following URL in your browser to authenticate:') console.info(link(loginUrl.href)) @@ -60,7 +64,7 @@ export class Login implements Command { const searchParams = new URL(req.url || '/', 'http://localhost').searchParams const token = searchParams.get('token') ?? '' const error = searchParams.get('error') - const location = new URL(getAuthPath(optimize), consoleUrl) + const location = getBaseAuthUrl() if (error) { location.pathname += '/error' @@ -108,31 +112,28 @@ export class Login implements Command { } } -const getAuthPath = (optimize: boolean) => (optimize ? '/auth/optimize' : '/auth/cli') +const getBaseAuthUrl = () => new URL('/auth/cli', consoleUrl) -const createLoginUrl = async (params: { connection: string; redirectTo: string }, optimize: boolean) => { +const createLoginUrl = async (params: { connection: string; redirectTo: string }) => { const userAgent = await getUserAgent() const state: State = { client: userAgent, ...params, } const stateEncoded = encodeState(state) - const url = new URL(getAuthPath(optimize), consoleUrl) + const url = getBaseAuthUrl() url.searchParams.set('state', stateEncoded) - if (optimize) { - url.searchParams.set('source', 'cli') - } - return url } + interface State { client: string connection: string redirectTo: string } -const encodeState = (state: State) => Buffer.from(JSON.stringify(state), `utf-8`).toString(`base64`) +const encodeState = (state: State) => Buffer.from(JSON.stringify(state), 'utf-8').toString('base64') const decodeUser = (stringifiedUser: string) => { try { @@ -148,3 +149,84 @@ const decodeUser = (stringifiedUser: string) => { return null } } + +export const loginOrSignup = async () => { + const providerAnswer = await select({ + message: 'Select an authentication method', + default: 'google', + choices: [ + { name: 'Google', value: 'google' }, + { name: 'GitHub', value: 'github' }, + ], + }) + console.info('Authenticating to Prisma Platform via browser.\n') + + const server = http.createServer() + /** + * When passing 0 as a port to listen, the OS will assign a random available port + */ + const randomPort = 0 + const redirectUrl = await listen(server, randomPort, '127.0.0.1') + const loginUrl = await createLoginUrl({ connection: providerAnswer, redirectTo: redirectUrl.href }) + + console.info('Visit the following URL in your browser to authenticate:') + console.info(link(loginUrl.href)) + + const callbackResult = await Promise.all([ + new Promise((resolve, reject) => { + server.once('request', (req, res) => { + server.close() + res.setHeader('connection', 'close') + const searchParams = new URL(req.url || '/', 'http://localhost').searchParams + const token = searchParams.get('token') ?? '' + const error = searchParams.get('error') + const location = getBaseAuthUrl() + + if (error) { + location.pathname += '/error' + location.searchParams.set('error', error) + reject(new Error(error)) + } else { + // TODO: Consider getting the user via Console API instead of passing it via query params + const user = decodeUser(searchParams.get('user') ?? '') + if (user) { + searchParams.delete('token') + searchParams.delete('user') + location.pathname += '/success' + const nextSearchParams = new URLSearchParams({ + ...Object.fromEntries(searchParams.entries()), + email: user.email, + }) + location.search = nextSearchParams.toString() + resolve({ token, user }) + } else { + location.pathname += '/error' + location.searchParams.set('error', 'Invalid user') + reject(new Error('Invalid user')) + } + } + + res.statusCode = 302 + res.setHeader('location', location.href) + res.end() + }) + server.once('error', reject) + }), + open(loginUrl.href), + ]) + .then((results) => results[0]) + .catch(unknownToError) + + if (isError(callbackResult)) throw new Error(`Authentication failed: ${callbackResult.message}`) // prettier-ignore + + { + const writeResult = await credentialsFile.save({ token: callbackResult.token }) + if (isError(writeResult)) throw new Error('Writing credentials to disk failed', { cause: writeResult }) + } + + return { + message: successMessage(`Authentication successful for ${callbackResult.user.email}`), + email: callbackResult.user.email, + token: callbackResult.token, + } +} diff --git a/packages/cli/src/platform/auth/show.ts b/packages/cli/src/platform/auth/show.ts index 931035436697..9b6db3bbfb67 100644 --- a/packages/cli/src/platform/auth/show.ts +++ b/packages/cli/src/platform/auth/show.ts @@ -1,7 +1,7 @@ import { Command } from '@prisma/internals' import { green } from 'kleur/colors' -import { argOrThrow } from '../_lib/cli/parameters' +import { argOrThrow, getOptionalParameter } from '../_lib/cli/parameters' import { messages } from '../_lib/messages' import { requestOrThrow } from '../_lib/pdp' import { getTokenOrThrow, platformParameters } from '../_lib/utils' @@ -12,7 +12,10 @@ export class Show implements Command { } public async parse(argv: string[]) { - const args = argOrThrow(argv, { ...platformParameters.global }) + const args = argOrThrow(argv, { + ...platformParameters.global, + '--sensitive': Boolean, + }) const token = await getTokenOrThrow(args) const { me } = await requestOrThrow<{ me: { @@ -41,9 +44,18 @@ export class Show implements Command { `, }, }) + + const data = { + ...me.user, + token: getOptionalParameter(args, ['--sensitive']) ? token : null, + } + return messages.sections([ messages.info(`Currently authenticated as ${green(me.user.email)}`), - messages.resource(me.user, { email: true }), + messages.resource(data, { + email: true, + token: true, + }), ]) } } diff --git a/packages/cli/src/platform/environment/show.ts b/packages/cli/src/platform/environment/show.ts index 386b7c3a9339..e568bc3c27f8 100644 --- a/packages/cli/src/platform/environment/show.ts +++ b/packages/cli/src/platform/environment/show.ts @@ -63,3 +63,70 @@ export class Show implements Command { return messages.resourceList(project.environments) } } + +export const getEnvironmentOrThrow = async (input: { token: string; environmentId: string }) => { + const { token, environmentId } = input + + const { environment } = await requestOrThrow< + { + environment: { + __typename: string + id: string + createdAt: string + displayName: string + ppg: { + status: string + } + accelerate: { + status: { + enabled: boolean + } + } + } + }, + { + id: string + } + >({ + token, + body: { + query: /* GraphQL */ ` + query ($input: QueryEnvironmentInput!) { + environment(input: $input) { + __typename + ... on Error { + message + } + ... on Environment { + __typename + id + displayName + ppg { + status + } + accelerate { + status { + ... on AccelerateStatusEnabled { + __typename + enabled + } + ... on AccelerateStatusDisabled { + __typename + enabled + } + } + } + } + } + } + `, + variables: { + input: { + id: environmentId, + }, + }, + }, + }) + + return environment +} diff --git a/packages/cli/src/platform/project/create.ts b/packages/cli/src/platform/project/create.ts index 11c8da4cc49d..5233de2c5849 100644 --- a/packages/cli/src/platform/project/create.ts +++ b/packages/cli/src/platform/project/create.ts @@ -16,49 +16,78 @@ export class Create implements Command { '--name': String, '-n': '--name', }) - const token = await getTokenOrThrow(args) const workspaceId = getRequiredParameterOrThrow(args, ['--workspace', '-w']) const displayName = getOptionalParameter(args, ['--name', '-n']) - const { projectCreate } = await requestOrThrow< - { - projectCreate: { - __typename: string + + const project = await createProjectOrThrow({ + token: await getTokenOrThrow(args), + workspaceId, + displayName, + }) + + return messages.resourceCreated(project) + } +} + +export const createProjectOrThrow = async (input: { + token: string + workspaceId: string + displayName?: string + environmentDisplayName?: string + allowRemoteDatabases?: boolean + ppgRegion?: string +}) => { + const { token, ...mutationInput } = input + const { projectCreate } = await requestOrThrow< + { + projectCreate: { + __typename: string + id: string + createdAt: string + displayName: string + environmentDisplayName: string + allowRemoteDatabases: boolean + ppgRegion: string + defaultEnvironment: { id: string - createdAt: string displayName: string } - }, - { - workspaceId: string - displayName?: string } - >({ - token, - body: { - query: /* graphql */ ` - mutation ($input: MutationProjectCreateInput!) { - projectCreate(input: $input) { - __typename - ...on Error { - message - } - ...on Project { + }, + { + workspaceId: string + displayName?: string + environmentDisplayName?: string + allowRemoteDatabases?: boolean + ppgRegion?: string + } + >({ + token, + body: { + query: /* graphql */ ` + mutation ($input: MutationProjectCreateInput!) { + projectCreate(input: $input) { + __typename + ...on Error { + message + } + ...on Project { + id + createdAt + displayName + defaultEnvironment { id - createdAt displayName } } } - `, - variables: { - input: { - workspaceId, - displayName, - }, - }, + } + `, + variables: { + input: mutationInput, }, - }) + }, + }) - return messages.resourceCreated(projectCreate) - } + return projectCreate } diff --git a/packages/cli/src/platform/serviceToken/create.ts b/packages/cli/src/platform/serviceToken/create.ts index c472642f128f..d0268da4270c 100644 --- a/packages/cli/src/platform/serviceToken/create.ts +++ b/packages/cli/src/platform/serviceToken/create.ts @@ -20,52 +20,7 @@ export class Create implements Command { const token = await getTokenOrThrow(args) const environmentId = getRequiredParameterOrThrow(args, ['--environment', '-e']) const displayName = getOptionalParameter(args, ['--name', '-n']) - const { serviceTokenCreate } = await requestOrThrow< - { - serviceTokenCreate: { - value: string - serviceToken: { - __typename: string - id: string - createdAt: string - displayName: string - } - } - }, - { - displayName?: string - environmentId?: string - } - >({ - token, - body: { - query: /* GraphQL */ ` - mutation ($input: MutationServiceTokenCreateInput!) { - serviceTokenCreate(input: $input) { - __typename - ... on Error { - message - } - ... on ServiceTokenWithValue { - value - serviceToken { - __typename - id - createdAt - displayName - } - } - } - } - `, - variables: { - input: { - displayName, - environmentId, - }, - }, - }, - }) + const serviceTokenCreate = await createOrThrow({ environmentId, displayName, token }) const resource = this.legacy ? { @@ -77,3 +32,55 @@ export class Create implements Command { return messages.sections([messages.resourceCreated(resource), messages.info(serviceTokenCreate.value)]) } } + +export const createOrThrow = async (input: { environmentId: string; displayName?: string; token: string }) => { + const { environmentId, displayName, token } = input + const { serviceTokenCreate } = await requestOrThrow< + { + serviceTokenCreate: { + value: string + serviceToken: { + __typename: string + id: string + createdAt: string + displayName: string + } + } + }, + { + displayName?: string + environmentId?: string + } + >({ + token, + body: { + query: /* GraphQL */ ` + mutation ($input: MutationServiceTokenCreateInput!) { + serviceTokenCreate(input: $input) { + __typename + ... on Error { + message + } + ... on ServiceTokenWithValue { + value + serviceToken { + __typename + id + createdAt + displayName + } + } + } + } + `, + variables: { + input: { + displayName, + environmentId, + }, + }, + }, + }) + + return serviceTokenCreate +} diff --git a/packages/cli/src/platform/workspace/show.ts b/packages/cli/src/platform/workspace/show.ts index 3b31dec3510f..c2a1c6831da0 100644 --- a/packages/cli/src/platform/workspace/show.ts +++ b/packages/cli/src/platform/workspace/show.ts @@ -15,32 +15,82 @@ export class Show implements Command { ...platformParameters.global, }) const token = await getTokenOrThrow(args) - const { me } = await requestOrThrow<{ - me: { - workspaces: { - __typename: string - id: string - displayName: string - createdAt: string - }[] - } - }>({ - token, - body: { - query: /* GraphQL */ ` - query { - me { - __typename - workspaces { - id - displayName - createdAt - } + const userWorkspaces = await getUserWorkspacesOrThrow({ token }) + + return messages.resourceList(userWorkspaces) + } +} + +export const getUserWorkspacesOrThrow = async (input: { token: string }) => { + const { token } = input + const { me } = await requestOrThrow<{ + me: { + workspaces: { + __typename: string + id: string + displayName: string + createdAt: string + isDefault: boolean + }[] + } + }>({ + token, + body: { + query: /* GraphQL */ ` + query { + me { + __typename + workspaces { + id + displayName + createdAt + isDefault } } - `, - }, - }) - return messages.resourceList(me.workspaces) + } + `, + }, + }) + + return me.workspaces +} + +export const getDefaultWorkspaceOrThrow = async (input: { token: string }) => { + const { token } = input + const { me } = await requestOrThrow<{ + me: { + workspaces: { + __typename: string + id: string + displayName: string + createdAt: string + isDefault: boolean + }[] + } + }>({ + token, + body: { + query: /* GraphQL */ ` + query { + me { + __typename + workspaces { + id + displayName + createdAt + isDefault + } + } + } + `, + }, + }) + + const defaultWorkspace = me.workspaces.find((_) => _.isDefault) + + if (!defaultWorkspace) { + throw new Error('No default workspace found') } + + return defaultWorkspace } diff --git a/packages/cli/src/utils/checkpoint.ts b/packages/cli/src/utils/checkpoint.ts index f78377e45091..5cd42610db35 100644 --- a/packages/cli/src/utils/checkpoint.ts +++ b/packages/cli/src/utils/checkpoint.ts @@ -21,7 +21,7 @@ export async function runCheckpointClientCheck({ command, telemetryInformation, }: { - isPrismaInstalledGlobally: 'npm' | 'yarn' | false + isPrismaInstalledGlobally: 'npm' | false version: string command: string telemetryInformation: string diff --git a/packages/cli/src/utils/handlePromotions.ts b/packages/cli/src/utils/handlePromotions.ts new file mode 100644 index 000000000000..b13ac7db7799 --- /dev/null +++ b/packages/cli/src/utils/handlePromotions.ts @@ -0,0 +1,49 @@ +type Promotion = { + text: string + link: string +} + +const promotions = [ + { + text: `Tip: Want real-time updates to your database without manual polling? Discover how with Pulse:`, + link: 'https://pris.ly/tip-0-pulse', + }, + { + text: `Tip: Want to react to database changes in your app as they happen? Discover how with Pulse:`, + link: 'https://pris.ly/tip-1-pulse', + }, + { + text: `Tip: Need your database queries to be 1000x faster? Accelerate offers you that and more:`, + link: 'https://pris.ly/tip-2-accelerate', + }, + { + text: `Tip: Interested in query caching in just a few lines of code? Try Accelerate today!`, + link: 'https://pris.ly/tip-3-accelerate', + }, + { + text: `Tip: Easily identify and fix slow SQL queries in your app. Optimize helps you enhance your visibility:`, + link: 'https://pris.ly/--optimize', + }, + { + text: `Tip: Curious about the SQL queries Prisma ORM generates? Optimize helps you enhance your visibility:`, + link: 'https://pris.ly/tip-2-optimize', + }, + { + text: `Tip: Want to turn off tips and other hints?`, + link: 'https://pris.ly/tip-4-nohints', + }, + { + text: `Help us improve the Prisma ORM for everyone. Share your feedback in a short 2-min survey:`, + link: 'https://pris.ly/orm/survey/release-5-22', + }, +] satisfies Promotion[] + +function renderPromotion(promotion: Promotion) { + return `${promotion.text} ${promotion.link}` +} + +function getRandomPromotion() { + return promotions[Math.floor(Math.random() * promotions.length)] +} + +export { getRandomPromotion, promotions, renderPromotion } diff --git a/packages/cli/src/utils/printUpdateMessage.ts b/packages/cli/src/utils/printUpdateMessage.ts index 57a4d84b84fa..524bd9b2b33e 100644 --- a/packages/cli/src/utils/printUpdateMessage.ts +++ b/packages/cli/src/utils/printUpdateMessage.ts @@ -51,22 +51,11 @@ function makeInstallCommand( canBeDev: true, }, ): string { - // Examples - // yarn 'yarn/1.22.4 npm/? node/v12.14.1 darwin x64' - // npm 'npm/6.14.7 node/v12.14.1 darwin x64' - const yarnUsed = process.env.npm_config_user_agent?.includes('yarn') - let command = '' - if (isPrismaInstalledGlobally === 'yarn' && options.canBeGlobal) { - command = `yarn global add ${packageName}` - } else if (isPrismaInstalledGlobally === 'npm' && options.canBeGlobal) { + if (isPrismaInstalledGlobally === 'npm' && options.canBeGlobal) { command = `npm i -g ${packageName}` - } else if (yarnUsed && options.canBeDev) { - command = `yarn add --dev ${packageName}` } else if (options.canBeDev) { command = `npm i --save-dev ${packageName}` - } else if (yarnUsed) { - command = `yarn add ${packageName}` } else { command = `npm i ${packageName}` } diff --git a/packages/cli/src/utils/test-handlePanic.ts b/packages/cli/src/utils/test-handlePanic.ts index 16b393ebbf05..aaeea3af6c34 100644 --- a/packages/cli/src/utils/test-handlePanic.ts +++ b/packages/cli/src/utils/test-handlePanic.ts @@ -14,9 +14,7 @@ async function main() { const schemas = await getSchema(path.join(dirPath, 'schema.prisma')) - const engine = new SchemaEngine({ - projectDir: dirPath, - }) + const engine = new SchemaEngine({}) await engine.introspect({ schema: toSchemasContainer(schemas), baseDirectoryPath: dirPath, force: false }) await engine.debugPanic() diff --git a/packages/client/fixtures/blog/tsconfig.json b/packages/client/fixtures/blog/tsconfig.json index 9633962d7fd9..65f4c2cf46ad 100644 --- a/packages/client/fixtures/blog/tsconfig.json +++ b/packages/client/fixtures/blog/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "esModuleInterop": true, "noImplicitAny": false, diff --git a/packages/client/fixtures/dataproxy/tsconfig.json b/packages/client/fixtures/dataproxy/tsconfig.json index 9633962d7fd9..65f4c2cf46ad 100644 --- a/packages/client/fixtures/dataproxy/tsconfig.json +++ b/packages/client/fixtures/dataproxy/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "esModuleInterop": true, "noImplicitAny": false, diff --git a/packages/client/fixtures/enums/tsconfig.json b/packages/client/fixtures/enums/tsconfig.json index 57cf16408263..ad19d9d56270 100644 --- a/packages/client/fixtures/enums/tsconfig.json +++ b/packages/client/fixtures/enums/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "esModuleInterop": true, "noImplicitAny": false, diff --git a/packages/client/fixtures/generate.ts b/packages/client/fixtures/generate.ts index 15105492e105..2330509c0325 100644 --- a/packages/client/fixtures/generate.ts +++ b/packages/client/fixtures/generate.ts @@ -1,17 +1,10 @@ -import arg from 'arg' import fs from 'fs' -import { underline } from 'kleur/colors' import path from 'path' import { generateInFolder } from '../src/utils/generateInFolder' async function main() { - const args = arg({ - '--skip-transpile': Boolean, - '--built-runtime': Boolean, - }) - - const projectDir = args._[0] + const projectDir = process.argv[2] if (!projectDir) { throw new Error(`Project dir missing. Usage: ts-node examples/generate.ts examples/accounts`) @@ -21,22 +14,11 @@ async function main() { throw new Error(`Path ${projectDir} does not exist`) } - const useLocalRuntime = args['--skip-transpile'] - - if (args['--built-runtime'] && !args['--skip-transpile']) { - throw new Error(`Please either provide --skip-transpile or --skip-transpile and --built-runtime`) - } - const time = await generateInFolder({ projectDir: path.join(process.cwd(), projectDir), - useLocalRuntime: args['--skip-transpile'], - transpile: !args['--skip-transpile'], - useBuiltRuntime: args['--built-runtime'], }) - console.log( - `Generated Prisma Client ${underline(useLocalRuntime ? 'with' : 'without')} local runtime in ${time.toFixed(3)}ms`, - ) + console.log(`Generated Prisma Client in ${time.toFixed(3)}ms`) } main().catch(console.error) diff --git a/packages/client/fixtures/mongo/Readme.md b/packages/client/fixtures/mongo/Readme.md index 6356486e8d4a..08fc564d48b9 100644 --- a/packages/client/fixtures/mongo/Readme.md +++ b/packages/client/fixtures/mongo/Readme.md @@ -14,7 +14,7 @@ 4. Generate a client _(from `packages/client`)_ - ts-node fixtures/generate.ts ./fixtures/mongo/ --skip-transpile + ts-node fixtures/generate.ts ./fixtures/mongo/ 5. Run the `main.ts` _(from `packages/client/fixtures/mongo`)_ diff --git a/packages/client/fixtures/mongo/tsconfig.json b/packages/client/fixtures/mongo/tsconfig.json index 9633962d7fd9..65f4c2cf46ad 100644 --- a/packages/client/fixtures/mongo/tsconfig.json +++ b/packages/client/fixtures/mongo/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "esModuleInterop": true, "noImplicitAny": false, diff --git a/packages/client/fixtures/scalarList/tsconfig.json b/packages/client/fixtures/scalarList/tsconfig.json index 57cf16408263..ad19d9d56270 100644 --- a/packages/client/fixtures/scalarList/tsconfig.json +++ b/packages/client/fixtures/scalarList/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "esModuleInterop": true, "noImplicitAny": false, diff --git a/packages/client/helpers/build.ts b/packages/client/helpers/build.ts index ef38acb6f212..6d1147eb7516 100644 --- a/packages/client/helpers/build.ts +++ b/packages/client/helpers/build.ts @@ -8,7 +8,8 @@ import { copyFilePlugin } from '../../../helpers/compile/plugins/copyFilePlugin' import { fillPlugin, smallBuffer, smallDecimal } from '../../../helpers/compile/plugins/fill-plugin/fillPlugin' import { noSideEffectsPlugin } from '../../../helpers/compile/plugins/noSideEffectsPlugin' -const wasmEngineDir = path.dirname(require.resolve('@prisma/query-engine-wasm/package.json')) +const wasmQueryEngineDir = path.dirname(require.resolve('@prisma/query-engine-wasm/package.json')) +const wasmQueryCompilerDir = path.dirname(require.resolve('@prisma/query-compiler-wasm/package.json')) const fillPluginDir = path.join('..', '..', 'helpers', 'compile', 'plugins', 'fill-plugin') const functionPolyfillPath = path.join(fillPluginDir, 'fillers', 'function.ts') const weakrefPolyfillPath = path.join(fillPluginDir, 'fillers', 'weakref.ts') @@ -27,7 +28,7 @@ function nodeRuntimeBuildConfig(targetBuildType: typeof TARGET_BUILD_TYPE): Buil bundle: true, minify: true, sourcemap: 'linked', - emitTypes: targetBuildType === 'library', + emitTypes: ['library', 'client'].includes(targetBuildType), define: { NODE_CLIENT: 'true', TARGET_BUILD_TYPE: JSON.stringify(targetBuildType), @@ -38,11 +39,11 @@ function nodeRuntimeBuildConfig(targetBuildType: typeof TARGET_BUILD_TYPE): Buil } } -function wasmBindgenRuntimeConfig(provider: DriverAdapterSupportedProvider): BuildOptions { +function wasmBindgenRuntimeConfig(type: 'engine' | 'compiler', provider: DriverAdapterSupportedProvider): BuildOptions { return { - name: `query_engine_bg.${provider}`, - entryPoints: [`@prisma/query-engine-wasm/${provider}/query_engine_bg.js`], - outfile: `runtime/query_engine_bg.${provider}`, + name: `query_${type}_bg.${provider}`, + entryPoints: [`@prisma/query-${type}-wasm/${provider}/query_${type}_bg.js`], + outfile: `runtime/query_${type}_bg.${provider}`, minify: true, plugins: [ fillPlugin({ @@ -89,7 +90,7 @@ const commonRuntimesOverrides = { } const runtimesCommonBuildConfig = { - target: 'ES2018', + target: 'ES2021', entryPoints: ['src/runtime/index.ts'], bundle: true, minify: true, @@ -124,27 +125,33 @@ const edgeRuntimeBuildConfig: BuildOptions = { } // we define the config for wasm -const wasmRuntimeBuildConfig: BuildOptions = { - ...runtimesCommonBuildConfig, - target: 'ES2022', - name: 'wasm', - outfile: 'runtime/wasm', - define: { - ...runtimesCommonBuildConfig.define, - TARGET_BUILD_TYPE: '"wasm"', - }, - plugins: [ - fillPlugin({ - // not yet enabled in edge build while driverAdapters is not GA - fillerOverrides: { ...commonRuntimesOverrides, ...smallBuffer, ...smallDecimal }, - }), - copyFilePlugin( - DRIVER_ADAPTER_SUPPORTED_PROVIDERS.map((provider) => ({ - from: path.join(wasmEngineDir, provider, 'query_engine_bg.wasm'), - to: path.join(runtimeDir, `query_engine_bg.${provider}.wasm`), - })), - ), - ], +function wasmRuntimeBuildConfig(type: 'engine' | 'compiler'): BuildOptions { + return { + ...runtimesCommonBuildConfig, + target: 'ES2022', + name: 'wasm', + outfile: 'runtime/wasm', + define: { + ...runtimesCommonBuildConfig.define, + TARGET_BUILD_TYPE: '"wasm"', + }, + plugins: [ + fillPlugin({ + // not yet enabled in edge build while driverAdapters is not GA + fillerOverrides: { ...commonRuntimesOverrides, ...smallBuffer, ...smallDecimal }, + }), + copyFilePlugin( + DRIVER_ADAPTER_SUPPORTED_PROVIDERS.map((provider) => ({ + from: path.join( + type === 'compiler' ? wasmQueryCompilerDir : wasmQueryEngineDir, + provider, + `query_${type}_bg.wasm`, + ), + to: path.join(runtimeDir, `query_${type}_bg.${provider}.wasm`), + })), + ), + ], + } } // React Native is similar to edge in the sense it doesn't have the node API/libraries @@ -209,13 +216,18 @@ void build([ generatorBuildConfig, nodeRuntimeBuildConfig(ClientEngineType.Binary), nodeRuntimeBuildConfig(ClientEngineType.Library), + nodeRuntimeBuildConfig(ClientEngineType.Client), browserBuildConfig, edgeRuntimeBuildConfig, edgeEsmRuntimeBuildConfig, - wasmRuntimeBuildConfig, - wasmBindgenRuntimeConfig('postgresql'), - wasmBindgenRuntimeConfig('mysql'), - wasmBindgenRuntimeConfig('sqlite'), + wasmRuntimeBuildConfig('engine'), + wasmRuntimeBuildConfig('compiler'), + wasmBindgenRuntimeConfig('engine', 'postgresql'), + wasmBindgenRuntimeConfig('engine', 'mysql'), + wasmBindgenRuntimeConfig('engine', 'sqlite'), + wasmBindgenRuntimeConfig('compiler', 'postgresql'), + wasmBindgenRuntimeConfig('compiler', 'mysql'), + wasmBindgenRuntimeConfig('compiler', 'sqlite'), defaultIndexConfig, reactNativeBuildConfig, accelerateContractBuildConfig, diff --git a/packages/client/helpers/functional-test/JestCli.ts b/packages/client/helpers/functional-test/JestCli.ts index d5427b750758..5b150ccf74f6 100644 --- a/packages/client/helpers/functional-test/JestCli.ts +++ b/packages/client/helpers/functional-test/JestCli.ts @@ -4,24 +4,28 @@ import path from 'path' const packageRoot = path.resolve(__dirname, '..', '..') export class JestCli { - private args: string[] - private env: Record - - constructor(args: string[] = [], env: Record = {}) { - this.args = args - this.env = env - } + constructor( + private args: string[] = [], + private env: Record = {}, + private path = 'node_modules/.bin/jest', + ) {} withArgs(args: string[]): JestCli { - return new JestCli([...this.args, ...args], this.env) + return new JestCli([...this.args, ...args], this.env, this.path) } withEnv(env: Record): JestCli { - return new JestCli(this.args, { ...this.env, ...env }) + return new JestCli(this.args, { ...this.env, ...env }, this.path) + } + + withDebugger(): JestCli { + const args = ['--inspect-brk', 'node_modules/jest/bin/jest.js', ...this.args] + const cli = new JestCli(args, this.env, 'node') + return cli } run(): void { - execa.sync('node_modules/.bin/jest', this.args, { + execa.sync(this.path, this.args, { env: this.env, stdio: 'inherit', cwd: packageRoot, diff --git a/packages/client/helpers/functional-test/run-tests.ts b/packages/client/helpers/functional-test/run-tests.ts index a7244d3fb46e..8e5e7e9dbaef 100644 --- a/packages/client/helpers/functional-test/run-tests.ts +++ b/packages/client/helpers/functional-test/run-tests.ts @@ -108,6 +108,8 @@ const args = arg( '--engine-type': String, // Forces any given test to be run with an *added* set of preview features, comma-separated '--preview-features': String, + // Enable Node.js debugger + '--inspect-brk': Boolean, // // Jest params @@ -134,6 +136,10 @@ async function main(): Promise { } } + if (args['--inspect-brk']) { + jestCli = jestCli.withDebugger() + } + if (args['--preview-features']) { jestCli = jestCli.withEnv({ TEST_PREVIEW_FEATURES: args['--preview-features'] }) } diff --git a/packages/client/package.json b/packages/client/package.json index 7056a056e41c..9514e0608fb6 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -107,11 +107,24 @@ "import": "./generator-build/index.js", "default": "./generator-build/index.js" }, + "./sql": { + "require": { + "types": "./sql.d.ts", + "node": "./sql.js", + "default": "./sql.js" + }, + "import": { + "types": "./sql.d.ts", + "node": "./sql.mjs", + "default": "./sql.mjs" + }, + "default": "./sql.js" + }, "./*": "./*" }, "license": "Apache-2.0", "engines": { - "node": ">=16.13" + "node": ">=18.18" }, "homepage": "https://www.prisma.io", "repository": { @@ -154,25 +167,28 @@ "default.d.ts", "index-browser.js", "extension.js", - "extension.d.ts" + "extension.d.ts", + "sql.d.ts", + "sql.js", + "sql.mjs" ], "devDependencies": { - "@cloudflare/workers-types": "4.20240605.0", - "@codspeed/benchmark.js-plugin": "3.1.0", + "@cloudflare/workers-types": "4.20240614.0", + "@codspeed/benchmark.js-plugin": "3.1.1", "@faker-js/faker": "8.4.1", - "@fast-check/jest": "1.8.2", + "@fast-check/jest": "2.0.3", "@inquirer/prompts": "5.0.5", "@jest/create-cache-key-function": "29.7.0", "@jest/globals": "29.7.0", "@jest/test-sequencer": "29.7.0", - "@libsql/client": "0.6.2", - "@neondatabase/serverless": "0.9.3", - "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.24.1", - "@opentelemetry/instrumentation": "0.51.1", - "@opentelemetry/resources": "1.24.1", - "@opentelemetry/sdk-trace-base": "1.24.1", - "@opentelemetry/semantic-conventions": "1.24.1", + "@libsql/client": "0.8.0", + "@neondatabase/serverless": "0.10.2", + "@opentelemetry/api": "1.9.0", + "@opentelemetry/context-async-hooks": "1.29.0", + "@opentelemetry/instrumentation": "0.56.0", + "@opentelemetry/resources": "1.29.0", + "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/semantic-conventions": "1.28.0", "@planetscale/database": "1.18.0", "@prisma/adapter-d1": "workspace:*", "@prisma/adapter-libsql": "workspace:*", @@ -183,7 +199,7 @@ "@prisma/debug": "workspace:*", "@prisma/driver-adapter-utils": "workspace:*", "@prisma/engines": "workspace:*", - "@prisma/engines-version": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/engines-version": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/fetch-engine": "workspace:*", "@prisma/generator-helper": "workspace:*", "@prisma/get-platform": "workspace:*", @@ -192,15 +208,16 @@ "@prisma/migrate": "workspace:*", "@prisma/mini-proxy": "0.9.5", "@prisma/pg-worker": "workspace:*", - "@prisma/query-engine-wasm": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/query-compiler-wasm": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", + "@prisma/query-engine-wasm": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@snaplet/copycat": "0.17.3", - "@swc-node/register": "1.9.1", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", + "@swc-node/register": "1.10.9", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", "@timsuchanek/copy": "1.4.5", "@types/debug": "4.1.12", "@types/fs-extra": "9.0.13", - "@types/jest": "29.5.12", + "@types/jest": "29.5.14", "@types/js-levenshtein": "1.1.3", "@types/mssql": "9.1.5", "@types/node": "18.19.31", @@ -211,7 +228,7 @@ "decimal.js": "10.4.3", "detect-runtime": "1.0.4", "env-paths": "2.2.1", - "esbuild": "0.21.4", + "esbuild": "0.24.2", "execa": "5.1.1", "expect-type": "0.19.0", "flat-map-polyfill": "0.3.8", @@ -222,23 +239,23 @@ "jest": "29.7.0", "jest-extended": "4.0.2", "jest-junit": "16.0.0", - "jest-serializer-ansi-escapes": "3.0.0", + "jest-serializer-ansi-escapes": "4.0.0", "jest-snapshot": "29.7.0", "js-levenshtein": "1.1.6", "kleur": "4.1.5", "klona": "2.0.6", - "mariadb": "3.3.0", - "memfs": "4.9.2", - "mssql": "10.0.2", + "mariadb": "3.3.1", + "memfs": "4.15.0", + "mssql": "11.0.1", "new-github-issue-url": "0.2.1", "node-fetch": "3.3.2", "p-retry": "4.6.2", "pg": "8.11.5", "pkg-up": "3.1.0", "pluralize": "8.0.0", - "resolve": "1.22.8", + "resolve": "1.22.10", "rimraf": "3.0.2", - "simple-statistics": "7.8.3", + "simple-statistics": "7.8.7", "sort-keys": "4.2.0", "source-map-support": "0.5.21", "sql-template-tag": "5.2.1", @@ -246,19 +263,23 @@ "strip-ansi": "6.0.1", "strip-indent": "3.0.0", "ts-node": "10.9.2", - "ts-pattern": "5.1.2", - "tsd": "0.31.0", + "ts-pattern": "5.6.2", + "tsd": "0.31.2", "typescript": "5.4.5", - "undici": "5.28.4", - "wrangler": "3.60.0", + "undici": "7.2.3", + "wrangler": "3.91.0", "zx": "7.2.3" }, "peerDependencies": { - "prisma": "*" + "prisma": "*", + "typescript": ">=5.1.0" }, "peerDependenciesMeta": { "prisma": { "optional": true + }, + "typescript": { + "optional": true } }, "sideEffects": false diff --git a/packages/client/sql.d.ts b/packages/client/sql.d.ts new file mode 100644 index 000000000000..ff2b18fd3fe1 --- /dev/null +++ b/packages/client/sql.d.ts @@ -0,0 +1 @@ +export * from '.prisma/client/sql' diff --git a/packages/client/sql.js b/packages/client/sql.js new file mode 100644 index 000000000000..6d54621ba062 --- /dev/null +++ b/packages/client/sql.js @@ -0,0 +1,4 @@ +'use strict' +module.exports = { + ...require('.prisma/client/sql'), +} diff --git a/packages/client/sql.mjs b/packages/client/sql.mjs new file mode 100644 index 000000000000..9349dbf5088d --- /dev/null +++ b/packages/client/sql.mjs @@ -0,0 +1 @@ +export * from '../../.prisma/client/sql/index.mjs' diff --git a/packages/client/src/__tests__/__helpers__/dmmf-types.ts b/packages/client/src/__tests__/__helpers__/dmmf-types.ts index 948efc3fa52c..ae8dafb51d5c 100644 --- a/packages/client/src/__tests__/__helpers__/dmmf-types.ts +++ b/packages/client/src/__tests__/__helpers__/dmmf-types.ts @@ -164,6 +164,7 @@ const dmmf: DMMF.Document = { plural: 'posts', update: 'updateOnePost', updateMany: 'updateManyPost', + updateManyAndReturn: 'updateManyPostAndReturn', upsert: 'upsertOnePost', }, { diff --git a/packages/client/src/__tests__/benchmarks/huge-schema/huge-schema.bench.ts b/packages/client/src/__tests__/benchmarks/huge-schema/huge-schema.bench.ts index 0c51a42b0f74..ca6f4a2a5955 100644 --- a/packages/client/src/__tests__/benchmarks/huge-schema/huge-schema.bench.ts +++ b/packages/client/src/__tests__/benchmarks/huge-schema/huge-schema.bench.ts @@ -52,7 +52,7 @@ suite printSize('./node_modules/.prisma/client/index.js') // For GitHub CI if (process.env.CI) { - printSize('./node_modules/.prisma/client/libquery_engine-debian-openssl-1.1.x.so.node') + printSize('./node_modules/.prisma/client/libquery_engine-debian-openssl-3.0.x.so.node') } execa.sync('rm', ['-rf', `./dotPlusAtPrismaClientFolder.zip`], { stdout: 'pipe', diff --git a/packages/client/src/__tests__/deserializeRawResults.test.ts b/packages/client/src/__tests__/deserializeRawResults.test.ts index 833dfd0ef70d..cac0c19c1768 100644 --- a/packages/client/src/__tests__/deserializeRawResults.test.ts +++ b/packages/client/src/__tests__/deserializeRawResults.test.ts @@ -1,16 +1,15 @@ -import { deserializeRawResults } from '../runtime/utils/deserializeRawResults' +import Decimal from 'decimal.js' -describe('deserializeRawResults', () => { +import { deserializeRawResult } from '../runtime/utils/deserializeRawResults' + +describe('deserializeRawResult', () => { test('int', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'int', - prisma__value: 42, - }, - }, - ]), + deserializeRawResult({ + columns: ['a'], + types: ['int'], + rows: [[42]], + }), ).toEqual([ { a: 42, @@ -20,14 +19,11 @@ describe('deserializeRawResults', () => { test('bigint', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'bigint', - prisma__value: '10000', - }, - }, - ]), + deserializeRawResult({ + columns: ['a'], + types: ['bigint'], + rows: [['10000']], + }), ).toEqual([ { a: BigInt(10_000), @@ -37,18 +33,11 @@ describe('deserializeRawResults', () => { test('floating point', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'float', - prisma__value: 1.5, - }, - b: { - prisma__type: 'double', - prisma__value: 0.5, - }, - }, - ]), + deserializeRawResult({ + columns: ['a', 'b'], + types: ['float', 'double'], + rows: [[1.5, 0.5]], + }), ).toEqual([ { a: 1.5, @@ -58,16 +47,7 @@ describe('deserializeRawResults', () => { }) test('string', () => { - expect( - deserializeRawResults([ - { - a: { - prisma__type: 'string', - prisma__value: 'hello', - }, - }, - ]), - ).toEqual([ + expect(deserializeRawResult({ columns: ['a'], types: ['string'], rows: [['hello']] })).toEqual([ { a: 'hello', }, @@ -75,16 +55,7 @@ describe('deserializeRawResults', () => { }) test('enum', () => { - expect( - deserializeRawResults([ - { - a: { - prisma__type: 'enum', - prisma__value: 'value', - }, - }, - ]), - ).toEqual([ + expect(deserializeRawResult({ columns: ['a'], types: ['enum'], rows: [['value']] })).toEqual([ { a: 'value', }, @@ -92,37 +63,15 @@ describe('deserializeRawResults', () => { }) test('bytes', () => { - expect( - deserializeRawResults([ - { - a: { - prisma__type: 'bytes', - prisma__value: 'Ynl0ZXM=', - }, - }, - ]), - ).toEqual([ + expect(deserializeRawResult({ columns: ['a'], types: ['bytes'], rows: [['Ynl0ZXM=']] })).toEqual([ { - a: Buffer.from('bytes'), + a: new Uint8Array(Buffer.from('bytes')), }, ]) }) test('bool', () => { - expect( - deserializeRawResults([ - { - a: { - prisma__type: 'bool', - prisma__value: true, - }, - b: { - prisma__type: 'bool', - prisma__value: false, - }, - }, - ]), - ).toEqual([ + expect(deserializeRawResult({ columns: ['a', 'b'], types: ['bool', 'bool'], rows: [[true, false]] })).toEqual([ { a: true, b: false, @@ -132,35 +81,22 @@ describe('deserializeRawResults', () => { test('null', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'null', - prisma__value: null, - }, - }, - ]), + deserializeRawResult({ + columns: ['a', 'b', 'c'], + types: ['int', 'string', 'bool-array'], + rows: [[null, null, null]], + }), ).toEqual([ { a: null, + b: null, + c: null, }, ]) }) test('json', () => { - expect( - deserializeRawResults([ - { - a: { - prisma__type: 'json', - prisma__value: { - a: 1, - b: [2], - }, - }, - }, - ]), - ).toEqual([ + expect(deserializeRawResult({ columns: ['a'], types: ['json'], rows: [[{ a: 1, b: [2] }]] })).toEqual([ { a: { a: 1, @@ -172,22 +108,11 @@ describe('deserializeRawResults', () => { test('date and time', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'datetime', - prisma__value: '2022-01-01T00:00:00.000Z', - }, - b: { - prisma__type: 'date', - prisma__value: '2022-05-04', - }, - c: { - prisma__type: 'time', - prisma__value: '14:10:45.912', - }, - }, - ]), + deserializeRawResult({ + columns: ['a', 'b', 'c'], + types: ['datetime', 'date', 'time'], + rows: [['2022-01-01T00:00:00.000Z', '2022-05-04', '14:10:45.912']], + }), ).toEqual([ { a: new Date('2022-01-01T00:00:00.000Z'), @@ -199,22 +124,11 @@ describe('deserializeRawResults', () => { test('unsupported', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'char', - prisma__value: 'a', - }, - b: { - prisma__type: 'xml', - prisma__value: '', - }, - c: { - prisma__type: 'uuid', - prisma__value: '00000000-0000-0000-0000-000000000000', - }, - }, - ]), + deserializeRawResult({ + columns: ['a', 'b', 'c'], + types: ['char', 'xml', 'uuid'], + rows: [['a', '', '00000000-0000-0000-0000-000000000000']], + }), ).toEqual([ { a: 'a', @@ -226,26 +140,38 @@ describe('deserializeRawResults', () => { test('array', () => { expect( - deserializeRawResults([ - { - a: { - prisma__type: 'array', - prisma__value: [ - { - prisma__type: 'int', - prisma__value: 1, - }, - { - prisma__type: 'int', - prisma__value: 2, - }, - ], - }, - }, - ]), + deserializeRawResult({ + columns: ['bigints', 'bytes', 'decimals', 'datetimes', 'dates', 'times', 'empty'], + types: [ + 'bigint-array', + 'bytes-array', + 'decimal-array', + 'datetime-array', + 'date-array', + 'time-array', + 'unknown', + ], + rows: [ + [ + ['1234', '123456789'], + ['Ynl0ZXM=', 'Ym9uam91cg=='], + ['1.2345678', '9999999.456789'], + ['2022-01-01T00:00:00.000Z', '2022-05-04T00:00:00.000Z'], + ['2022-05-04', '2022-01-01'], + ['14:10:45.912', '00:00:00.000'], + [], + ], + ], + }), ).toEqual([ { - a: [1, 2], + bigints: [BigInt(1234), BigInt(123456789)], + bytes: [new Uint8Array(Buffer.from('bytes')), new Uint8Array(Buffer.from('bonjour'))], + decimals: [new Decimal('1.2345678'), new Decimal('9999999.456789')], + datetimes: [new Date('2022-01-01T00:00:00.000Z'), new Date('2022-05-04T00:00:00.000Z')], + dates: [new Date('2022-05-04T00:00:00.000Z'), new Date('2022-01-01T00:00:00.000Z')], + times: [new Date('1970-01-01T14:10:45.912Z'), new Date('1970-01-01T00:00:00.000Z')], + empty: [], }, ]) }) diff --git a/packages/client/src/__tests__/generation/generator.test.ts b/packages/client/src/__tests__/generation/generator.test.ts index f9c9d5cb1298..82b87da9d8eb 100644 --- a/packages/client/src/__tests__/generation/generator.test.ts +++ b/packages/client/src/__tests__/generation/generator.test.ts @@ -30,7 +30,6 @@ describe('generator', () => { const generator = await getGenerator({ schemaPath: path.join(__dirname, 'schema.prisma'), - baseDir: __dirname, printDownloadProgress: false, skipDownload: true, }) @@ -82,6 +81,7 @@ describe('generator', () => { "fromEnvVar": null, "value": "prisma-client-js", }, + "sourceFilePath": "/client/src/__tests__/generation/schema.prisma", } `) @@ -117,7 +117,6 @@ describe('generator', () => { try { await getGenerator({ schemaPath: path.join(__dirname, 'denylist.prisma'), - baseDir: __dirname, printDownloadProgress: false, skipDownload: true, }) @@ -168,7 +167,6 @@ describe('generator', () => { try { await getGenerator({ schemaPath: path.join(__dirname, 'doesnotexist.prisma'), - baseDir: __dirname, printDownloadProgress: false, skipDownload: true, }) @@ -184,7 +182,6 @@ describe('generator', () => { test('override client package', async () => { const generator = await getGenerator({ schemaPath: path.join(__dirname, 'main-package-override.prisma'), - baseDir: __dirname, printDownloadProgress: false, skipDownload: true, }) @@ -225,7 +222,6 @@ describe('generator', () => { const generator = await getGenerator({ schemaPath: path.join(__dirname, 'mongo.prisma'), - baseDir: __dirname, printDownloadProgress: false, skipDownload: true, }) @@ -277,6 +273,7 @@ describe('generator', () => { "fromEnvVar": null, "value": "prisma-client-js", }, + "sourceFilePath": "/client/src/__tests__/generation/mongo.prisma", } `) diff --git a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-mysql/test.ts b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-mysql/test.ts index 477261d9cdff..5664a0681804 100644 --- a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-mysql/test.ts +++ b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-mysql/test.ts @@ -59,7 +59,7 @@ describe('referentialActions-onDelete-default-foreign-key-error(mysql)', () => { 45 46 try { → 47 await prisma.user.delete( - Foreign key constraint failed on the field: \`authorId\` + Foreign key constraint violated: \`authorId\` `) expect(await prisma.user.findMany()).toHaveLength(1) expect(await prisma.profile.findMany()).toHaveLength(1) diff --git a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-postgresql/test.ts b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-postgresql/test.ts index f54d37884746..f47986b80f9c 100644 --- a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-postgresql/test.ts +++ b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-postgresql/test.ts @@ -60,7 +60,7 @@ describe('referentialActions-onDelete-default-foreign-key-error(postgresql)', () 46 47 try { → 48 await prisma.user.delete( - Foreign key constraint failed on the field: \`Post_authorId_fkey (index)\` + Foreign key constraint violated: \`Post_authorId_fkey (index)\` `) } }) diff --git a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlite/test.ts b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlite/test.ts index 04b625cd6f52..044e9c12a9de 100644 --- a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlite/test.ts +++ b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlite/test.ts @@ -53,7 +53,7 @@ describe('referentialActions-onDelete-default-foreign-key-error(sqlite)', () => 39 40 try { → 41 await prisma.user.delete( - Foreign key constraint failed on the field: \`foreign key\` + Foreign key constraint violated: \`foreign key\` `) } }) diff --git a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlserver/test.ts b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlserver/test.ts index 51149a98999a..92231b15ed1f 100644 --- a/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlserver/test.ts +++ b/packages/client/src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlserver/test.ts @@ -61,7 +61,7 @@ describeIf(!process.env.TEST_SKIP_MSSQL)('referentialActions-onDelete-default-fo 47 48 try { → 49 await prisma.user.delete( - Foreign key constraint failed on the field: \`Post_authorId_fkey (index)\` + Foreign key constraint violated: \`Post_authorId_fkey (index)\` `) } }) diff --git a/packages/client/src/__tests__/integration/happy/mysql-binary-id/test.ts b/packages/client/src/__tests__/integration/happy/mysql-binary-id/test.ts index 8524bcdebb7a..2214b81f964b 100644 --- a/packages/client/src/__tests__/integration/happy/mysql-binary-id/test.ts +++ b/packages/client/src/__tests__/integration/happy/mysql-binary-id/test.ts @@ -16,25 +16,27 @@ test('find by binary id', async () => { const PrismaClient = await getTestClient() const prisma = new PrismaClient() + const binaryString = (str: string) => new Uint8Array(Buffer.from(str)) + await prisma.entry.deleteMany() const a = await prisma.entry.create({ data: { - id: Buffer.from('aaaa'), + id: binaryString('aaaa'), name: 'a', }, }) const b = await prisma.entry.create({ data: { - id: Buffer.from('bbbb'), + id: binaryString('bbbb'), name: 'b', }, }) const c = await prisma.entry.create({ data: { - id: Buffer.from('cccc'), + id: binaryString('cccc'), name: 'c', }, }) @@ -42,7 +44,7 @@ test('find by binary id', async () => { expect( await prisma.entry.findFirst({ where: { - id: Buffer.from('aaaa'), + id: binaryString('aaaa'), }, }), ).toEqual(a) @@ -51,7 +53,7 @@ test('find by binary id', async () => { await prisma.entry.findMany({ where: { id: { - in: [Buffer.from('bbbb'), Buffer.from('cccc')], + in: [binaryString('bbbb'), binaryString('cccc')], }, }, }), diff --git a/packages/client/src/__tests__/integration/happy/native-types-mysql/test.ts b/packages/client/src/__tests__/integration/happy/native-types-mysql/test.ts index 39667a0140c0..371bbeb76249 100644 --- a/packages/client/src/__tests__/integration/happy/native-types-mysql/test.ts +++ b/packages/client/src/__tests__/integration/happy/native-types-mysql/test.ts @@ -184,13 +184,13 @@ test('native-types-mysql E: Bit, Binary, VarBinary, Blob, TinyBlob, MediumBlob, await prisma.e.deleteMany() const data = { - bit: Buffer.from([0x62]), - bin: Buffer.from('1234'), - vBin: Buffer.from('12345'), - blob: Buffer.from('hi'), - tBlob: Buffer.from('tbob'), - mBlob: Buffer.from('mbob'), - lBlob: Buffer.from('longbob'), + bit: Uint8Array.from([0x62]), + bin: new Uint8Array(Buffer.from('1234')), + vBin: new Uint8Array(Buffer.from('12345')), + blob: new Uint8Array(Buffer.from('hi')), + tBlob: new Uint8Array(Buffer.from('tbob')), + mBlob: new Uint8Array(Buffer.from('mbob')), + lBlob: new Uint8Array(Buffer.from('longbob')), } const e = await prisma.e.create({ diff --git a/packages/client/src/__tests__/integration/happy/native-types-postgres/test.ts b/packages/client/src/__tests__/integration/happy/native-types-postgres/test.ts index c046abb1b708..57c97b43fbde 100644 --- a/packages/client/src/__tests__/integration/happy/native-types-postgres/test.ts +++ b/packages/client/src/__tests__/integration/happy/native-types-postgres/test.ts @@ -178,13 +178,16 @@ test('native-types-postgres D: Boolean, Bytes, Json, JsonB', async () => { await prisma.d.deleteMany() const helloString = 'hello prisma ⚡️🚀' + + const binaryString = (s: string) => new Uint8Array(Buffer.from(s)) + const data = { bool: true, - byteA: Buffer.from(helloString), + byteA: binaryString(helloString), json: { hello: 'world' }, jsonb: { hello: 'world' }, xml: '', - bytesArray: [Buffer.from(helloString), Buffer.from(helloString)], + bytesArray: [binaryString(helloString), binaryString(helloString)], } const d = await prisma.d.create({ data, @@ -198,7 +201,7 @@ test('native-types-postgres D: Boolean, Bytes, Json, JsonB', async () => { }, }) - expect(Buffer.isBuffer(d.byteA)).toBe(true) + expect(ArrayBuffer.isView(d.byteA)).toBe(true) expect(d).toEqual(data) diff --git a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/binary.test.ts.snap b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/binary.test.ts.snap index f3366ded2ce3..58948a701cdb 100644 --- a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/binary.test.ts.snap +++ b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/binary.test.ts.snap @@ -10,6 +10,7 @@ const { makeStrictEnum, Public, getRuntime, + skip } = require('@prisma/client/runtime/index-browser.js') @@ -52,11 +53,6 @@ Prisma.PrismaClientValidationError = () => { throw new Error(\`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, )} -Prisma.NotFoundError = () => { - const runtimeName = getRuntime().prettyName; - throw new Error(\`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). -In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, -)} Prisma.Decimal = Decimal /** @@ -111,6 +107,8 @@ Prisma.NullTypes = { AnyNull: objectEnumValues.classes.AnyNull } + + /** * Enums */ @@ -473,7 +471,7 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -482,19 +480,19 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< - T extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, - U = 'log' extends keyof T ? T['log'] extends Array ? Prisma.GetEvents : never : never, + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -503,11 +501,11 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ - constructor(optionsArg ?: Prisma.Subset); + constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : V extends 'beforeExit' ? () => $Utils.JsPromise : Prisma.LogEvent) => void): void; /** @@ -559,7 +557,9 @@ export class PrismaClient< */ $runCommandRaw(command: Prisma.InputJsonObject): Prisma.PrismaPromise - $extends: $Extensions.ExtendsHook<'extends', Prisma.TypeMapCb, ExtArgs> + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, ClientOptions> /** * \`prisma.post\`: Exposes CRUD operations for the **Post** model. @@ -569,7 +569,7 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` */ - get post(): Prisma.PostDelegate; + get post(): Prisma.PostDelegate; /** * \`prisma.user\`: Exposes CRUD operations for the **User** model. @@ -579,7 +579,7 @@ export class PrismaClient< * const users = await prisma.user.findMany() * \`\`\` */ - get user(): Prisma.UserDelegate; + get user(): Prisma.UserDelegate; /** * \`prisma.embedHolder\`: Exposes CRUD operations for the **EmbedHolder** model. @@ -589,7 +589,7 @@ export class PrismaClient< * const embedHolders = await prisma.embedHolder.findMany() * \`\`\` */ - get embedHolder(): Prisma.EmbedHolderDelegate; + get embedHolder(): Prisma.EmbedHolderDelegate; /** * \`prisma.m\`: Exposes CRUD operations for the **M** model. @@ -599,7 +599,7 @@ export class PrismaClient< * const ms = await prisma.m.findMany() * \`\`\` */ - get m(): Prisma.MDelegate; + get m(): Prisma.MDelegate; /** * \`prisma.n\`: Exposes CRUD operations for the **N** model. @@ -609,7 +609,7 @@ export class PrismaClient< * const ns = await prisma.n.findMany() * \`\`\` */ - get n(): Prisma.NDelegate; + get n(): Prisma.NDelegate; /** * \`prisma.oneOptional\`: Exposes CRUD operations for the **OneOptional** model. @@ -619,7 +619,7 @@ export class PrismaClient< * const oneOptionals = await prisma.oneOptional.findMany() * \`\`\` */ - get oneOptional(): Prisma.OneOptionalDelegate; + get oneOptional(): Prisma.OneOptionalDelegate; /** * \`prisma.manyRequired\`: Exposes CRUD operations for the **ManyRequired** model. @@ -629,7 +629,7 @@ export class PrismaClient< * const manyRequireds = await prisma.manyRequired.findMany() * \`\`\` */ - get manyRequired(): Prisma.ManyRequiredDelegate; + get manyRequired(): Prisma.ManyRequiredDelegate; /** * \`prisma.optionalSide1\`: Exposes CRUD operations for the **OptionalSide1** model. @@ -639,7 +639,7 @@ export class PrismaClient< * const optionalSide1s = await prisma.optionalSide1.findMany() * \`\`\` */ - get optionalSide1(): Prisma.OptionalSide1Delegate; + get optionalSide1(): Prisma.OptionalSide1Delegate; /** * \`prisma.optionalSide2\`: Exposes CRUD operations for the **OptionalSide2** model. @@ -649,7 +649,7 @@ export class PrismaClient< * const optionalSide2s = await prisma.optionalSide2.findMany() * \`\`\` */ - get optionalSide2(): Prisma.OptionalSide2Delegate; + get optionalSide2(): Prisma.OptionalSide2Delegate; /** * \`prisma.a\`: Exposes CRUD operations for the **A** model. @@ -659,7 +659,7 @@ export class PrismaClient< * const as = await prisma.a.findMany() * \`\`\` */ - get a(): Prisma.ADelegate; + get a(): Prisma.ADelegate; /** * \`prisma.b\`: Exposes CRUD operations for the **B** model. @@ -669,7 +669,7 @@ export class PrismaClient< * const bs = await prisma.b.findMany() * \`\`\` */ - get b(): Prisma.BDelegate; + get b(): Prisma.BDelegate; /** * \`prisma.c\`: Exposes CRUD operations for the **C** model. @@ -679,7 +679,7 @@ export class PrismaClient< * const cs = await prisma.c.findMany() * \`\`\` */ - get c(): Prisma.CDelegate; + get c(): Prisma.CDelegate; /** * \`prisma.d\`: Exposes CRUD operations for the **D** model. @@ -689,7 +689,7 @@ export class PrismaClient< * const ds = await prisma.d.findMany() * \`\`\` */ - get d(): Prisma.DDelegate; + get d(): Prisma.DDelegate; /** * \`prisma.e\`: Exposes CRUD operations for the **E** model. @@ -699,7 +699,7 @@ export class PrismaClient< * const es = await prisma.e.findMany() * \`\`\` */ - get e(): Prisma.EDelegate; + get e(): Prisma.EDelegate; } export namespace Prisma { @@ -720,7 +720,6 @@ export namespace Prisma { export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError - export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag @@ -731,6 +730,8 @@ export namespace Prisma { export import raw = runtime.raw export import Sql = runtime.Sql + + /** * Decimal.js */ @@ -739,7 +740,7 @@ export namespace Prisma { export type DecimalJsLike = runtime.DecimalJsLike /** - * Metrics + * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric @@ -764,69 +765,31 @@ export namespace Prisma { client: string } - export const prismaVersion: PrismaVersion + export const prismaVersion: PrismaVersion /** * Utility Types */ - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON object. - * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. - */ - export type JsonObject = {[Key in string]?: JsonValue} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON array. - */ - export interface JsonArray extends Array {} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches any valid JSON value. - */ - export type JsonValue = string | number | boolean | JsonObject | JsonArray | null - - /** - * Matches a JSON object. - * Unlike \`JsonObject\`, this type allows undefined and read-only properties. - */ - export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null} - - /** - * Matches a JSON array. - * Unlike \`JsonArray\`, readonly arrays are assignable to this type. - */ - export interface InputJsonArray extends ReadonlyArray {} - /** - * Matches any valid value that can be used as an input for operations like - * create and update as the value of a JSON field. Unlike \`JsonValue\`, this - * type allows read-only arrays and read-only object properties and disallows - * \`null\` at the top level. - * - * \`null\` cannot be used as the value of a JSON field because its meaning - * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or - * \`Prisma.DbNull\` to clear the JSON value and set the field to the database - * NULL value instead. - * - * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values - */ - export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown } + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of \`null\` values when working with JSON fields. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of \`Prisma.DbNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.DbNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { @@ -836,9 +799,9 @@ export namespace Prisma { /** * Type of \`Prisma.JsonNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.JsonNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { @@ -848,9 +811,9 @@ export namespace Prisma { /** * Type of \`Prisma.AnyNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.AnyNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { @@ -861,21 +824,21 @@ export namespace Prisma { /** * Helper for filtering JSON entries that have \`null\` on the database (empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON \`null\` values (not empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are \`Prisma.DbNull\` or \`Prisma.JsonNull\` - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull @@ -1200,87 +1163,86 @@ export namespace Prisma { db?: Datasource } - - interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs}, $Utils.Record> { - returns: Prisma.TypeMap + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { + returns: Prisma.TypeMap } - export type TypeMap = { + export type TypeMap = { meta: { - modelProps: 'post' | 'user' | 'embedHolder' | 'm' | 'n' | 'oneOptional' | 'manyRequired' | 'optionalSide1' | 'optionalSide2' | 'a' | 'b' | 'c' | 'd' | 'e' + modelProps: "post" | "user" | "embedHolder" | "m" | "n" | "oneOptional" | "manyRequired" | "optionalSide1" | "optionalSide2" | "a" | "b" | "c" | "d" | "e" txIsolationLevel: never - }, + } model: { Post: { payload: Prisma.$PostPayload fields: Prisma.PostFieldRefs operations: { findUnique: { - args: Prisma.PostFindUniqueArgs, + args: Prisma.PostFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.PostFindUniqueOrThrowArgs, + args: Prisma.PostFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.PostFindFirstArgs, + args: Prisma.PostFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.PostFindFirstOrThrowArgs, + args: Prisma.PostFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.PostFindManyArgs, + args: Prisma.PostFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.PostCreateArgs, + args: Prisma.PostCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.PostCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.PostDeleteArgs, + args: Prisma.PostDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.PostUpdateArgs, + args: Prisma.PostUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.PostDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.PostUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.PostUpsertArgs, + args: Prisma.PostUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.PostAggregateArgs, + args: Prisma.PostAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.PostGroupByArgs, + args: Prisma.PostGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.PostFindRawArgs, - result: Prisma.JsonObject + args: Prisma.PostFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.PostAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.PostAggregateRawArgs + result: JsonObject } count: { - args: Prisma.PostCountArgs, + args: Prisma.PostCountArgs result: $Utils.Optional | number } } @@ -1290,71 +1252,71 @@ export namespace Prisma { fields: Prisma.UserFieldRefs operations: { findUnique: { - args: Prisma.UserFindUniqueArgs, + args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.UserFindUniqueOrThrowArgs, + args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.UserFindFirstArgs, + args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.UserFindFirstOrThrowArgs, + args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.UserFindManyArgs, + args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.UserCreateArgs, + args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.UserCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.UserDeleteArgs, + args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.UserUpdateArgs, + args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.UserDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.UserUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.UserUpsertArgs, + args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.UserAggregateArgs, + args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.UserGroupByArgs, + args: Prisma.UserGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.UserFindRawArgs, - result: Prisma.JsonObject + args: Prisma.UserFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.UserAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.UserAggregateRawArgs + result: JsonObject } count: { - args: Prisma.UserCountArgs, + args: Prisma.UserCountArgs result: $Utils.Optional | number } } @@ -1364,71 +1326,71 @@ export namespace Prisma { fields: Prisma.EmbedHolderFieldRefs operations: { findUnique: { - args: Prisma.EmbedHolderFindUniqueArgs, + args: Prisma.EmbedHolderFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.EmbedHolderFindUniqueOrThrowArgs, + args: Prisma.EmbedHolderFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.EmbedHolderFindFirstArgs, + args: Prisma.EmbedHolderFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.EmbedHolderFindFirstOrThrowArgs, + args: Prisma.EmbedHolderFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.EmbedHolderFindManyArgs, + args: Prisma.EmbedHolderFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.EmbedHolderCreateArgs, + args: Prisma.EmbedHolderCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.EmbedHolderCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EmbedHolderCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.EmbedHolderDeleteArgs, + args: Prisma.EmbedHolderDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.EmbedHolderUpdateArgs, + args: Prisma.EmbedHolderUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.EmbedHolderDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.EmbedHolderDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.EmbedHolderUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EmbedHolderUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.EmbedHolderUpsertArgs, + args: Prisma.EmbedHolderUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.EmbedHolderAggregateArgs, + args: Prisma.EmbedHolderAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.EmbedHolderGroupByArgs, + args: Prisma.EmbedHolderGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.EmbedHolderFindRawArgs, - result: Prisma.JsonObject + args: Prisma.EmbedHolderFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.EmbedHolderAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.EmbedHolderAggregateRawArgs + result: JsonObject } count: { - args: Prisma.EmbedHolderCountArgs, + args: Prisma.EmbedHolderCountArgs result: $Utils.Optional | number } } @@ -1438,71 +1400,71 @@ export namespace Prisma { fields: Prisma.MFieldRefs operations: { findUnique: { - args: Prisma.MFindUniqueArgs, + args: Prisma.MFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.MFindUniqueOrThrowArgs, + args: Prisma.MFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.MFindFirstArgs, + args: Prisma.MFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.MFindFirstOrThrowArgs, + args: Prisma.MFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.MFindManyArgs, + args: Prisma.MFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.MCreateArgs, + args: Prisma.MCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.MCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.MDeleteArgs, + args: Prisma.MDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.MUpdateArgs, + args: Prisma.MUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.MDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.MDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.MUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.MUpsertArgs, + args: Prisma.MUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.MAggregateArgs, + args: Prisma.MAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.MGroupByArgs, + args: Prisma.MGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.MFindRawArgs, - result: Prisma.JsonObject + args: Prisma.MFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.MAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.MAggregateRawArgs + result: JsonObject } count: { - args: Prisma.MCountArgs, + args: Prisma.MCountArgs result: $Utils.Optional | number } } @@ -1512,71 +1474,71 @@ export namespace Prisma { fields: Prisma.NFieldRefs operations: { findUnique: { - args: Prisma.NFindUniqueArgs, + args: Prisma.NFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.NFindUniqueOrThrowArgs, + args: Prisma.NFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.NFindFirstArgs, + args: Prisma.NFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.NFindFirstOrThrowArgs, + args: Prisma.NFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.NFindManyArgs, + args: Prisma.NFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.NCreateArgs, + args: Prisma.NCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.NCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.NDeleteArgs, + args: Prisma.NDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.NUpdateArgs, + args: Prisma.NUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.NDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.NDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.NUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.NUpsertArgs, + args: Prisma.NUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.NAggregateArgs, + args: Prisma.NAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.NGroupByArgs, + args: Prisma.NGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.NFindRawArgs, - result: Prisma.JsonObject + args: Prisma.NFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.NAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.NAggregateRawArgs + result: JsonObject } count: { - args: Prisma.NCountArgs, + args: Prisma.NCountArgs result: $Utils.Optional | number } } @@ -1586,71 +1548,71 @@ export namespace Prisma { fields: Prisma.OneOptionalFieldRefs operations: { findUnique: { - args: Prisma.OneOptionalFindUniqueArgs, + args: Prisma.OneOptionalFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OneOptionalFindUniqueOrThrowArgs, + args: Prisma.OneOptionalFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OneOptionalFindFirstArgs, + args: Prisma.OneOptionalFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OneOptionalFindFirstOrThrowArgs, + args: Prisma.OneOptionalFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OneOptionalFindManyArgs, + args: Prisma.OneOptionalFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OneOptionalCreateArgs, + args: Prisma.OneOptionalCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OneOptionalCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.OneOptionalDeleteArgs, + args: Prisma.OneOptionalDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OneOptionalUpdateArgs, + args: Prisma.OneOptionalUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OneOptionalDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OneOptionalUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.OneOptionalUpsertArgs, + args: Prisma.OneOptionalUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OneOptionalAggregateArgs, + args: Prisma.OneOptionalAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OneOptionalGroupByArgs, + args: Prisma.OneOptionalGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.OneOptionalFindRawArgs, - result: Prisma.JsonObject + args: Prisma.OneOptionalFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.OneOptionalAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.OneOptionalAggregateRawArgs + result: JsonObject } count: { - args: Prisma.OneOptionalCountArgs, + args: Prisma.OneOptionalCountArgs result: $Utils.Optional | number } } @@ -1660,71 +1622,71 @@ export namespace Prisma { fields: Prisma.ManyRequiredFieldRefs operations: { findUnique: { - args: Prisma.ManyRequiredFindUniqueArgs, + args: Prisma.ManyRequiredFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.ManyRequiredFindUniqueOrThrowArgs, + args: Prisma.ManyRequiredFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.ManyRequiredFindFirstArgs, + args: Prisma.ManyRequiredFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.ManyRequiredFindFirstOrThrowArgs, + args: Prisma.ManyRequiredFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.ManyRequiredFindManyArgs, + args: Prisma.ManyRequiredFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ManyRequiredCreateArgs, + args: Prisma.ManyRequiredCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ManyRequiredCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.ManyRequiredDeleteArgs, + args: Prisma.ManyRequiredDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.ManyRequiredUpdateArgs, + args: Prisma.ManyRequiredUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ManyRequiredDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.ManyRequiredUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.ManyRequiredUpsertArgs, + args: Prisma.ManyRequiredUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.ManyRequiredAggregateArgs, + args: Prisma.ManyRequiredAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.ManyRequiredGroupByArgs, + args: Prisma.ManyRequiredGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.ManyRequiredFindRawArgs, - result: Prisma.JsonObject + args: Prisma.ManyRequiredFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.ManyRequiredAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.ManyRequiredAggregateRawArgs + result: JsonObject } count: { - args: Prisma.ManyRequiredCountArgs, + args: Prisma.ManyRequiredCountArgs result: $Utils.Optional | number } } @@ -1734,71 +1696,71 @@ export namespace Prisma { fields: Prisma.OptionalSide1FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide1FindUniqueArgs, + args: Prisma.OptionalSide1FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide1FindUniqueOrThrowArgs, + args: Prisma.OptionalSide1FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide1FindFirstArgs, + args: Prisma.OptionalSide1FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide1FindFirstOrThrowArgs, + args: Prisma.OptionalSide1FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide1FindManyArgs, + args: Prisma.OptionalSide1FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide1CreateArgs, + args: Prisma.OptionalSide1CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide1CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1CreateManyArgs + result: BatchPayload } delete: { - args: Prisma.OptionalSide1DeleteArgs, + args: Prisma.OptionalSide1DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide1UpdateArgs, + args: Prisma.OptionalSide1UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide1DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide1UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1UpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.OptionalSide1UpsertArgs, + args: Prisma.OptionalSide1UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide1AggregateArgs, + args: Prisma.OptionalSide1AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide1GroupByArgs, + args: Prisma.OptionalSide1GroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.OptionalSide1FindRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide1FindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.OptionalSide1AggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide1AggregateRawArgs + result: JsonObject } count: { - args: Prisma.OptionalSide1CountArgs, + args: Prisma.OptionalSide1CountArgs result: $Utils.Optional | number } } @@ -1808,71 +1770,71 @@ export namespace Prisma { fields: Prisma.OptionalSide2FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide2FindUniqueArgs, + args: Prisma.OptionalSide2FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide2FindUniqueOrThrowArgs, + args: Prisma.OptionalSide2FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide2FindFirstArgs, + args: Prisma.OptionalSide2FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide2FindFirstOrThrowArgs, + args: Prisma.OptionalSide2FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide2FindManyArgs, + args: Prisma.OptionalSide2FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide2CreateArgs, + args: Prisma.OptionalSide2CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide2CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2CreateManyArgs + result: BatchPayload } delete: { - args: Prisma.OptionalSide2DeleteArgs, + args: Prisma.OptionalSide2DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide2UpdateArgs, + args: Prisma.OptionalSide2UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide2DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide2UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2UpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.OptionalSide2UpsertArgs, + args: Prisma.OptionalSide2UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide2AggregateArgs, + args: Prisma.OptionalSide2AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide2GroupByArgs, + args: Prisma.OptionalSide2GroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.OptionalSide2FindRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide2FindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.OptionalSide2AggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide2AggregateRawArgs + result: JsonObject } count: { - args: Prisma.OptionalSide2CountArgs, + args: Prisma.OptionalSide2CountArgs result: $Utils.Optional | number } } @@ -1882,71 +1844,71 @@ export namespace Prisma { fields: Prisma.AFieldRefs operations: { findUnique: { - args: Prisma.AFindUniqueArgs, + args: Prisma.AFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.AFindUniqueOrThrowArgs, + args: Prisma.AFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.AFindFirstArgs, + args: Prisma.AFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.AFindFirstOrThrowArgs, + args: Prisma.AFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.AFindManyArgs, + args: Prisma.AFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ACreateArgs, + args: Prisma.ACreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ACreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ACreateManyArgs + result: BatchPayload } delete: { - args: Prisma.ADeleteArgs, + args: Prisma.ADeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.AUpdateArgs, + args: Prisma.AUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ADeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ADeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.AUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.AUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.AUpsertArgs, + args: Prisma.AUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.AAggregateArgs, + args: Prisma.AAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.AGroupByArgs, + args: Prisma.AGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.AFindRawArgs, - result: Prisma.JsonObject + args: Prisma.AFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.AAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.AAggregateRawArgs + result: JsonObject } count: { - args: Prisma.ACountArgs, + args: Prisma.ACountArgs result: $Utils.Optional | number } } @@ -1956,71 +1918,71 @@ export namespace Prisma { fields: Prisma.BFieldRefs operations: { findUnique: { - args: Prisma.BFindUniqueArgs, + args: Prisma.BFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.BFindUniqueOrThrowArgs, + args: Prisma.BFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.BFindFirstArgs, + args: Prisma.BFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.BFindFirstOrThrowArgs, + args: Prisma.BFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.BFindManyArgs, + args: Prisma.BFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.BCreateArgs, + args: Prisma.BCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.BCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.BDeleteArgs, + args: Prisma.BDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.BUpdateArgs, + args: Prisma.BUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.BDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.BDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.BUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.BUpsertArgs, + args: Prisma.BUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.BAggregateArgs, + args: Prisma.BAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.BGroupByArgs, + args: Prisma.BGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.BFindRawArgs, - result: Prisma.JsonObject + args: Prisma.BFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.BAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.BAggregateRawArgs + result: JsonObject } count: { - args: Prisma.BCountArgs, + args: Prisma.BCountArgs result: $Utils.Optional | number } } @@ -2030,71 +1992,71 @@ export namespace Prisma { fields: Prisma.CFieldRefs operations: { findUnique: { - args: Prisma.CFindUniqueArgs, + args: Prisma.CFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.CFindUniqueOrThrowArgs, + args: Prisma.CFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.CFindFirstArgs, + args: Prisma.CFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.CFindFirstOrThrowArgs, + args: Prisma.CFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.CFindManyArgs, + args: Prisma.CFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.CCreateArgs, + args: Prisma.CCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.CCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.CDeleteArgs, + args: Prisma.CDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.CUpdateArgs, + args: Prisma.CUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.CDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.CDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.CUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.CUpsertArgs, + args: Prisma.CUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.CAggregateArgs, + args: Prisma.CAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.CGroupByArgs, + args: Prisma.CGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.CFindRawArgs, - result: Prisma.JsonObject + args: Prisma.CFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.CAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.CAggregateRawArgs + result: JsonObject } count: { - args: Prisma.CCountArgs, + args: Prisma.CCountArgs result: $Utils.Optional | number } } @@ -2104,71 +2066,71 @@ export namespace Prisma { fields: Prisma.DFieldRefs operations: { findUnique: { - args: Prisma.DFindUniqueArgs, + args: Prisma.DFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.DFindUniqueOrThrowArgs, + args: Prisma.DFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.DFindFirstArgs, + args: Prisma.DFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.DFindFirstOrThrowArgs, + args: Prisma.DFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.DFindManyArgs, + args: Prisma.DFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.DCreateArgs, + args: Prisma.DCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.DCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.DDeleteArgs, + args: Prisma.DDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.DUpdateArgs, + args: Prisma.DUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.DDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.DDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.DUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.DUpsertArgs, + args: Prisma.DUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.DAggregateArgs, + args: Prisma.DAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.DGroupByArgs, + args: Prisma.DGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.DFindRawArgs, - result: Prisma.JsonObject + args: Prisma.DFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.DAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.DAggregateRawArgs + result: JsonObject } count: { - args: Prisma.DCountArgs, + args: Prisma.DCountArgs result: $Utils.Optional | number } } @@ -2178,71 +2140,71 @@ export namespace Prisma { fields: Prisma.EFieldRefs operations: { findUnique: { - args: Prisma.EFindUniqueArgs, + args: Prisma.EFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.EFindUniqueOrThrowArgs, + args: Prisma.EFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.EFindFirstArgs, + args: Prisma.EFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.EFindFirstOrThrowArgs, + args: Prisma.EFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.EFindManyArgs, + args: Prisma.EFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ECreateArgs, + args: Prisma.ECreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ECreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ECreateManyArgs + result: BatchPayload } delete: { - args: Prisma.EDeleteArgs, + args: Prisma.EDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.EUpdateArgs, + args: Prisma.EUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.EDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.EDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.EUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.EUpsertArgs, + args: Prisma.EUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.EAggregateArgs, + args: Prisma.EAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.EGroupByArgs, + args: Prisma.EGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.EFindRawArgs, - result: Prisma.JsonObject + args: Prisma.EFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.EAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.EAggregateRawArgs + result: JsonObject } count: { - args: Prisma.ECountArgs, + args: Prisma.ECountArgs result: $Utils.Optional | number } } @@ -2259,7 +2221,7 @@ export namespace Prisma { } } } - export const defineExtension: $Extensions.ExtendsHook<'define', Prisma.TypeMapCb, $Extensions.DefaultArgs> + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { @@ -2301,6 +2263,37 @@ export namespace Prisma { maxWait?: number timeout?: number } + /** + * Global configuration for omitting model fields by default. + * + * @example + * \`\`\` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * \`\`\` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + post?: PostOmit + user?: UserOmit + embedHolder?: EmbedHolderOmit + m?: MOmit + n?: NOmit + oneOptional?: OneOptionalOmit + manyRequired?: ManyRequiredOmit + optionalSide1?: OptionalSide1Omit + optionalSide2?: OptionalSide2Omit + a?: AOmit + b?: BOmit + c?: COmit + d?: DOmit + e?: EOmit } /* Types for Logging */ @@ -2342,6 +2335,7 @@ export namespace Prisma { | 'createManyAndReturn' | 'update' | 'updateMany' + | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' @@ -2566,12 +2560,14 @@ export namespace Prisma { }, ExtArgs["result"]["embed"]> + export type EmbedSelectScalar = { text?: boolean boolean?: boolean scalarList?: boolean } + export type EmbedOmit = $Extensions.GetOmit<"text" | "boolean" | "embedEmbedList" | "requiredEmbedEmbed" | "optionalEmbedEmbed" | "scalarList", ExtArgs["result"]["embed"]> export type EmbedInclude = {} export type $EmbedPayload = { @@ -2614,6 +2610,10 @@ export namespace Prisma { * Select specific fields to fetch from the Embed */ select?: EmbedSelect | null + /** + * Omit specific fields from the Embed + */ + omit?: EmbedOmit | null /** * Choose, which related nodes to fetch as well */ @@ -2635,11 +2635,13 @@ export namespace Prisma { }, ExtArgs["result"]["embedEmbed"]> + export type EmbedEmbedSelectScalar = { text?: boolean boolean?: boolean } + export type EmbedEmbedOmit = $Extensions.GetOmit<"text" | "boolean", ExtArgs["result"]["embedEmbed"]> export type $EmbedEmbedPayload = { name: "EmbedEmbed" @@ -2675,6 +2677,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedEmbed */ select?: EmbedEmbedSelect | null + /** + * Omit specific fields from the EmbedEmbed + */ + omit?: EmbedEmbedOmit | null } @@ -2854,6 +2860,7 @@ export namespace Prisma { }, ExtArgs["result"]["post"]> + export type PostSelectScalar = { id?: boolean createdAt?: boolean @@ -2863,6 +2870,7 @@ export namespace Prisma { authorId?: boolean } + export type PostOmit = $Extensions.GetOmit<"id" | "createdAt" | "title" | "content" | "published" | "authorId", ExtArgs["result"]["post"]> export type PostInclude = { author?: boolean | UserDefaultArgs } @@ -2885,12 +2893,12 @@ export namespace Prisma { type PostGetPayload = $Result.GetResult - type PostCountArgs = - Omit & { + type PostCountArgs = + Omit & { select?: PostCountAggregateInputType | true } - export interface PostDelegate { + export interface PostDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Post'], meta: { name: 'Post' } } /** * Find zero or one Post that matches the filter. @@ -2903,10 +2911,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` + * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {PostFindUniqueOrThrowArgs} args - Arguments to find a Post * @example @@ -2917,7 +2925,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter. @@ -2932,7 +2940,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter or @@ -2948,7 +2956,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Posts that matches the filter. @@ -2966,7 +2974,7 @@ export namespace Prisma { * const postWithIdOnly = await prisma.post.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a Post. @@ -2980,7 +2988,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Posts. @@ -3008,7 +3016,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one Post. @@ -3025,7 +3033,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Posts. @@ -3077,14 +3085,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Posts that matches the filter. * @param {PostFindRawArgs} args - Select which filters you would like to apply. * @example * const post = await prisma.post.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: PostFindRawArgs): Prisma.PrismaPromise @@ -3240,35 +3248,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__PostClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs>; - + export interface Prisma__PostClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | Null, Null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the Post model */ @@ -3291,6 +3298,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3309,6 +3320,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3327,6 +3342,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3375,6 +3394,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3423,6 +3446,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3466,6 +3493,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3494,6 +3525,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3520,6 +3555,10 @@ export namespace Prisma { * Filter which Posts to update */ where?: PostWhereInput + /** + * Limit how many Posts to update. + */ + limit?: number } /** @@ -3530,6 +3569,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3556,6 +3599,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3574,6 +3621,10 @@ export namespace Prisma { * Filter which Posts to delete */ where?: PostWhereInput + /** + * Limit how many Posts to delete. + */ + limit?: number } /** @@ -3612,6 +3663,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3907,6 +3962,7 @@ export namespace Prisma { }, ExtArgs["result"]["user"]> + export type UserSelectScalar = { id?: boolean email?: boolean @@ -3925,6 +3981,7 @@ export namespace Prisma { embedHolderId?: boolean } + export type UserOmit = $Extensions.GetOmit<"id" | "email" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean" | "embedHolderId", ExtArgs["result"]["user"]> export type UserInclude = { posts?: boolean | User$postsArgs embedHolder?: boolean | EmbedHolderDefaultArgs @@ -3959,12 +4016,12 @@ export namespace Prisma { type UserGetPayload = $Result.GetResult - type UserCountArgs = - Omit & { + type UserCountArgs = + Omit & { select?: UserCountAggregateInputType | true } - export interface UserDelegate { + export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. @@ -3977,10 +4034,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one User that matches the filter or throw an error with \`error.code='P2025'\` + * Find one User that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example @@ -3991,7 +4048,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first User that matches the filter. @@ -4006,7 +4063,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first User that matches the filter or @@ -4022,7 +4079,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Users that matches the filter. @@ -4040,7 +4097,7 @@ export namespace Prisma { * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a User. @@ -4054,7 +4111,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Users. @@ -4082,7 +4139,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one User. @@ -4099,7 +4156,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Users. @@ -4151,14 +4208,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Users that matches the filter. * @param {UserFindRawArgs} args - Select which filters you would like to apply. * @example * const user = await prisma.user.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: UserFindRawArgs): Prisma.PrismaPromise @@ -4314,37 +4371,35 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__UserClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - - embedHolder = {}>(args?: Subset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs>; - + export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> + embedHolder = {}>(args?: Subset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | Null, Null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the User model */ @@ -4376,6 +4431,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4394,6 +4453,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4412,6 +4475,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4460,6 +4527,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4508,6 +4579,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4551,6 +4626,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4579,6 +4658,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4605,6 +4688,10 @@ export namespace Prisma { * Filter which Users to update */ where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number } /** @@ -4615,6 +4702,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4641,6 +4732,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4659,6 +4754,10 @@ export namespace Prisma { * Filter which Users to delete */ where?: UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number } /** @@ -4697,6 +4796,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4717,6 +4820,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4888,6 +4995,7 @@ export namespace Prisma { }, ExtArgs["result"]["embedHolder"]> + export type EmbedHolderSelectScalar = { id?: boolean time?: boolean @@ -4895,6 +5003,7 @@ export namespace Prisma { boolean?: boolean } + export type EmbedHolderOmit = $Extensions.GetOmit<"id" | "time" | "text" | "boolean" | "embedList" | "requiredEmbed" | "optionalEmbed", ExtArgs["result"]["embedHolder"]> export type EmbedHolderInclude = { User?: boolean | EmbedHolder$UserArgs _count?: boolean | EmbedHolderCountOutputTypeDefaultArgs @@ -4920,12 +5029,12 @@ export namespace Prisma { type EmbedHolderGetPayload = $Result.GetResult - type EmbedHolderCountArgs = - Omit & { + type EmbedHolderCountArgs = + Omit & { select?: EmbedHolderCountAggregateInputType | true } - export interface EmbedHolderDelegate { + export interface EmbedHolderDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['EmbedHolder'], meta: { name: 'EmbedHolder' } } /** * Find zero or one EmbedHolder that matches the filter. @@ -4938,10 +5047,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one EmbedHolder that matches the filter or throw an error with \`error.code='P2025'\` + * Find one EmbedHolder that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {EmbedHolderFindUniqueOrThrowArgs} args - Arguments to find a EmbedHolder * @example @@ -4952,7 +5061,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first EmbedHolder that matches the filter. @@ -4967,7 +5076,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first EmbedHolder that matches the filter or @@ -4983,7 +5092,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more EmbedHolders that matches the filter. @@ -5001,7 +5110,7 @@ export namespace Prisma { * const embedHolderWithIdOnly = await prisma.embedHolder.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a EmbedHolder. @@ -5015,7 +5124,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many EmbedHolders. @@ -5043,7 +5152,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one EmbedHolder. @@ -5060,7 +5169,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more EmbedHolders. @@ -5112,14 +5221,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more EmbedHolders that matches the filter. * @param {EmbedHolderFindRawArgs} args - Select which filters you would like to apply. * @example * const embedHolder = await prisma.embedHolder.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: EmbedHolderFindRawArgs): Prisma.PrismaPromise @@ -5275,35 +5384,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__EmbedHolderClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - User = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__EmbedHolderClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + User = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the EmbedHolder model */ @@ -5324,6 +5432,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5342,6 +5454,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5360,6 +5476,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5408,6 +5528,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5456,6 +5580,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5499,6 +5627,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5527,6 +5659,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5553,6 +5689,10 @@ export namespace Prisma { * Filter which EmbedHolders to update */ where?: EmbedHolderWhereInput + /** + * Limit how many EmbedHolders to update. + */ + limit?: number } /** @@ -5563,6 +5703,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5589,6 +5733,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5607,6 +5755,10 @@ export namespace Prisma { * Filter which EmbedHolders to delete */ where?: EmbedHolderWhereInput + /** + * Limit how many EmbedHolders to delete. + */ + limit?: number } /** @@ -5645,6 +5797,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5665,6 +5821,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5947,6 +6107,7 @@ export namespace Prisma { }, ExtArgs["result"]["m"]> + export type MSelectScalar = { id?: boolean n_ids?: boolean @@ -5964,6 +6125,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type MOmit = $Extensions.GetOmit<"id" | "n_ids" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["m"]> export type MInclude = { n?: boolean | M$nArgs _count?: boolean | MCountOutputTypeDefaultArgs @@ -5995,12 +6157,12 @@ export namespace Prisma { type MGetPayload = $Result.GetResult - type MCountArgs = - Omit & { + type MCountArgs = + Omit & { select?: MCountAggregateInputType | true } - export interface MDelegate { + export interface MDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['M'], meta: { name: 'M' } } /** * Find zero or one M that matches the filter. @@ -6013,10 +6175,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one M that matches the filter or throw an error with \`error.code='P2025'\` + * Find one M that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {MFindUniqueOrThrowArgs} args - Arguments to find a M * @example @@ -6027,7 +6189,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first M that matches the filter. @@ -6042,7 +6204,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first M that matches the filter or @@ -6058,7 +6220,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ms that matches the filter. @@ -6076,7 +6238,7 @@ export namespace Prisma { * const mWithIdOnly = await prisma.m.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a M. @@ -6090,7 +6252,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ms. @@ -6118,7 +6280,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one M. @@ -6135,7 +6297,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ms. @@ -6187,14 +6349,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ms that matches the filter. * @param {MFindRawArgs} args - Select which filters you would like to apply. * @example * const m = await prisma.m.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: MFindRawArgs): Prisma.PrismaPromise @@ -6350,35 +6512,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__MClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__MClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the M model */ @@ -6409,6 +6570,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6427,6 +6592,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6445,6 +6614,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6493,6 +6666,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6541,6 +6718,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6584,6 +6765,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6612,6 +6797,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6638,6 +6827,10 @@ export namespace Prisma { * Filter which MS to update */ where?: MWhereInput + /** + * Limit how many MS to update. + */ + limit?: number } /** @@ -6648,6 +6841,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6674,6 +6871,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6692,6 +6893,10 @@ export namespace Prisma { * Filter which MS to delete */ where?: MWhereInput + /** + * Limit how many MS to delete. + */ + limit?: number } /** @@ -6730,6 +6935,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6750,6 +6959,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7032,6 +7245,7 @@ export namespace Prisma { }, ExtArgs["result"]["n"]> + export type NSelectScalar = { id?: boolean m_ids?: boolean @@ -7049,6 +7263,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type NOmit = $Extensions.GetOmit<"id" | "m_ids" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["n"]> export type NInclude = { m?: boolean | N$mArgs _count?: boolean | NCountOutputTypeDefaultArgs @@ -7080,12 +7295,12 @@ export namespace Prisma { type NGetPayload = $Result.GetResult - type NCountArgs = - Omit & { + type NCountArgs = + Omit & { select?: NCountAggregateInputType | true } - export interface NDelegate { + export interface NDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['N'], meta: { name: 'N' } } /** * Find zero or one N that matches the filter. @@ -7098,10 +7313,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one N that matches the filter or throw an error with \`error.code='P2025'\` + * Find one N that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {NFindUniqueOrThrowArgs} args - Arguments to find a N * @example @@ -7112,7 +7327,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first N that matches the filter. @@ -7127,7 +7342,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first N that matches the filter or @@ -7143,7 +7358,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ns that matches the filter. @@ -7161,7 +7376,7 @@ export namespace Prisma { * const nWithIdOnly = await prisma.n.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a N. @@ -7175,7 +7390,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ns. @@ -7203,7 +7418,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one N. @@ -7220,7 +7435,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ns. @@ -7272,14 +7487,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ns that matches the filter. * @param {NFindRawArgs} args - Select which filters you would like to apply. * @example * const n = await prisma.n.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: NFindRawArgs): Prisma.PrismaPromise @@ -7435,35 +7650,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__NClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__NClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the N model */ @@ -7494,6 +7708,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7512,6 +7730,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7530,6 +7752,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7578,6 +7804,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7626,6 +7856,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7669,6 +7903,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7697,6 +7935,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7723,6 +7965,10 @@ export namespace Prisma { * Filter which NS to update */ where?: NWhereInput + /** + * Limit how many NS to update. + */ + limit?: number } /** @@ -7733,6 +7979,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7759,6 +8009,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7777,6 +8031,10 @@ export namespace Prisma { * Filter which NS to delete */ where?: NWhereInput + /** + * Limit how many NS to delete. + */ + limit?: number } /** @@ -7815,6 +8073,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7835,6 +8097,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8113,6 +8379,7 @@ export namespace Prisma { }, ExtArgs["result"]["oneOptional"]> + export type OneOptionalSelectScalar = { id?: boolean int?: boolean @@ -8129,6 +8396,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OneOptionalOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["oneOptional"]> export type OneOptionalInclude = { many?: boolean | OneOptional$manyArgs _count?: boolean | OneOptionalCountOutputTypeDefaultArgs @@ -8159,12 +8427,12 @@ export namespace Prisma { type OneOptionalGetPayload = $Result.GetResult - type OneOptionalCountArgs = - Omit & { + type OneOptionalCountArgs = + Omit & { select?: OneOptionalCountAggregateInputType | true } - export interface OneOptionalDelegate { + export interface OneOptionalDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['OneOptional'], meta: { name: 'OneOptional' } } /** * Find zero or one OneOptional that matches the filter. @@ -8177,10 +8445,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OneOptionalFindUniqueOrThrowArgs} args - Arguments to find a OneOptional * @example @@ -8191,7 +8459,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter. @@ -8206,7 +8474,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter or @@ -8222,7 +8490,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OneOptionals that matches the filter. @@ -8240,7 +8508,7 @@ export namespace Prisma { * const oneOptionalWithIdOnly = await prisma.oneOptional.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OneOptional. @@ -8254,7 +8522,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OneOptionals. @@ -8282,7 +8550,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OneOptional. @@ -8299,7 +8567,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OneOptionals. @@ -8351,14 +8619,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OneOptionals that matches the filter. * @param {OneOptionalFindRawArgs} args - Select which filters you would like to apply. * @example * const oneOptional = await prisma.oneOptional.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: OneOptionalFindRawArgs): Prisma.PrismaPromise @@ -8514,35 +8782,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OneOptional model */ @@ -8572,6 +8839,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8590,6 +8861,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8608,6 +8883,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8656,6 +8935,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8704,6 +8987,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8747,6 +9034,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8775,6 +9066,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8801,6 +9096,10 @@ export namespace Prisma { * Filter which OneOptionals to update */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to update. + */ + limit?: number } /** @@ -8811,6 +9110,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8837,6 +9140,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8855,6 +9162,10 @@ export namespace Prisma { * Filter which OneOptionals to delete */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to delete. + */ + limit?: number } /** @@ -8893,6 +9204,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8913,6 +9228,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9198,6 +9517,7 @@ export namespace Prisma { }, ExtArgs["result"]["manyRequired"]> + export type ManyRequiredSelectScalar = { id?: boolean oneOptionalId?: boolean @@ -9215,6 +9535,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type ManyRequiredOmit = $Extensions.GetOmit<"id" | "oneOptionalId" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["manyRequired"]> export type ManyRequiredInclude = { one?: boolean | ManyRequired$oneArgs } @@ -9245,12 +9566,12 @@ export namespace Prisma { type ManyRequiredGetPayload = $Result.GetResult - type ManyRequiredCountArgs = - Omit & { + type ManyRequiredCountArgs = + Omit & { select?: ManyRequiredCountAggregateInputType | true } - export interface ManyRequiredDelegate { + export interface ManyRequiredDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ManyRequired'], meta: { name: 'ManyRequired' } } /** * Find zero or one ManyRequired that matches the filter. @@ -9263,10 +9584,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` + * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {ManyRequiredFindUniqueOrThrowArgs} args - Arguments to find a ManyRequired * @example @@ -9277,7 +9598,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter. @@ -9292,7 +9613,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter or @@ -9308,7 +9629,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more ManyRequireds that matches the filter. @@ -9326,7 +9647,7 @@ export namespace Prisma { * const manyRequiredWithIdOnly = await prisma.manyRequired.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a ManyRequired. @@ -9340,7 +9661,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many ManyRequireds. @@ -9368,7 +9689,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one ManyRequired. @@ -9385,7 +9706,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more ManyRequireds. @@ -9437,14 +9758,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more ManyRequireds that matches the filter. * @param {ManyRequiredFindRawArgs} args - Select which filters you would like to apply. * @example * const manyRequired = await prisma.manyRequired.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: ManyRequiredFindRawArgs): Prisma.PrismaPromise @@ -9600,35 +9921,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the ManyRequired model */ @@ -9659,6 +9979,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9677,6 +10001,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9695,6 +10023,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9743,6 +10075,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9791,6 +10127,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9834,6 +10174,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9862,6 +10206,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9888,6 +10236,10 @@ export namespace Prisma { * Filter which ManyRequireds to update */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to update. + */ + limit?: number } /** @@ -9898,6 +10250,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9924,6 +10280,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9942,6 +10302,10 @@ export namespace Prisma { * Filter which ManyRequireds to delete */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to delete. + */ + limit?: number } /** @@ -9980,6 +10344,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9995,6 +10363,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -10280,6 +10652,7 @@ export namespace Prisma { }, ExtArgs["result"]["optionalSide1"]> + export type OptionalSide1SelectScalar = { id?: boolean optionalSide2Id?: boolean @@ -10297,6 +10670,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide1Omit = $Extensions.GetOmit<"id" | "optionalSide2Id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide1"]> export type OptionalSide1Include = { opti?: boolean | OptionalSide1$optiArgs } @@ -10327,12 +10701,12 @@ export namespace Prisma { type OptionalSide1GetPayload = $Result.GetResult - type OptionalSide1CountArgs = - Omit & { + type OptionalSide1CountArgs = + Omit & { select?: OptionalSide1CountAggregateInputType | true } - export interface OptionalSide1Delegate { + export interface OptionalSide1Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide1'], meta: { name: 'OptionalSide1' } } /** * Find zero or one OptionalSide1 that matches the filter. @@ -10345,10 +10719,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide1FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide1 * @example @@ -10359,7 +10733,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter. @@ -10374,7 +10748,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter or @@ -10390,7 +10764,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide1s that matches the filter. @@ -10408,7 +10782,7 @@ export namespace Prisma { * const optionalSide1WithIdOnly = await prisma.optionalSide1.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide1. @@ -10422,7 +10796,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide1s. @@ -10450,7 +10824,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide1. @@ -10467,7 +10841,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide1s. @@ -10519,14 +10893,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide1s that matches the filter. * @param {OptionalSide1FindRawArgs} args - Select which filters you would like to apply. * @example * const optionalSide1 = await prisma.optionalSide1.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: OptionalSide1FindRawArgs): Prisma.PrismaPromise @@ -10682,35 +11056,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide1 model */ @@ -10741,6 +11114,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10759,6 +11136,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10777,6 +11158,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10825,6 +11210,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10873,6 +11262,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10916,6 +11309,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10944,6 +11341,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10970,6 +11371,10 @@ export namespace Prisma { * Filter which OptionalSide1s to update */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to update. + */ + limit?: number } /** @@ -10980,6 +11385,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11006,6 +11415,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11024,6 +11437,10 @@ export namespace Prisma { * Filter which OptionalSide1s to delete */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to delete. + */ + limit?: number } /** @@ -11062,6 +11479,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11077,6 +11498,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11354,6 +11779,7 @@ export namespace Prisma { }, ExtArgs["result"]["optionalSide2"]> + export type OptionalSide2SelectScalar = { id?: boolean int?: boolean @@ -11370,6 +11796,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide2Omit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide2"]> export type OptionalSide2Include = { opti?: boolean | OptionalSide2$optiArgs } @@ -11399,12 +11826,12 @@ export namespace Prisma { type OptionalSide2GetPayload = $Result.GetResult - type OptionalSide2CountArgs = - Omit & { + type OptionalSide2CountArgs = + Omit & { select?: OptionalSide2CountAggregateInputType | true } - export interface OptionalSide2Delegate { + export interface OptionalSide2Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide2'], meta: { name: 'OptionalSide2' } } /** * Find zero or one OptionalSide2 that matches the filter. @@ -11417,10 +11844,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide2FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide2 * @example @@ -11431,7 +11858,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter. @@ -11446,7 +11873,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter or @@ -11462,7 +11889,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide2s that matches the filter. @@ -11480,7 +11907,7 @@ export namespace Prisma { * const optionalSide2WithIdOnly = await prisma.optionalSide2.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide2. @@ -11494,7 +11921,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide2s. @@ -11522,7 +11949,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide2. @@ -11539,7 +11966,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide2s. @@ -11591,14 +12018,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide2s that matches the filter. * @param {OptionalSide2FindRawArgs} args - Select which filters you would like to apply. * @example * const optionalSide2 = await prisma.optionalSide2.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: OptionalSide2FindRawArgs): Prisma.PrismaPromise @@ -11754,35 +12181,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide2 model */ @@ -11812,6 +12238,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11830,6 +12260,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11848,6 +12282,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11896,6 +12334,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11944,6 +12386,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11987,6 +12433,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12015,6 +12465,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12041,6 +12495,10 @@ export namespace Prisma { * Filter which OptionalSide2s to update */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to update. + */ + limit?: number } /** @@ -12051,6 +12509,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12077,6 +12539,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12095,6 +12561,10 @@ export namespace Prisma { * Filter which OptionalSide2s to delete */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to delete. + */ + limit?: number } /** @@ -12133,6 +12603,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12148,6 +12622,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12372,6 +12850,7 @@ export namespace Prisma { }, ExtArgs["result"]["a"]> + export type ASelectScalar = { id?: boolean email?: boolean @@ -12381,6 +12860,7 @@ export namespace Prisma { bInt?: boolean } + export type AOmit = $Extensions.GetOmit<"id" | "email" | "name" | "int" | "sInt" | "bInt", ExtArgs["result"]["a"]> export type $APayload = { name: "A" @@ -12404,12 +12884,12 @@ export namespace Prisma { type AGetPayload = $Result.GetResult - type ACountArgs = - Omit & { + type ACountArgs = + Omit & { select?: ACountAggregateInputType | true } - export interface ADelegate { + export interface ADelegate { [K: symbol]: { types: Prisma.TypeMap['model']['A'], meta: { name: 'A' } } /** * Find zero or one A that matches the filter. @@ -12422,10 +12902,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one A that matches the filter or throw an error with \`error.code='P2025'\` + * Find one A that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {AFindUniqueOrThrowArgs} args - Arguments to find a A * @example @@ -12436,7 +12916,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first A that matches the filter. @@ -12451,7 +12931,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first A that matches the filter or @@ -12467,7 +12947,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more As that matches the filter. @@ -12485,7 +12965,7 @@ export namespace Prisma { * const aWithIdOnly = await prisma.a.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a A. @@ -12499,7 +12979,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many As. @@ -12527,7 +13007,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one A. @@ -12544,7 +13024,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more As. @@ -12596,14 +13076,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more As that matches the filter. * @param {AFindRawArgs} args - Select which filters you would like to apply. * @example * const a = await prisma.a.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: AFindRawArgs): Prisma.PrismaPromise @@ -12759,34 +13239,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__AClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__AClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the A model */ @@ -12809,6 +13288,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12823,6 +13306,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12837,6 +13324,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12881,6 +13372,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12925,6 +13420,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which AS to fetch. */ @@ -12964,6 +13463,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to create a A. */ @@ -12988,6 +13491,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to update a A. */ @@ -13010,6 +13517,10 @@ export namespace Prisma { * Filter which AS to update */ where?: AWhereInput + /** + * Limit how many AS to update. + */ + limit?: number } /** @@ -13020,6 +13531,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The filter to search for the A to update in case it exists. */ @@ -13042,6 +13557,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter which A to delete. */ @@ -13056,6 +13575,10 @@ export namespace Prisma { * Filter which AS to delete */ where?: AWhereInput + /** + * Limit how many AS to delete. + */ + limit?: number } /** @@ -13094,6 +13617,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null } @@ -13286,12 +13813,14 @@ export namespace Prisma { }, ExtArgs["result"]["b"]> + export type BSelectScalar = { id?: boolean float?: boolean dFloat?: boolean } + export type BOmit = $Extensions.GetOmit<"id" | "float" | "dFloat", ExtArgs["result"]["b"]> export type $BPayload = { name: "B" @@ -13306,12 +13835,12 @@ export namespace Prisma { type BGetPayload = $Result.GetResult - type BCountArgs = - Omit & { + type BCountArgs = + Omit & { select?: BCountAggregateInputType | true } - export interface BDelegate { + export interface BDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['B'], meta: { name: 'B' } } /** * Find zero or one B that matches the filter. @@ -13324,10 +13853,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one B that matches the filter or throw an error with \`error.code='P2025'\` + * Find one B that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {BFindUniqueOrThrowArgs} args - Arguments to find a B * @example @@ -13338,7 +13867,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first B that matches the filter. @@ -13353,7 +13882,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first B that matches the filter or @@ -13369,7 +13898,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Bs that matches the filter. @@ -13387,7 +13916,7 @@ export namespace Prisma { * const bWithIdOnly = await prisma.b.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a B. @@ -13401,7 +13930,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Bs. @@ -13429,7 +13958,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one B. @@ -13446,7 +13975,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Bs. @@ -13498,14 +14027,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Bs that matches the filter. * @param {BFindRawArgs} args - Select which filters you would like to apply. * @example * const b = await prisma.b.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: BFindRawArgs): Prisma.PrismaPromise @@ -13661,34 +14190,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__BClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__BClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the B model */ @@ -13708,6 +14236,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13722,6 +14254,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13736,6 +14272,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13780,6 +14320,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13824,6 +14368,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which BS to fetch. */ @@ -13863,6 +14411,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to create a B. */ @@ -13887,6 +14439,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to update a B. */ @@ -13909,6 +14465,10 @@ export namespace Prisma { * Filter which BS to update */ where?: BWhereInput + /** + * Limit how many BS to update. + */ + limit?: number } /** @@ -13919,6 +14479,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The filter to search for the B to update in case it exists. */ @@ -13941,6 +14505,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter which B to delete. */ @@ -13955,6 +14523,10 @@ export namespace Prisma { * Filter which BS to delete */ where?: BWhereInput + /** + * Limit how many BS to delete. + */ + limit?: number } /** @@ -13993,6 +14565,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null } @@ -14179,6 +14755,7 @@ export namespace Prisma { }, ExtArgs["result"]["c"]> + export type CSelectScalar = { id?: boolean char?: boolean @@ -14189,6 +14766,7 @@ export namespace Prisma { uuid?: boolean } + export type COmit = $Extensions.GetOmit<"id" | "char" | "vChar" | "text" | "bit" | "vBit" | "uuid", ExtArgs["result"]["c"]> export type $CPayload = { name: "C" @@ -14207,12 +14785,12 @@ export namespace Prisma { type CGetPayload = $Result.GetResult - type CCountArgs = - Omit & { + type CCountArgs = + Omit & { select?: CCountAggregateInputType | true } - export interface CDelegate { + export interface CDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['C'], meta: { name: 'C' } } /** * Find zero or one C that matches the filter. @@ -14225,10 +14803,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one C that matches the filter or throw an error with \`error.code='P2025'\` + * Find one C that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {CFindUniqueOrThrowArgs} args - Arguments to find a C * @example @@ -14239,7 +14817,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first C that matches the filter. @@ -14254,7 +14832,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first C that matches the filter or @@ -14270,7 +14848,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Cs that matches the filter. @@ -14288,7 +14866,7 @@ export namespace Prisma { * const cWithIdOnly = await prisma.c.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a C. @@ -14302,7 +14880,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Cs. @@ -14330,7 +14908,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one C. @@ -14347,7 +14925,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Cs. @@ -14399,14 +14977,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Cs that matches the filter. * @param {CFindRawArgs} args - Select which filters you would like to apply. * @example * const c = await prisma.c.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: CFindRawArgs): Prisma.PrismaPromise @@ -14562,34 +15140,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__CClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__CClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the C model */ @@ -14613,6 +15190,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14627,6 +15208,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14641,6 +15226,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14685,6 +15274,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14729,6 +15322,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which CS to fetch. */ @@ -14768,6 +15365,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to create a C. */ @@ -14792,6 +15393,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to update a C. */ @@ -14814,6 +15419,10 @@ export namespace Prisma { * Filter which CS to update */ where?: CWhereInput + /** + * Limit how many CS to update. + */ + limit?: number } /** @@ -14824,6 +15433,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The filter to search for the C to update in case it exists. */ @@ -14846,6 +15459,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter which C to delete. */ @@ -14860,6 +15477,10 @@ export namespace Prisma { * Filter which CS to delete */ where?: CWhereInput + /** + * Limit how many CS to delete. + */ + limit?: number } /** @@ -14898,6 +15519,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null } @@ -14924,14 +15549,14 @@ export namespace Prisma { export type DMinAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } export type DMaxAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } @@ -15069,7 +15694,7 @@ export namespace Prisma { export type DGroupByOutputType = { id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonValue jsonb: JsonValue @@ -15106,6 +15731,7 @@ export namespace Prisma { }, ExtArgs["result"]["d"]> + export type DSelectScalar = { id?: boolean bool?: boolean @@ -15116,6 +15742,7 @@ export namespace Prisma { list?: boolean } + export type DOmit = $Extensions.GetOmit<"id" | "bool" | "byteA" | "xml" | "json" | "jsonb" | "list", ExtArgs["result"]["d"]> export type $DPayload = { name: "D" @@ -15123,7 +15750,7 @@ export namespace Prisma { scalars: $Extensions.GetPayloadResult<{ id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: Prisma.JsonValue jsonb: Prisma.JsonValue @@ -15134,12 +15761,12 @@ export namespace Prisma { type DGetPayload = $Result.GetResult - type DCountArgs = - Omit & { + type DCountArgs = + Omit & { select?: DCountAggregateInputType | true } - export interface DDelegate { + export interface DDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['D'], meta: { name: 'D' } } /** * Find zero or one D that matches the filter. @@ -15152,10 +15779,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one D that matches the filter or throw an error with \`error.code='P2025'\` + * Find one D that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {DFindUniqueOrThrowArgs} args - Arguments to find a D * @example @@ -15166,7 +15793,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first D that matches the filter. @@ -15181,7 +15808,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first D that matches the filter or @@ -15197,7 +15824,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ds that matches the filter. @@ -15215,7 +15842,7 @@ export namespace Prisma { * const dWithIdOnly = await prisma.d.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a D. @@ -15229,7 +15856,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ds. @@ -15257,7 +15884,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one D. @@ -15274,7 +15901,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ds. @@ -15326,14 +15953,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ds that matches the filter. * @param {DFindRawArgs} args - Select which filters you would like to apply. * @example * const d = await prisma.d.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: DFindRawArgs): Prisma.PrismaPromise @@ -15489,34 +16116,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__DClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__DClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the D model */ @@ -15540,6 +16166,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15554,6 +16184,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15568,6 +16202,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15612,6 +16250,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15656,6 +16298,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which DS to fetch. */ @@ -15695,6 +16341,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to create a D. */ @@ -15719,6 +16369,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to update a D. */ @@ -15741,6 +16395,10 @@ export namespace Prisma { * Filter which DS to update */ where?: DWhereInput + /** + * Limit how many DS to update. + */ + limit?: number } /** @@ -15751,6 +16409,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The filter to search for the D to update in case it exists. */ @@ -15773,6 +16435,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter which D to delete. */ @@ -15787,6 +16453,10 @@ export namespace Prisma { * Filter which DS to delete */ where?: DWhereInput + /** + * Limit how many DS to delete. + */ + limit?: number } /** @@ -15825,6 +16495,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null } @@ -15987,6 +16661,7 @@ export namespace Prisma { }, ExtArgs["result"]["e"]> + export type ESelectScalar = { id?: boolean date?: boolean @@ -15994,6 +16669,7 @@ export namespace Prisma { ts?: boolean } + export type EOmit = $Extensions.GetOmit<"id" | "date" | "time" | "ts", ExtArgs["result"]["e"]> export type $EPayload = { name: "E" @@ -16009,12 +16685,12 @@ export namespace Prisma { type EGetPayload = $Result.GetResult - type ECountArgs = - Omit & { + type ECountArgs = + Omit & { select?: ECountAggregateInputType | true } - export interface EDelegate { + export interface EDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['E'], meta: { name: 'E' } } /** * Find zero or one E that matches the filter. @@ -16027,10 +16703,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one E that matches the filter or throw an error with \`error.code='P2025'\` + * Find one E that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {EFindUniqueOrThrowArgs} args - Arguments to find a E * @example @@ -16041,7 +16717,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first E that matches the filter. @@ -16056,7 +16732,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first E that matches the filter or @@ -16072,7 +16748,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Es that matches the filter. @@ -16090,7 +16766,7 @@ export namespace Prisma { * const eWithIdOnly = await prisma.e.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a E. @@ -16104,7 +16780,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Es. @@ -16132,7 +16808,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one E. @@ -16149,7 +16825,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Es. @@ -16201,14 +16877,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Es that matches the filter. * @param {EFindRawArgs} args - Select which filters you would like to apply. * @example * const e = await prisma.e.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: EFindRawArgs): Prisma.PrismaPromise @@ -16364,34 +17040,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__EClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__EClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the E model */ @@ -16412,6 +17087,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16426,6 +17105,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16440,6 +17123,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16484,6 +17171,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16528,6 +17219,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which ES to fetch. */ @@ -16567,6 +17262,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to create a E. */ @@ -16591,6 +17290,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to update a E. */ @@ -16613,6 +17316,10 @@ export namespace Prisma { * Filter which ES to update */ where?: EWhereInput + /** + * Limit how many ES to update. + */ + limit?: number } /** @@ -16623,6 +17330,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The filter to search for the E to update in case it exists. */ @@ -16645,6 +17356,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter which E to delete. */ @@ -16659,6 +17374,10 @@ export namespace Prisma { * Filter which ES to delete */ where?: EWhereInput + /** + * Limit how many ES to delete. + */ + limit?: number } /** @@ -16697,6 +17416,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null } @@ -17068,7 +17791,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: StringFilter<"Post"> | string - author?: XOR + author?: XOR } export type PostOrderByWithRelationInput = { @@ -17091,7 +17814,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: StringFilter<"Post"> | string - author?: XOR + author?: XOR }, "id"> export type PostOrderByWithAggregationInput = { @@ -17138,7 +17861,7 @@ export namespace Prisma { optionalBoolean?: BoolNullableFilter<"User"> | boolean | null embedHolderId?: StringFilter<"User"> | string posts?: PostListRelationFilter - embedHolder?: XOR + embedHolder?: XOR } export type UserOrderByWithRelationInput = { @@ -17181,7 +17904,7 @@ export namespace Prisma { optionalBoolean?: BoolNullableFilter<"User"> | boolean | null embedHolderId?: StringFilter<"User"> | string posts?: PostListRelationFilter - embedHolder?: XOR + embedHolder?: XOR }, "id" | "email"> export type UserOrderByWithAggregationInput = { @@ -17606,7 +18329,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null } export type ManyRequiredOrderByWithRelationInput = { @@ -17645,7 +18368,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null }, "id"> export type ManyRequiredOrderByWithAggregationInput = { @@ -17708,7 +18431,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide1OrderByWithRelationInput = { @@ -17747,7 +18470,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id" | "optionalSide2Id"> export type OptionalSide1OrderByWithAggregationInput = { @@ -17809,7 +18532,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide2OrderByWithRelationInput = { @@ -17846,7 +18569,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id"> export type OptionalSide2OrderByWithAggregationInput = { @@ -18060,7 +18783,7 @@ export namespace Prisma { NOT?: DWhereInput | DWhereInput[] id?: StringFilter<"D"> | string bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -18083,7 +18806,7 @@ export namespace Prisma { OR?: DWhereInput[] NOT?: DWhereInput | DWhereInput[] bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -18111,7 +18834,7 @@ export namespace Prisma { NOT?: DScalarWhereWithAggregatesInput | DScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"D"> | string bool?: BoolWithAggregatesFilter<"D"> | boolean - byteA?: BytesWithAggregatesFilter<"D"> | Buffer + byteA?: BytesWithAggregatesFilter<"D"> | Uint8Array xml?: StringWithAggregatesFilter<"D"> | string json?: JsonWithAggregatesFilter<"D"> jsonb?: JsonWithAggregatesFilter<"D"> @@ -19268,7 +19991,7 @@ export namespace Prisma { export type DCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: InputJsonValue jsonb: InputJsonValue @@ -19278,7 +20001,7 @@ export namespace Prisma { export type DUncheckedCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: InputJsonValue jsonb: InputJsonValue @@ -19287,7 +20010,7 @@ export namespace Prisma { export type DUpdateInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19296,7 +20019,7 @@ export namespace Prisma { export type DUncheckedUpdateInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19306,7 +20029,7 @@ export namespace Prisma { export type DCreateManyInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: InputJsonValue jsonb: InputJsonValue @@ -19315,7 +20038,7 @@ export namespace Prisma { export type DUpdateManyMutationInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19324,7 +20047,7 @@ export namespace Prisma { export type DUncheckedUpdateManyInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19423,7 +20146,7 @@ export namespace Prisma { not?: NestedBoolFilter<$PrismaModel> | boolean } - export type UserRelationFilter = { + export type UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } @@ -19610,7 +20333,7 @@ export namespace Prisma { none?: PostWhereInput } - export type EmbedHolderRelationFilter = { + export type EmbedHolderScalarRelationFilter = { is?: EmbedHolderWhereInput isNot?: EmbedHolderWhereInput } @@ -20097,7 +20820,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OneOptionalNullableRelationFilter = { + export type OneOptionalNullableScalarRelationFilter = { is?: OneOptionalWhereInput | null isNot?: OneOptionalWhereInput | null } @@ -20163,7 +20886,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide2NullableRelationFilter = { + export type OptionalSide2NullableScalarRelationFilter = { is?: OptionalSide2WhereInput | null isNot?: OptionalSide2WhereInput | null } @@ -20229,7 +20952,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide1NullableRelationFilter = { + export type OptionalSide1NullableScalarRelationFilter = { is?: OptionalSide1WhereInput | null isNot?: OptionalSide1WhereInput | null } @@ -20417,10 +21140,10 @@ export namespace Prisma { } export type BytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type IntNullableListFilter<$PrismaModel = never> = { @@ -20464,10 +21187,10 @@ export namespace Prisma { } export type BytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -20923,7 +21646,7 @@ export namespace Prisma { } export type BytesFieldUpdateOperationsInput = { - set?: Buffer + set?: Uint8Array } export type DUpdatelistInput = { @@ -21273,17 +21996,17 @@ export namespace Prisma { } export type NestedBytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type NestedBytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -22380,94 +23103,6 @@ export namespace Prisma { - /** - * Aliases for legacy arg types - */ - /** - * @deprecated Use UserCountOutputTypeDefaultArgs instead - */ - export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs - /** - * @deprecated Use EmbedHolderCountOutputTypeDefaultArgs instead - */ - export type EmbedHolderCountOutputTypeArgs = EmbedHolderCountOutputTypeDefaultArgs - /** - * @deprecated Use MCountOutputTypeDefaultArgs instead - */ - export type MCountOutputTypeArgs = MCountOutputTypeDefaultArgs - /** - * @deprecated Use NCountOutputTypeDefaultArgs instead - */ - export type NCountOutputTypeArgs = NCountOutputTypeDefaultArgs - /** - * @deprecated Use OneOptionalCountOutputTypeDefaultArgs instead - */ - export type OneOptionalCountOutputTypeArgs = OneOptionalCountOutputTypeDefaultArgs - /** - * @deprecated Use EmbedDefaultArgs instead - */ - export type EmbedArgs = EmbedDefaultArgs - /** - * @deprecated Use EmbedEmbedDefaultArgs instead - */ - export type EmbedEmbedArgs = EmbedEmbedDefaultArgs - /** - * @deprecated Use PostDefaultArgs instead - */ - export type PostArgs = PostDefaultArgs - /** - * @deprecated Use UserDefaultArgs instead - */ - export type UserArgs = UserDefaultArgs - /** - * @deprecated Use EmbedHolderDefaultArgs instead - */ - export type EmbedHolderArgs = EmbedHolderDefaultArgs - /** - * @deprecated Use MDefaultArgs instead - */ - export type MArgs = MDefaultArgs - /** - * @deprecated Use NDefaultArgs instead - */ - export type NArgs = NDefaultArgs - /** - * @deprecated Use OneOptionalDefaultArgs instead - */ - export type OneOptionalArgs = OneOptionalDefaultArgs - /** - * @deprecated Use ManyRequiredDefaultArgs instead - */ - export type ManyRequiredArgs = ManyRequiredDefaultArgs - /** - * @deprecated Use OptionalSide1DefaultArgs instead - */ - export type OptionalSide1Args = OptionalSide1DefaultArgs - /** - * @deprecated Use OptionalSide2DefaultArgs instead - */ - export type OptionalSide2Args = OptionalSide2DefaultArgs - /** - * @deprecated Use ADefaultArgs instead - */ - export type AArgs = ADefaultArgs - /** - * @deprecated Use BDefaultArgs instead - */ - export type BArgs = BDefaultArgs - /** - * @deprecated Use CDefaultArgs instead - */ - export type CArgs = CDefaultArgs - /** - * @deprecated Use DDefaultArgs instead - */ - export type DArgs = DDefaultArgs - /** - * @deprecated Use EDefaultArgs instead - */ - export type EArgs = EDefaultArgs - /** * Batch Payload for updateMany & deleteMany & createMany */ diff --git a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/library.test.ts.snap b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/library.test.ts.snap index 3bcc83ad9dec..dc76ed979eed 100644 --- a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/library.test.ts.snap +++ b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema-mongo/__snapshots__/library.test.ts.snap @@ -10,6 +10,7 @@ const { makeStrictEnum, Public, getRuntime, + skip } = require('@prisma/client/runtime/index-browser.js') @@ -52,11 +53,6 @@ Prisma.PrismaClientValidationError = () => { throw new Error(\`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, )} -Prisma.NotFoundError = () => { - const runtimeName = getRuntime().prettyName; - throw new Error(\`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). -In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, -)} Prisma.Decimal = Decimal /** @@ -111,6 +107,8 @@ Prisma.NullTypes = { AnyNull: objectEnumValues.classes.AnyNull } + + /** * Enums */ @@ -473,7 +471,7 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -482,19 +480,19 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< - T extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, - U = 'log' extends keyof T ? T['log'] extends Array ? Prisma.GetEvents : never : never, + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -503,11 +501,11 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ - constructor(optionsArg ?: Prisma.Subset); + constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): void; /** @@ -559,7 +557,9 @@ export class PrismaClient< */ $runCommandRaw(command: Prisma.InputJsonObject): Prisma.PrismaPromise - $extends: $Extensions.ExtendsHook<'extends', Prisma.TypeMapCb, ExtArgs> + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, ClientOptions> /** * \`prisma.post\`: Exposes CRUD operations for the **Post** model. @@ -569,7 +569,7 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` */ - get post(): Prisma.PostDelegate; + get post(): Prisma.PostDelegate; /** * \`prisma.user\`: Exposes CRUD operations for the **User** model. @@ -579,7 +579,7 @@ export class PrismaClient< * const users = await prisma.user.findMany() * \`\`\` */ - get user(): Prisma.UserDelegate; + get user(): Prisma.UserDelegate; /** * \`prisma.embedHolder\`: Exposes CRUD operations for the **EmbedHolder** model. @@ -589,7 +589,7 @@ export class PrismaClient< * const embedHolders = await prisma.embedHolder.findMany() * \`\`\` */ - get embedHolder(): Prisma.EmbedHolderDelegate; + get embedHolder(): Prisma.EmbedHolderDelegate; /** * \`prisma.m\`: Exposes CRUD operations for the **M** model. @@ -599,7 +599,7 @@ export class PrismaClient< * const ms = await prisma.m.findMany() * \`\`\` */ - get m(): Prisma.MDelegate; + get m(): Prisma.MDelegate; /** * \`prisma.n\`: Exposes CRUD operations for the **N** model. @@ -609,7 +609,7 @@ export class PrismaClient< * const ns = await prisma.n.findMany() * \`\`\` */ - get n(): Prisma.NDelegate; + get n(): Prisma.NDelegate; /** * \`prisma.oneOptional\`: Exposes CRUD operations for the **OneOptional** model. @@ -619,7 +619,7 @@ export class PrismaClient< * const oneOptionals = await prisma.oneOptional.findMany() * \`\`\` */ - get oneOptional(): Prisma.OneOptionalDelegate; + get oneOptional(): Prisma.OneOptionalDelegate; /** * \`prisma.manyRequired\`: Exposes CRUD operations for the **ManyRequired** model. @@ -629,7 +629,7 @@ export class PrismaClient< * const manyRequireds = await prisma.manyRequired.findMany() * \`\`\` */ - get manyRequired(): Prisma.ManyRequiredDelegate; + get manyRequired(): Prisma.ManyRequiredDelegate; /** * \`prisma.optionalSide1\`: Exposes CRUD operations for the **OptionalSide1** model. @@ -639,7 +639,7 @@ export class PrismaClient< * const optionalSide1s = await prisma.optionalSide1.findMany() * \`\`\` */ - get optionalSide1(): Prisma.OptionalSide1Delegate; + get optionalSide1(): Prisma.OptionalSide1Delegate; /** * \`prisma.optionalSide2\`: Exposes CRUD operations for the **OptionalSide2** model. @@ -649,7 +649,7 @@ export class PrismaClient< * const optionalSide2s = await prisma.optionalSide2.findMany() * \`\`\` */ - get optionalSide2(): Prisma.OptionalSide2Delegate; + get optionalSide2(): Prisma.OptionalSide2Delegate; /** * \`prisma.a\`: Exposes CRUD operations for the **A** model. @@ -659,7 +659,7 @@ export class PrismaClient< * const as = await prisma.a.findMany() * \`\`\` */ - get a(): Prisma.ADelegate; + get a(): Prisma.ADelegate; /** * \`prisma.b\`: Exposes CRUD operations for the **B** model. @@ -669,7 +669,7 @@ export class PrismaClient< * const bs = await prisma.b.findMany() * \`\`\` */ - get b(): Prisma.BDelegate; + get b(): Prisma.BDelegate; /** * \`prisma.c\`: Exposes CRUD operations for the **C** model. @@ -679,7 +679,7 @@ export class PrismaClient< * const cs = await prisma.c.findMany() * \`\`\` */ - get c(): Prisma.CDelegate; + get c(): Prisma.CDelegate; /** * \`prisma.d\`: Exposes CRUD operations for the **D** model. @@ -689,7 +689,7 @@ export class PrismaClient< * const ds = await prisma.d.findMany() * \`\`\` */ - get d(): Prisma.DDelegate; + get d(): Prisma.DDelegate; /** * \`prisma.e\`: Exposes CRUD operations for the **E** model. @@ -699,7 +699,7 @@ export class PrismaClient< * const es = await prisma.e.findMany() * \`\`\` */ - get e(): Prisma.EDelegate; + get e(): Prisma.EDelegate; } export namespace Prisma { @@ -720,7 +720,6 @@ export namespace Prisma { export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError - export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag @@ -731,6 +730,8 @@ export namespace Prisma { export import raw = runtime.raw export import Sql = runtime.Sql + + /** * Decimal.js */ @@ -739,7 +740,7 @@ export namespace Prisma { export type DecimalJsLike = runtime.DecimalJsLike /** - * Metrics + * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric @@ -764,69 +765,31 @@ export namespace Prisma { client: string } - export const prismaVersion: PrismaVersion + export const prismaVersion: PrismaVersion /** * Utility Types */ - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON object. - * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. - */ - export type JsonObject = {[Key in string]?: JsonValue} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON array. - */ - export interface JsonArray extends Array {} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches any valid JSON value. - */ - export type JsonValue = string | number | boolean | JsonObject | JsonArray | null - - /** - * Matches a JSON object. - * Unlike \`JsonObject\`, this type allows undefined and read-only properties. - */ - export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null} - - /** - * Matches a JSON array. - * Unlike \`JsonArray\`, readonly arrays are assignable to this type. - */ - export interface InputJsonArray extends ReadonlyArray {} - /** - * Matches any valid value that can be used as an input for operations like - * create and update as the value of a JSON field. Unlike \`JsonValue\`, this - * type allows read-only arrays and read-only object properties and disallows - * \`null\` at the top level. - * - * \`null\` cannot be used as the value of a JSON field because its meaning - * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or - * \`Prisma.DbNull\` to clear the JSON value and set the field to the database - * NULL value instead. - * - * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values - */ - export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown } + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of \`null\` values when working with JSON fields. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of \`Prisma.DbNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.DbNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { @@ -836,9 +799,9 @@ export namespace Prisma { /** * Type of \`Prisma.JsonNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.JsonNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { @@ -848,9 +811,9 @@ export namespace Prisma { /** * Type of \`Prisma.AnyNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.AnyNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { @@ -861,21 +824,21 @@ export namespace Prisma { /** * Helper for filtering JSON entries that have \`null\` on the database (empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON \`null\` values (not empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are \`Prisma.DbNull\` or \`Prisma.JsonNull\` - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull @@ -1200,87 +1163,86 @@ export namespace Prisma { db?: Datasource } - - interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs}, $Utils.Record> { - returns: Prisma.TypeMap + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { + returns: Prisma.TypeMap } - export type TypeMap = { + export type TypeMap = { meta: { - modelProps: 'post' | 'user' | 'embedHolder' | 'm' | 'n' | 'oneOptional' | 'manyRequired' | 'optionalSide1' | 'optionalSide2' | 'a' | 'b' | 'c' | 'd' | 'e' + modelProps: "post" | "user" | "embedHolder" | "m" | "n" | "oneOptional" | "manyRequired" | "optionalSide1" | "optionalSide2" | "a" | "b" | "c" | "d" | "e" txIsolationLevel: never - }, + } model: { Post: { payload: Prisma.$PostPayload fields: Prisma.PostFieldRefs operations: { findUnique: { - args: Prisma.PostFindUniqueArgs, + args: Prisma.PostFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.PostFindUniqueOrThrowArgs, + args: Prisma.PostFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.PostFindFirstArgs, + args: Prisma.PostFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.PostFindFirstOrThrowArgs, + args: Prisma.PostFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.PostFindManyArgs, + args: Prisma.PostFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.PostCreateArgs, + args: Prisma.PostCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.PostCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.PostDeleteArgs, + args: Prisma.PostDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.PostUpdateArgs, + args: Prisma.PostUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.PostDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.PostUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.PostUpsertArgs, + args: Prisma.PostUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.PostAggregateArgs, + args: Prisma.PostAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.PostGroupByArgs, + args: Prisma.PostGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.PostFindRawArgs, - result: Prisma.JsonObject + args: Prisma.PostFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.PostAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.PostAggregateRawArgs + result: JsonObject } count: { - args: Prisma.PostCountArgs, + args: Prisma.PostCountArgs result: $Utils.Optional | number } } @@ -1290,71 +1252,71 @@ export namespace Prisma { fields: Prisma.UserFieldRefs operations: { findUnique: { - args: Prisma.UserFindUniqueArgs, + args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.UserFindUniqueOrThrowArgs, + args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.UserFindFirstArgs, + args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.UserFindFirstOrThrowArgs, + args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.UserFindManyArgs, + args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.UserCreateArgs, + args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.UserCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.UserDeleteArgs, + args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.UserUpdateArgs, + args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.UserDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.UserUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.UserUpsertArgs, + args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.UserAggregateArgs, + args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.UserGroupByArgs, + args: Prisma.UserGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.UserFindRawArgs, - result: Prisma.JsonObject + args: Prisma.UserFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.UserAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.UserAggregateRawArgs + result: JsonObject } count: { - args: Prisma.UserCountArgs, + args: Prisma.UserCountArgs result: $Utils.Optional | number } } @@ -1364,71 +1326,71 @@ export namespace Prisma { fields: Prisma.EmbedHolderFieldRefs operations: { findUnique: { - args: Prisma.EmbedHolderFindUniqueArgs, + args: Prisma.EmbedHolderFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.EmbedHolderFindUniqueOrThrowArgs, + args: Prisma.EmbedHolderFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.EmbedHolderFindFirstArgs, + args: Prisma.EmbedHolderFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.EmbedHolderFindFirstOrThrowArgs, + args: Prisma.EmbedHolderFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.EmbedHolderFindManyArgs, + args: Prisma.EmbedHolderFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.EmbedHolderCreateArgs, + args: Prisma.EmbedHolderCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.EmbedHolderCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EmbedHolderCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.EmbedHolderDeleteArgs, + args: Prisma.EmbedHolderDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.EmbedHolderUpdateArgs, + args: Prisma.EmbedHolderUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.EmbedHolderDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.EmbedHolderDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.EmbedHolderUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EmbedHolderUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.EmbedHolderUpsertArgs, + args: Prisma.EmbedHolderUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.EmbedHolderAggregateArgs, + args: Prisma.EmbedHolderAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.EmbedHolderGroupByArgs, + args: Prisma.EmbedHolderGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.EmbedHolderFindRawArgs, - result: Prisma.JsonObject + args: Prisma.EmbedHolderFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.EmbedHolderAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.EmbedHolderAggregateRawArgs + result: JsonObject } count: { - args: Prisma.EmbedHolderCountArgs, + args: Prisma.EmbedHolderCountArgs result: $Utils.Optional | number } } @@ -1438,71 +1400,71 @@ export namespace Prisma { fields: Prisma.MFieldRefs operations: { findUnique: { - args: Prisma.MFindUniqueArgs, + args: Prisma.MFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.MFindUniqueOrThrowArgs, + args: Prisma.MFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.MFindFirstArgs, + args: Prisma.MFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.MFindFirstOrThrowArgs, + args: Prisma.MFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.MFindManyArgs, + args: Prisma.MFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.MCreateArgs, + args: Prisma.MCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.MCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.MDeleteArgs, + args: Prisma.MDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.MUpdateArgs, + args: Prisma.MUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.MDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.MDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.MUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.MUpsertArgs, + args: Prisma.MUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.MAggregateArgs, + args: Prisma.MAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.MGroupByArgs, + args: Prisma.MGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.MFindRawArgs, - result: Prisma.JsonObject + args: Prisma.MFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.MAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.MAggregateRawArgs + result: JsonObject } count: { - args: Prisma.MCountArgs, + args: Prisma.MCountArgs result: $Utils.Optional | number } } @@ -1512,71 +1474,71 @@ export namespace Prisma { fields: Prisma.NFieldRefs operations: { findUnique: { - args: Prisma.NFindUniqueArgs, + args: Prisma.NFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.NFindUniqueOrThrowArgs, + args: Prisma.NFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.NFindFirstArgs, + args: Prisma.NFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.NFindFirstOrThrowArgs, + args: Prisma.NFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.NFindManyArgs, + args: Prisma.NFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.NCreateArgs, + args: Prisma.NCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.NCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.NDeleteArgs, + args: Prisma.NDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.NUpdateArgs, + args: Prisma.NUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.NDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.NDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.NUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.NUpsertArgs, + args: Prisma.NUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.NAggregateArgs, + args: Prisma.NAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.NGroupByArgs, + args: Prisma.NGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.NFindRawArgs, - result: Prisma.JsonObject + args: Prisma.NFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.NAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.NAggregateRawArgs + result: JsonObject } count: { - args: Prisma.NCountArgs, + args: Prisma.NCountArgs result: $Utils.Optional | number } } @@ -1586,71 +1548,71 @@ export namespace Prisma { fields: Prisma.OneOptionalFieldRefs operations: { findUnique: { - args: Prisma.OneOptionalFindUniqueArgs, + args: Prisma.OneOptionalFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OneOptionalFindUniqueOrThrowArgs, + args: Prisma.OneOptionalFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OneOptionalFindFirstArgs, + args: Prisma.OneOptionalFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OneOptionalFindFirstOrThrowArgs, + args: Prisma.OneOptionalFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OneOptionalFindManyArgs, + args: Prisma.OneOptionalFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OneOptionalCreateArgs, + args: Prisma.OneOptionalCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OneOptionalCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.OneOptionalDeleteArgs, + args: Prisma.OneOptionalDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OneOptionalUpdateArgs, + args: Prisma.OneOptionalUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OneOptionalDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OneOptionalUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.OneOptionalUpsertArgs, + args: Prisma.OneOptionalUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OneOptionalAggregateArgs, + args: Prisma.OneOptionalAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OneOptionalGroupByArgs, + args: Prisma.OneOptionalGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.OneOptionalFindRawArgs, - result: Prisma.JsonObject + args: Prisma.OneOptionalFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.OneOptionalAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.OneOptionalAggregateRawArgs + result: JsonObject } count: { - args: Prisma.OneOptionalCountArgs, + args: Prisma.OneOptionalCountArgs result: $Utils.Optional | number } } @@ -1660,71 +1622,71 @@ export namespace Prisma { fields: Prisma.ManyRequiredFieldRefs operations: { findUnique: { - args: Prisma.ManyRequiredFindUniqueArgs, + args: Prisma.ManyRequiredFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.ManyRequiredFindUniqueOrThrowArgs, + args: Prisma.ManyRequiredFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.ManyRequiredFindFirstArgs, + args: Prisma.ManyRequiredFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.ManyRequiredFindFirstOrThrowArgs, + args: Prisma.ManyRequiredFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.ManyRequiredFindManyArgs, + args: Prisma.ManyRequiredFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ManyRequiredCreateArgs, + args: Prisma.ManyRequiredCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ManyRequiredCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.ManyRequiredDeleteArgs, + args: Prisma.ManyRequiredDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.ManyRequiredUpdateArgs, + args: Prisma.ManyRequiredUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ManyRequiredDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.ManyRequiredUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.ManyRequiredUpsertArgs, + args: Prisma.ManyRequiredUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.ManyRequiredAggregateArgs, + args: Prisma.ManyRequiredAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.ManyRequiredGroupByArgs, + args: Prisma.ManyRequiredGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.ManyRequiredFindRawArgs, - result: Prisma.JsonObject + args: Prisma.ManyRequiredFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.ManyRequiredAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.ManyRequiredAggregateRawArgs + result: JsonObject } count: { - args: Prisma.ManyRequiredCountArgs, + args: Prisma.ManyRequiredCountArgs result: $Utils.Optional | number } } @@ -1734,71 +1696,71 @@ export namespace Prisma { fields: Prisma.OptionalSide1FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide1FindUniqueArgs, + args: Prisma.OptionalSide1FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide1FindUniqueOrThrowArgs, + args: Prisma.OptionalSide1FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide1FindFirstArgs, + args: Prisma.OptionalSide1FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide1FindFirstOrThrowArgs, + args: Prisma.OptionalSide1FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide1FindManyArgs, + args: Prisma.OptionalSide1FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide1CreateArgs, + args: Prisma.OptionalSide1CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide1CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1CreateManyArgs + result: BatchPayload } delete: { - args: Prisma.OptionalSide1DeleteArgs, + args: Prisma.OptionalSide1DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide1UpdateArgs, + args: Prisma.OptionalSide1UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide1DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide1UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1UpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.OptionalSide1UpsertArgs, + args: Prisma.OptionalSide1UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide1AggregateArgs, + args: Prisma.OptionalSide1AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide1GroupByArgs, + args: Prisma.OptionalSide1GroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.OptionalSide1FindRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide1FindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.OptionalSide1AggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide1AggregateRawArgs + result: JsonObject } count: { - args: Prisma.OptionalSide1CountArgs, + args: Prisma.OptionalSide1CountArgs result: $Utils.Optional | number } } @@ -1808,71 +1770,71 @@ export namespace Prisma { fields: Prisma.OptionalSide2FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide2FindUniqueArgs, + args: Prisma.OptionalSide2FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide2FindUniqueOrThrowArgs, + args: Prisma.OptionalSide2FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide2FindFirstArgs, + args: Prisma.OptionalSide2FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide2FindFirstOrThrowArgs, + args: Prisma.OptionalSide2FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide2FindManyArgs, + args: Prisma.OptionalSide2FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide2CreateArgs, + args: Prisma.OptionalSide2CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide2CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2CreateManyArgs + result: BatchPayload } delete: { - args: Prisma.OptionalSide2DeleteArgs, + args: Prisma.OptionalSide2DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide2UpdateArgs, + args: Prisma.OptionalSide2UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide2DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide2UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2UpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.OptionalSide2UpsertArgs, + args: Prisma.OptionalSide2UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide2AggregateArgs, + args: Prisma.OptionalSide2AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide2GroupByArgs, + args: Prisma.OptionalSide2GroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.OptionalSide2FindRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide2FindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.OptionalSide2AggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.OptionalSide2AggregateRawArgs + result: JsonObject } count: { - args: Prisma.OptionalSide2CountArgs, + args: Prisma.OptionalSide2CountArgs result: $Utils.Optional | number } } @@ -1882,71 +1844,71 @@ export namespace Prisma { fields: Prisma.AFieldRefs operations: { findUnique: { - args: Prisma.AFindUniqueArgs, + args: Prisma.AFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.AFindUniqueOrThrowArgs, + args: Prisma.AFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.AFindFirstArgs, + args: Prisma.AFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.AFindFirstOrThrowArgs, + args: Prisma.AFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.AFindManyArgs, + args: Prisma.AFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ACreateArgs, + args: Prisma.ACreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ACreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ACreateManyArgs + result: BatchPayload } delete: { - args: Prisma.ADeleteArgs, + args: Prisma.ADeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.AUpdateArgs, + args: Prisma.AUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ADeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ADeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.AUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.AUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.AUpsertArgs, + args: Prisma.AUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.AAggregateArgs, + args: Prisma.AAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.AGroupByArgs, + args: Prisma.AGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.AFindRawArgs, - result: Prisma.JsonObject + args: Prisma.AFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.AAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.AAggregateRawArgs + result: JsonObject } count: { - args: Prisma.ACountArgs, + args: Prisma.ACountArgs result: $Utils.Optional | number } } @@ -1956,71 +1918,71 @@ export namespace Prisma { fields: Prisma.BFieldRefs operations: { findUnique: { - args: Prisma.BFindUniqueArgs, + args: Prisma.BFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.BFindUniqueOrThrowArgs, + args: Prisma.BFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.BFindFirstArgs, + args: Prisma.BFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.BFindFirstOrThrowArgs, + args: Prisma.BFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.BFindManyArgs, + args: Prisma.BFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.BCreateArgs, + args: Prisma.BCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.BCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.BDeleteArgs, + args: Prisma.BDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.BUpdateArgs, + args: Prisma.BUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.BDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.BDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.BUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.BUpsertArgs, + args: Prisma.BUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.BAggregateArgs, + args: Prisma.BAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.BGroupByArgs, + args: Prisma.BGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.BFindRawArgs, - result: Prisma.JsonObject + args: Prisma.BFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.BAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.BAggregateRawArgs + result: JsonObject } count: { - args: Prisma.BCountArgs, + args: Prisma.BCountArgs result: $Utils.Optional | number } } @@ -2030,71 +1992,71 @@ export namespace Prisma { fields: Prisma.CFieldRefs operations: { findUnique: { - args: Prisma.CFindUniqueArgs, + args: Prisma.CFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.CFindUniqueOrThrowArgs, + args: Prisma.CFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.CFindFirstArgs, + args: Prisma.CFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.CFindFirstOrThrowArgs, + args: Prisma.CFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.CFindManyArgs, + args: Prisma.CFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.CCreateArgs, + args: Prisma.CCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.CCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.CDeleteArgs, + args: Prisma.CDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.CUpdateArgs, + args: Prisma.CUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.CDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.CDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.CUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.CUpsertArgs, + args: Prisma.CUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.CAggregateArgs, + args: Prisma.CAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.CGroupByArgs, + args: Prisma.CGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.CFindRawArgs, - result: Prisma.JsonObject + args: Prisma.CFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.CAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.CAggregateRawArgs + result: JsonObject } count: { - args: Prisma.CCountArgs, + args: Prisma.CCountArgs result: $Utils.Optional | number } } @@ -2104,71 +2066,71 @@ export namespace Prisma { fields: Prisma.DFieldRefs operations: { findUnique: { - args: Prisma.DFindUniqueArgs, + args: Prisma.DFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.DFindUniqueOrThrowArgs, + args: Prisma.DFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.DFindFirstArgs, + args: Prisma.DFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.DFindFirstOrThrowArgs, + args: Prisma.DFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.DFindManyArgs, + args: Prisma.DFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.DCreateArgs, + args: Prisma.DCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.DCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DCreateManyArgs + result: BatchPayload } delete: { - args: Prisma.DDeleteArgs, + args: Prisma.DDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.DUpdateArgs, + args: Prisma.DUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.DDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.DDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.DUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.DUpsertArgs, + args: Prisma.DUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.DAggregateArgs, + args: Prisma.DAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.DGroupByArgs, + args: Prisma.DGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.DFindRawArgs, - result: Prisma.JsonObject + args: Prisma.DFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.DAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.DAggregateRawArgs + result: JsonObject } count: { - args: Prisma.DCountArgs, + args: Prisma.DCountArgs result: $Utils.Optional | number } } @@ -2178,71 +2140,71 @@ export namespace Prisma { fields: Prisma.EFieldRefs operations: { findUnique: { - args: Prisma.EFindUniqueArgs, + args: Prisma.EFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.EFindUniqueOrThrowArgs, + args: Prisma.EFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.EFindFirstArgs, + args: Prisma.EFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.EFindFirstOrThrowArgs, + args: Prisma.EFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.EFindManyArgs, + args: Prisma.EFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ECreateArgs, + args: Prisma.ECreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ECreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ECreateManyArgs + result: BatchPayload } delete: { - args: Prisma.EDeleteArgs, + args: Prisma.EDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.EUpdateArgs, + args: Prisma.EUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.EDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.EDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.EUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EUpdateManyArgs + result: BatchPayload } upsert: { - args: Prisma.EUpsertArgs, + args: Prisma.EUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.EAggregateArgs, + args: Prisma.EAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.EGroupByArgs, + args: Prisma.EGroupByArgs result: $Utils.Optional[] } findRaw: { - args: Prisma.EFindRawArgs, - result: Prisma.JsonObject + args: Prisma.EFindRawArgs + result: JsonObject } aggregateRaw: { - args: Prisma.EAggregateRawArgs, - result: Prisma.JsonObject + args: Prisma.EAggregateRawArgs + result: JsonObject } count: { - args: Prisma.ECountArgs, + args: Prisma.ECountArgs result: $Utils.Optional | number } } @@ -2259,7 +2221,7 @@ export namespace Prisma { } } } - export const defineExtension: $Extensions.ExtendsHook<'define', Prisma.TypeMapCb, $Extensions.DefaultArgs> + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { @@ -2301,6 +2263,37 @@ export namespace Prisma { maxWait?: number timeout?: number } + /** + * Global configuration for omitting model fields by default. + * + * @example + * \`\`\` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * \`\`\` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + post?: PostOmit + user?: UserOmit + embedHolder?: EmbedHolderOmit + m?: MOmit + n?: NOmit + oneOptional?: OneOptionalOmit + manyRequired?: ManyRequiredOmit + optionalSide1?: OptionalSide1Omit + optionalSide2?: OptionalSide2Omit + a?: AOmit + b?: BOmit + c?: COmit + d?: DOmit + e?: EOmit } /* Types for Logging */ @@ -2342,6 +2335,7 @@ export namespace Prisma { | 'createManyAndReturn' | 'update' | 'updateMany' + | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' @@ -2566,12 +2560,14 @@ export namespace Prisma { }, ExtArgs["result"]["embed"]> + export type EmbedSelectScalar = { text?: boolean boolean?: boolean scalarList?: boolean } + export type EmbedOmit = $Extensions.GetOmit<"text" | "boolean" | "embedEmbedList" | "requiredEmbedEmbed" | "optionalEmbedEmbed" | "scalarList", ExtArgs["result"]["embed"]> export type EmbedInclude = {} export type $EmbedPayload = { @@ -2614,6 +2610,10 @@ export namespace Prisma { * Select specific fields to fetch from the Embed */ select?: EmbedSelect | null + /** + * Omit specific fields from the Embed + */ + omit?: EmbedOmit | null /** * Choose, which related nodes to fetch as well */ @@ -2635,11 +2635,13 @@ export namespace Prisma { }, ExtArgs["result"]["embedEmbed"]> + export type EmbedEmbedSelectScalar = { text?: boolean boolean?: boolean } + export type EmbedEmbedOmit = $Extensions.GetOmit<"text" | "boolean", ExtArgs["result"]["embedEmbed"]> export type $EmbedEmbedPayload = { name: "EmbedEmbed" @@ -2675,6 +2677,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedEmbed */ select?: EmbedEmbedSelect | null + /** + * Omit specific fields from the EmbedEmbed + */ + omit?: EmbedEmbedOmit | null } @@ -2854,6 +2860,7 @@ export namespace Prisma { }, ExtArgs["result"]["post"]> + export type PostSelectScalar = { id?: boolean createdAt?: boolean @@ -2863,6 +2870,7 @@ export namespace Prisma { authorId?: boolean } + export type PostOmit = $Extensions.GetOmit<"id" | "createdAt" | "title" | "content" | "published" | "authorId", ExtArgs["result"]["post"]> export type PostInclude = { author?: boolean | UserDefaultArgs } @@ -2885,12 +2893,12 @@ export namespace Prisma { type PostGetPayload = $Result.GetResult - type PostCountArgs = - Omit & { + type PostCountArgs = + Omit & { select?: PostCountAggregateInputType | true } - export interface PostDelegate { + export interface PostDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Post'], meta: { name: 'Post' } } /** * Find zero or one Post that matches the filter. @@ -2903,10 +2911,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` + * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {PostFindUniqueOrThrowArgs} args - Arguments to find a Post * @example @@ -2917,7 +2925,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter. @@ -2932,7 +2940,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter or @@ -2948,7 +2956,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Posts that matches the filter. @@ -2966,7 +2974,7 @@ export namespace Prisma { * const postWithIdOnly = await prisma.post.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a Post. @@ -2980,7 +2988,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Posts. @@ -3008,7 +3016,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one Post. @@ -3025,7 +3033,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Posts. @@ -3077,14 +3085,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Posts that matches the filter. * @param {PostFindRawArgs} args - Select which filters you would like to apply. * @example * const post = await prisma.post.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: PostFindRawArgs): Prisma.PrismaPromise @@ -3240,35 +3248,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__PostClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs>; - + export interface Prisma__PostClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | Null, Null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the Post model */ @@ -3291,6 +3298,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3309,6 +3320,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3327,6 +3342,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3375,6 +3394,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3423,6 +3446,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3466,6 +3493,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3494,6 +3525,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3520,6 +3555,10 @@ export namespace Prisma { * Filter which Posts to update */ where?: PostWhereInput + /** + * Limit how many Posts to update. + */ + limit?: number } /** @@ -3530,6 +3569,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3556,6 +3599,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3574,6 +3621,10 @@ export namespace Prisma { * Filter which Posts to delete */ where?: PostWhereInput + /** + * Limit how many Posts to delete. + */ + limit?: number } /** @@ -3612,6 +3663,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3907,6 +3962,7 @@ export namespace Prisma { }, ExtArgs["result"]["user"]> + export type UserSelectScalar = { id?: boolean email?: boolean @@ -3925,6 +3981,7 @@ export namespace Prisma { embedHolderId?: boolean } + export type UserOmit = $Extensions.GetOmit<"id" | "email" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean" | "embedHolderId", ExtArgs["result"]["user"]> export type UserInclude = { posts?: boolean | User$postsArgs embedHolder?: boolean | EmbedHolderDefaultArgs @@ -3959,12 +4016,12 @@ export namespace Prisma { type UserGetPayload = $Result.GetResult - type UserCountArgs = - Omit & { + type UserCountArgs = + Omit & { select?: UserCountAggregateInputType | true } - export interface UserDelegate { + export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. @@ -3977,10 +4034,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one User that matches the filter or throw an error with \`error.code='P2025'\` + * Find one User that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example @@ -3991,7 +4048,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first User that matches the filter. @@ -4006,7 +4063,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first User that matches the filter or @@ -4022,7 +4079,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Users that matches the filter. @@ -4040,7 +4097,7 @@ export namespace Prisma { * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a User. @@ -4054,7 +4111,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Users. @@ -4082,7 +4139,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one User. @@ -4099,7 +4156,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Users. @@ -4151,14 +4208,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Users that matches the filter. * @param {UserFindRawArgs} args - Select which filters you would like to apply. * @example * const user = await prisma.user.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: UserFindRawArgs): Prisma.PrismaPromise @@ -4314,37 +4371,35 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__UserClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - - embedHolder = {}>(args?: Subset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs>; - + export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> + embedHolder = {}>(args?: Subset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | Null, Null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the User model */ @@ -4376,6 +4431,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4394,6 +4453,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4412,6 +4475,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4460,6 +4527,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4508,6 +4579,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4551,6 +4626,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4579,6 +4658,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4605,6 +4688,10 @@ export namespace Prisma { * Filter which Users to update */ where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number } /** @@ -4615,6 +4702,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4641,6 +4732,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4659,6 +4754,10 @@ export namespace Prisma { * Filter which Users to delete */ where?: UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number } /** @@ -4697,6 +4796,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4717,6 +4820,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4888,6 +4995,7 @@ export namespace Prisma { }, ExtArgs["result"]["embedHolder"]> + export type EmbedHolderSelectScalar = { id?: boolean time?: boolean @@ -4895,6 +5003,7 @@ export namespace Prisma { boolean?: boolean } + export type EmbedHolderOmit = $Extensions.GetOmit<"id" | "time" | "text" | "boolean" | "embedList" | "requiredEmbed" | "optionalEmbed", ExtArgs["result"]["embedHolder"]> export type EmbedHolderInclude = { User?: boolean | EmbedHolder$UserArgs _count?: boolean | EmbedHolderCountOutputTypeDefaultArgs @@ -4920,12 +5029,12 @@ export namespace Prisma { type EmbedHolderGetPayload = $Result.GetResult - type EmbedHolderCountArgs = - Omit & { + type EmbedHolderCountArgs = + Omit & { select?: EmbedHolderCountAggregateInputType | true } - export interface EmbedHolderDelegate { + export interface EmbedHolderDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['EmbedHolder'], meta: { name: 'EmbedHolder' } } /** * Find zero or one EmbedHolder that matches the filter. @@ -4938,10 +5047,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one EmbedHolder that matches the filter or throw an error with \`error.code='P2025'\` + * Find one EmbedHolder that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {EmbedHolderFindUniqueOrThrowArgs} args - Arguments to find a EmbedHolder * @example @@ -4952,7 +5061,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first EmbedHolder that matches the filter. @@ -4967,7 +5076,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first EmbedHolder that matches the filter or @@ -4983,7 +5092,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more EmbedHolders that matches the filter. @@ -5001,7 +5110,7 @@ export namespace Prisma { * const embedHolderWithIdOnly = await prisma.embedHolder.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a EmbedHolder. @@ -5015,7 +5124,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many EmbedHolders. @@ -5043,7 +5152,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one EmbedHolder. @@ -5060,7 +5169,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more EmbedHolders. @@ -5112,14 +5221,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EmbedHolderClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more EmbedHolders that matches the filter. * @param {EmbedHolderFindRawArgs} args - Select which filters you would like to apply. * @example * const embedHolder = await prisma.embedHolder.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: EmbedHolderFindRawArgs): Prisma.PrismaPromise @@ -5275,35 +5384,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__EmbedHolderClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - User = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__EmbedHolderClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + User = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the EmbedHolder model */ @@ -5324,6 +5432,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5342,6 +5454,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5360,6 +5476,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5408,6 +5528,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5456,6 +5580,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5499,6 +5627,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5527,6 +5659,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5553,6 +5689,10 @@ export namespace Prisma { * Filter which EmbedHolders to update */ where?: EmbedHolderWhereInput + /** + * Limit how many EmbedHolders to update. + */ + limit?: number } /** @@ -5563,6 +5703,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5589,6 +5733,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5607,6 +5755,10 @@ export namespace Prisma { * Filter which EmbedHolders to delete */ where?: EmbedHolderWhereInput + /** + * Limit how many EmbedHolders to delete. + */ + limit?: number } /** @@ -5645,6 +5797,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5665,6 +5821,10 @@ export namespace Prisma { * Select specific fields to fetch from the EmbedHolder */ select?: EmbedHolderSelect | null + /** + * Omit specific fields from the EmbedHolder + */ + omit?: EmbedHolderOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5947,6 +6107,7 @@ export namespace Prisma { }, ExtArgs["result"]["m"]> + export type MSelectScalar = { id?: boolean n_ids?: boolean @@ -5964,6 +6125,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type MOmit = $Extensions.GetOmit<"id" | "n_ids" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["m"]> export type MInclude = { n?: boolean | M$nArgs _count?: boolean | MCountOutputTypeDefaultArgs @@ -5995,12 +6157,12 @@ export namespace Prisma { type MGetPayload = $Result.GetResult - type MCountArgs = - Omit & { + type MCountArgs = + Omit & { select?: MCountAggregateInputType | true } - export interface MDelegate { + export interface MDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['M'], meta: { name: 'M' } } /** * Find zero or one M that matches the filter. @@ -6013,10 +6175,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one M that matches the filter or throw an error with \`error.code='P2025'\` + * Find one M that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {MFindUniqueOrThrowArgs} args - Arguments to find a M * @example @@ -6027,7 +6189,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first M that matches the filter. @@ -6042,7 +6204,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first M that matches the filter or @@ -6058,7 +6220,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ms that matches the filter. @@ -6076,7 +6238,7 @@ export namespace Prisma { * const mWithIdOnly = await prisma.m.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a M. @@ -6090,7 +6252,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ms. @@ -6118,7 +6280,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one M. @@ -6135,7 +6297,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ms. @@ -6187,14 +6349,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ms that matches the filter. * @param {MFindRawArgs} args - Select which filters you would like to apply. * @example * const m = await prisma.m.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: MFindRawArgs): Prisma.PrismaPromise @@ -6350,35 +6512,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__MClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__MClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the M model */ @@ -6409,6 +6570,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6427,6 +6592,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6445,6 +6614,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6493,6 +6666,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6541,6 +6718,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6584,6 +6765,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6612,6 +6797,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6638,6 +6827,10 @@ export namespace Prisma { * Filter which MS to update */ where?: MWhereInput + /** + * Limit how many MS to update. + */ + limit?: number } /** @@ -6648,6 +6841,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6674,6 +6871,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6692,6 +6893,10 @@ export namespace Prisma { * Filter which MS to delete */ where?: MWhereInput + /** + * Limit how many MS to delete. + */ + limit?: number } /** @@ -6730,6 +6935,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6750,6 +6959,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7032,6 +7245,7 @@ export namespace Prisma { }, ExtArgs["result"]["n"]> + export type NSelectScalar = { id?: boolean m_ids?: boolean @@ -7049,6 +7263,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type NOmit = $Extensions.GetOmit<"id" | "m_ids" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["n"]> export type NInclude = { m?: boolean | N$mArgs _count?: boolean | NCountOutputTypeDefaultArgs @@ -7080,12 +7295,12 @@ export namespace Prisma { type NGetPayload = $Result.GetResult - type NCountArgs = - Omit & { + type NCountArgs = + Omit & { select?: NCountAggregateInputType | true } - export interface NDelegate { + export interface NDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['N'], meta: { name: 'N' } } /** * Find zero or one N that matches the filter. @@ -7098,10 +7313,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one N that matches the filter or throw an error with \`error.code='P2025'\` + * Find one N that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {NFindUniqueOrThrowArgs} args - Arguments to find a N * @example @@ -7112,7 +7327,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first N that matches the filter. @@ -7127,7 +7342,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first N that matches the filter or @@ -7143,7 +7358,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ns that matches the filter. @@ -7161,7 +7376,7 @@ export namespace Prisma { * const nWithIdOnly = await prisma.n.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a N. @@ -7175,7 +7390,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ns. @@ -7203,7 +7418,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one N. @@ -7220,7 +7435,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ns. @@ -7272,14 +7487,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ns that matches the filter. * @param {NFindRawArgs} args - Select which filters you would like to apply. * @example * const n = await prisma.n.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: NFindRawArgs): Prisma.PrismaPromise @@ -7435,35 +7650,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__NClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__NClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the N model */ @@ -7494,6 +7708,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7512,6 +7730,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7530,6 +7752,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7578,6 +7804,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7626,6 +7856,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7669,6 +7903,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7697,6 +7935,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7723,6 +7965,10 @@ export namespace Prisma { * Filter which NS to update */ where?: NWhereInput + /** + * Limit how many NS to update. + */ + limit?: number } /** @@ -7733,6 +7979,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7759,6 +8009,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7777,6 +8031,10 @@ export namespace Prisma { * Filter which NS to delete */ where?: NWhereInput + /** + * Limit how many NS to delete. + */ + limit?: number } /** @@ -7815,6 +8073,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7835,6 +8097,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8113,6 +8379,7 @@ export namespace Prisma { }, ExtArgs["result"]["oneOptional"]> + export type OneOptionalSelectScalar = { id?: boolean int?: boolean @@ -8129,6 +8396,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OneOptionalOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["oneOptional"]> export type OneOptionalInclude = { many?: boolean | OneOptional$manyArgs _count?: boolean | OneOptionalCountOutputTypeDefaultArgs @@ -8159,12 +8427,12 @@ export namespace Prisma { type OneOptionalGetPayload = $Result.GetResult - type OneOptionalCountArgs = - Omit & { + type OneOptionalCountArgs = + Omit & { select?: OneOptionalCountAggregateInputType | true } - export interface OneOptionalDelegate { + export interface OneOptionalDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['OneOptional'], meta: { name: 'OneOptional' } } /** * Find zero or one OneOptional that matches the filter. @@ -8177,10 +8445,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OneOptionalFindUniqueOrThrowArgs} args - Arguments to find a OneOptional * @example @@ -8191,7 +8459,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter. @@ -8206,7 +8474,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter or @@ -8222,7 +8490,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OneOptionals that matches the filter. @@ -8240,7 +8508,7 @@ export namespace Prisma { * const oneOptionalWithIdOnly = await prisma.oneOptional.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OneOptional. @@ -8254,7 +8522,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OneOptionals. @@ -8282,7 +8550,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OneOptional. @@ -8299,7 +8567,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OneOptionals. @@ -8351,14 +8619,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OneOptionals that matches the filter. * @param {OneOptionalFindRawArgs} args - Select which filters you would like to apply. * @example * const oneOptional = await prisma.oneOptional.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: OneOptionalFindRawArgs): Prisma.PrismaPromise @@ -8514,35 +8782,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OneOptional model */ @@ -8572,6 +8839,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8590,6 +8861,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8608,6 +8883,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8656,6 +8935,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8704,6 +8987,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8747,6 +9034,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8775,6 +9066,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8801,6 +9096,10 @@ export namespace Prisma { * Filter which OneOptionals to update */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to update. + */ + limit?: number } /** @@ -8811,6 +9110,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8837,6 +9140,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8855,6 +9162,10 @@ export namespace Prisma { * Filter which OneOptionals to delete */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to delete. + */ + limit?: number } /** @@ -8893,6 +9204,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8913,6 +9228,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9198,6 +9517,7 @@ export namespace Prisma { }, ExtArgs["result"]["manyRequired"]> + export type ManyRequiredSelectScalar = { id?: boolean oneOptionalId?: boolean @@ -9215,6 +9535,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type ManyRequiredOmit = $Extensions.GetOmit<"id" | "oneOptionalId" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["manyRequired"]> export type ManyRequiredInclude = { one?: boolean | ManyRequired$oneArgs } @@ -9245,12 +9566,12 @@ export namespace Prisma { type ManyRequiredGetPayload = $Result.GetResult - type ManyRequiredCountArgs = - Omit & { + type ManyRequiredCountArgs = + Omit & { select?: ManyRequiredCountAggregateInputType | true } - export interface ManyRequiredDelegate { + export interface ManyRequiredDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ManyRequired'], meta: { name: 'ManyRequired' } } /** * Find zero or one ManyRequired that matches the filter. @@ -9263,10 +9584,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` + * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {ManyRequiredFindUniqueOrThrowArgs} args - Arguments to find a ManyRequired * @example @@ -9277,7 +9598,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter. @@ -9292,7 +9613,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter or @@ -9308,7 +9629,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more ManyRequireds that matches the filter. @@ -9326,7 +9647,7 @@ export namespace Prisma { * const manyRequiredWithIdOnly = await prisma.manyRequired.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a ManyRequired. @@ -9340,7 +9661,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many ManyRequireds. @@ -9368,7 +9689,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one ManyRequired. @@ -9385,7 +9706,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more ManyRequireds. @@ -9437,14 +9758,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more ManyRequireds that matches the filter. * @param {ManyRequiredFindRawArgs} args - Select which filters you would like to apply. * @example * const manyRequired = await prisma.manyRequired.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: ManyRequiredFindRawArgs): Prisma.PrismaPromise @@ -9600,35 +9921,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the ManyRequired model */ @@ -9659,6 +9979,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9677,6 +10001,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9695,6 +10023,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9743,6 +10075,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9791,6 +10127,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9834,6 +10174,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9862,6 +10206,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9888,6 +10236,10 @@ export namespace Prisma { * Filter which ManyRequireds to update */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to update. + */ + limit?: number } /** @@ -9898,6 +10250,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9924,6 +10280,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9942,6 +10302,10 @@ export namespace Prisma { * Filter which ManyRequireds to delete */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to delete. + */ + limit?: number } /** @@ -9980,6 +10344,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9995,6 +10363,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -10280,6 +10652,7 @@ export namespace Prisma { }, ExtArgs["result"]["optionalSide1"]> + export type OptionalSide1SelectScalar = { id?: boolean optionalSide2Id?: boolean @@ -10297,6 +10670,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide1Omit = $Extensions.GetOmit<"id" | "optionalSide2Id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide1"]> export type OptionalSide1Include = { opti?: boolean | OptionalSide1$optiArgs } @@ -10327,12 +10701,12 @@ export namespace Prisma { type OptionalSide1GetPayload = $Result.GetResult - type OptionalSide1CountArgs = - Omit & { + type OptionalSide1CountArgs = + Omit & { select?: OptionalSide1CountAggregateInputType | true } - export interface OptionalSide1Delegate { + export interface OptionalSide1Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide1'], meta: { name: 'OptionalSide1' } } /** * Find zero or one OptionalSide1 that matches the filter. @@ -10345,10 +10719,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide1FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide1 * @example @@ -10359,7 +10733,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter. @@ -10374,7 +10748,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter or @@ -10390,7 +10764,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide1s that matches the filter. @@ -10408,7 +10782,7 @@ export namespace Prisma { * const optionalSide1WithIdOnly = await prisma.optionalSide1.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide1. @@ -10422,7 +10796,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide1s. @@ -10450,7 +10824,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide1. @@ -10467,7 +10841,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide1s. @@ -10519,14 +10893,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide1s that matches the filter. * @param {OptionalSide1FindRawArgs} args - Select which filters you would like to apply. * @example * const optionalSide1 = await prisma.optionalSide1.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: OptionalSide1FindRawArgs): Prisma.PrismaPromise @@ -10682,35 +11056,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide1 model */ @@ -10741,6 +11114,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10759,6 +11136,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10777,6 +11158,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10825,6 +11210,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10873,6 +11262,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10916,6 +11309,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10944,6 +11341,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10970,6 +11371,10 @@ export namespace Prisma { * Filter which OptionalSide1s to update */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to update. + */ + limit?: number } /** @@ -10980,6 +11385,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11006,6 +11415,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11024,6 +11437,10 @@ export namespace Prisma { * Filter which OptionalSide1s to delete */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to delete. + */ + limit?: number } /** @@ -11062,6 +11479,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11077,6 +11498,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11354,6 +11779,7 @@ export namespace Prisma { }, ExtArgs["result"]["optionalSide2"]> + export type OptionalSide2SelectScalar = { id?: boolean int?: boolean @@ -11370,6 +11796,7 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide2Omit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide2"]> export type OptionalSide2Include = { opti?: boolean | OptionalSide2$optiArgs } @@ -11399,12 +11826,12 @@ export namespace Prisma { type OptionalSide2GetPayload = $Result.GetResult - type OptionalSide2CountArgs = - Omit & { + type OptionalSide2CountArgs = + Omit & { select?: OptionalSide2CountAggregateInputType | true } - export interface OptionalSide2Delegate { + export interface OptionalSide2Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide2'], meta: { name: 'OptionalSide2' } } /** * Find zero or one OptionalSide2 that matches the filter. @@ -11417,10 +11844,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide2FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide2 * @example @@ -11431,7 +11858,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter. @@ -11446,7 +11873,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter or @@ -11462,7 +11889,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide2s that matches the filter. @@ -11480,7 +11907,7 @@ export namespace Prisma { * const optionalSide2WithIdOnly = await prisma.optionalSide2.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide2. @@ -11494,7 +11921,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide2s. @@ -11522,7 +11949,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide2. @@ -11539,7 +11966,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide2s. @@ -11591,14 +12018,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide2s that matches the filter. * @param {OptionalSide2FindRawArgs} args - Select which filters you would like to apply. * @example * const optionalSide2 = await prisma.optionalSide2.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: OptionalSide2FindRawArgs): Prisma.PrismaPromise @@ -11754,35 +12181,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide2 model */ @@ -11812,6 +12238,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11830,6 +12260,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11848,6 +12282,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11896,6 +12334,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11944,6 +12386,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11987,6 +12433,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12015,6 +12465,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12041,6 +12495,10 @@ export namespace Prisma { * Filter which OptionalSide2s to update */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to update. + */ + limit?: number } /** @@ -12051,6 +12509,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12077,6 +12539,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12095,6 +12561,10 @@ export namespace Prisma { * Filter which OptionalSide2s to delete */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to delete. + */ + limit?: number } /** @@ -12133,6 +12603,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12148,6 +12622,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -12372,6 +12850,7 @@ export namespace Prisma { }, ExtArgs["result"]["a"]> + export type ASelectScalar = { id?: boolean email?: boolean @@ -12381,6 +12860,7 @@ export namespace Prisma { bInt?: boolean } + export type AOmit = $Extensions.GetOmit<"id" | "email" | "name" | "int" | "sInt" | "bInt", ExtArgs["result"]["a"]> export type $APayload = { name: "A" @@ -12404,12 +12884,12 @@ export namespace Prisma { type AGetPayload = $Result.GetResult - type ACountArgs = - Omit & { + type ACountArgs = + Omit & { select?: ACountAggregateInputType | true } - export interface ADelegate { + export interface ADelegate { [K: symbol]: { types: Prisma.TypeMap['model']['A'], meta: { name: 'A' } } /** * Find zero or one A that matches the filter. @@ -12422,10 +12902,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one A that matches the filter or throw an error with \`error.code='P2025'\` + * Find one A that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {AFindUniqueOrThrowArgs} args - Arguments to find a A * @example @@ -12436,7 +12916,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first A that matches the filter. @@ -12451,7 +12931,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first A that matches the filter or @@ -12467,7 +12947,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more As that matches the filter. @@ -12485,7 +12965,7 @@ export namespace Prisma { * const aWithIdOnly = await prisma.a.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a A. @@ -12499,7 +12979,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many As. @@ -12527,7 +13007,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one A. @@ -12544,7 +13024,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more As. @@ -12596,14 +13076,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more As that matches the filter. * @param {AFindRawArgs} args - Select which filters you would like to apply. * @example * const a = await prisma.a.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: AFindRawArgs): Prisma.PrismaPromise @@ -12759,34 +13239,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__AClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__AClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the A model */ @@ -12809,6 +13288,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12823,6 +13306,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12837,6 +13324,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12881,6 +13372,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -12925,6 +13420,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which AS to fetch. */ @@ -12964,6 +13463,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to create a A. */ @@ -12988,6 +13491,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to update a A. */ @@ -13010,6 +13517,10 @@ export namespace Prisma { * Filter which AS to update */ where?: AWhereInput + /** + * Limit how many AS to update. + */ + limit?: number } /** @@ -13020,6 +13531,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The filter to search for the A to update in case it exists. */ @@ -13042,6 +13557,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter which A to delete. */ @@ -13056,6 +13575,10 @@ export namespace Prisma { * Filter which AS to delete */ where?: AWhereInput + /** + * Limit how many AS to delete. + */ + limit?: number } /** @@ -13094,6 +13617,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null } @@ -13286,12 +13813,14 @@ export namespace Prisma { }, ExtArgs["result"]["b"]> + export type BSelectScalar = { id?: boolean float?: boolean dFloat?: boolean } + export type BOmit = $Extensions.GetOmit<"id" | "float" | "dFloat", ExtArgs["result"]["b"]> export type $BPayload = { name: "B" @@ -13306,12 +13835,12 @@ export namespace Prisma { type BGetPayload = $Result.GetResult - type BCountArgs = - Omit & { + type BCountArgs = + Omit & { select?: BCountAggregateInputType | true } - export interface BDelegate { + export interface BDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['B'], meta: { name: 'B' } } /** * Find zero or one B that matches the filter. @@ -13324,10 +13853,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one B that matches the filter or throw an error with \`error.code='P2025'\` + * Find one B that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {BFindUniqueOrThrowArgs} args - Arguments to find a B * @example @@ -13338,7 +13867,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first B that matches the filter. @@ -13353,7 +13882,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first B that matches the filter or @@ -13369,7 +13898,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Bs that matches the filter. @@ -13387,7 +13916,7 @@ export namespace Prisma { * const bWithIdOnly = await prisma.b.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a B. @@ -13401,7 +13930,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Bs. @@ -13429,7 +13958,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one B. @@ -13446,7 +13975,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Bs. @@ -13498,14 +14027,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Bs that matches the filter. * @param {BFindRawArgs} args - Select which filters you would like to apply. * @example * const b = await prisma.b.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: BFindRawArgs): Prisma.PrismaPromise @@ -13661,34 +14190,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__BClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__BClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the B model */ @@ -13708,6 +14236,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13722,6 +14254,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13736,6 +14272,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13780,6 +14320,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -13824,6 +14368,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which BS to fetch. */ @@ -13863,6 +14411,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to create a B. */ @@ -13887,6 +14439,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to update a B. */ @@ -13909,6 +14465,10 @@ export namespace Prisma { * Filter which BS to update */ where?: BWhereInput + /** + * Limit how many BS to update. + */ + limit?: number } /** @@ -13919,6 +14479,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The filter to search for the B to update in case it exists. */ @@ -13941,6 +14505,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter which B to delete. */ @@ -13955,6 +14523,10 @@ export namespace Prisma { * Filter which BS to delete */ where?: BWhereInput + /** + * Limit how many BS to delete. + */ + limit?: number } /** @@ -13993,6 +14565,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null } @@ -14179,6 +14755,7 @@ export namespace Prisma { }, ExtArgs["result"]["c"]> + export type CSelectScalar = { id?: boolean char?: boolean @@ -14189,6 +14766,7 @@ export namespace Prisma { uuid?: boolean } + export type COmit = $Extensions.GetOmit<"id" | "char" | "vChar" | "text" | "bit" | "vBit" | "uuid", ExtArgs["result"]["c"]> export type $CPayload = { name: "C" @@ -14207,12 +14785,12 @@ export namespace Prisma { type CGetPayload = $Result.GetResult - type CCountArgs = - Omit & { + type CCountArgs = + Omit & { select?: CCountAggregateInputType | true } - export interface CDelegate { + export interface CDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['C'], meta: { name: 'C' } } /** * Find zero or one C that matches the filter. @@ -14225,10 +14803,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one C that matches the filter or throw an error with \`error.code='P2025'\` + * Find one C that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {CFindUniqueOrThrowArgs} args - Arguments to find a C * @example @@ -14239,7 +14817,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first C that matches the filter. @@ -14254,7 +14832,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first C that matches the filter or @@ -14270,7 +14848,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Cs that matches the filter. @@ -14288,7 +14866,7 @@ export namespace Prisma { * const cWithIdOnly = await prisma.c.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a C. @@ -14302,7 +14880,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Cs. @@ -14330,7 +14908,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one C. @@ -14347,7 +14925,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Cs. @@ -14399,14 +14977,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Cs that matches the filter. * @param {CFindRawArgs} args - Select which filters you would like to apply. * @example * const c = await prisma.c.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: CFindRawArgs): Prisma.PrismaPromise @@ -14562,34 +15140,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__CClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__CClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the C model */ @@ -14613,6 +15190,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14627,6 +15208,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14641,6 +15226,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14685,6 +15274,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -14729,6 +15322,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which CS to fetch. */ @@ -14768,6 +15365,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to create a C. */ @@ -14792,6 +15393,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to update a C. */ @@ -14814,6 +15419,10 @@ export namespace Prisma { * Filter which CS to update */ where?: CWhereInput + /** + * Limit how many CS to update. + */ + limit?: number } /** @@ -14824,6 +15433,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The filter to search for the C to update in case it exists. */ @@ -14846,6 +15459,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter which C to delete. */ @@ -14860,6 +15477,10 @@ export namespace Prisma { * Filter which CS to delete */ where?: CWhereInput + /** + * Limit how many CS to delete. + */ + limit?: number } /** @@ -14898,6 +15519,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null } @@ -14924,14 +15549,14 @@ export namespace Prisma { export type DMinAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } export type DMaxAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } @@ -15069,7 +15694,7 @@ export namespace Prisma { export type DGroupByOutputType = { id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonValue jsonb: JsonValue @@ -15106,6 +15731,7 @@ export namespace Prisma { }, ExtArgs["result"]["d"]> + export type DSelectScalar = { id?: boolean bool?: boolean @@ -15116,6 +15742,7 @@ export namespace Prisma { list?: boolean } + export type DOmit = $Extensions.GetOmit<"id" | "bool" | "byteA" | "xml" | "json" | "jsonb" | "list", ExtArgs["result"]["d"]> export type $DPayload = { name: "D" @@ -15123,7 +15750,7 @@ export namespace Prisma { scalars: $Extensions.GetPayloadResult<{ id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: Prisma.JsonValue jsonb: Prisma.JsonValue @@ -15134,12 +15761,12 @@ export namespace Prisma { type DGetPayload = $Result.GetResult - type DCountArgs = - Omit & { + type DCountArgs = + Omit & { select?: DCountAggregateInputType | true } - export interface DDelegate { + export interface DDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['D'], meta: { name: 'D' } } /** * Find zero or one D that matches the filter. @@ -15152,10 +15779,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one D that matches the filter or throw an error with \`error.code='P2025'\` + * Find one D that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {DFindUniqueOrThrowArgs} args - Arguments to find a D * @example @@ -15166,7 +15793,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first D that matches the filter. @@ -15181,7 +15808,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first D that matches the filter or @@ -15197,7 +15824,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ds that matches the filter. @@ -15215,7 +15842,7 @@ export namespace Prisma { * const dWithIdOnly = await prisma.d.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a D. @@ -15229,7 +15856,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ds. @@ -15257,7 +15884,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one D. @@ -15274,7 +15901,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ds. @@ -15326,14 +15953,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ds that matches the filter. * @param {DFindRawArgs} args - Select which filters you would like to apply. * @example * const d = await prisma.d.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: DFindRawArgs): Prisma.PrismaPromise @@ -15489,34 +16116,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__DClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__DClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the D model */ @@ -15540,6 +16166,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15554,6 +16184,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15568,6 +16202,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15612,6 +16250,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -15656,6 +16298,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which DS to fetch. */ @@ -15695,6 +16341,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to create a D. */ @@ -15719,6 +16369,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to update a D. */ @@ -15741,6 +16395,10 @@ export namespace Prisma { * Filter which DS to update */ where?: DWhereInput + /** + * Limit how many DS to update. + */ + limit?: number } /** @@ -15751,6 +16409,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The filter to search for the D to update in case it exists. */ @@ -15773,6 +16435,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter which D to delete. */ @@ -15787,6 +16453,10 @@ export namespace Prisma { * Filter which DS to delete */ where?: DWhereInput + /** + * Limit how many DS to delete. + */ + limit?: number } /** @@ -15825,6 +16495,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null } @@ -15987,6 +16661,7 @@ export namespace Prisma { }, ExtArgs["result"]["e"]> + export type ESelectScalar = { id?: boolean date?: boolean @@ -15994,6 +16669,7 @@ export namespace Prisma { ts?: boolean } + export type EOmit = $Extensions.GetOmit<"id" | "date" | "time" | "ts", ExtArgs["result"]["e"]> export type $EPayload = { name: "E" @@ -16009,12 +16685,12 @@ export namespace Prisma { type EGetPayload = $Result.GetResult - type ECountArgs = - Omit & { + type ECountArgs = + Omit & { select?: ECountAggregateInputType | true } - export interface EDelegate { + export interface EDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['E'], meta: { name: 'E' } } /** * Find zero or one E that matches the filter. @@ -16027,10 +16703,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one E that matches the filter or throw an error with \`error.code='P2025'\` + * Find one E that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {EFindUniqueOrThrowArgs} args - Arguments to find a E * @example @@ -16041,7 +16717,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first E that matches the filter. @@ -16056,7 +16732,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first E that matches the filter or @@ -16072,7 +16748,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Es that matches the filter. @@ -16090,7 +16766,7 @@ export namespace Prisma { * const eWithIdOnly = await prisma.e.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a E. @@ -16104,7 +16780,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Es. @@ -16132,7 +16808,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one E. @@ -16149,7 +16825,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Es. @@ -16201,14 +16877,14 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Es that matches the filter. * @param {EFindRawArgs} args - Select which filters you would like to apply. * @example * const e = await prisma.e.findRaw({ - * filter: { age: { $gt: 25 } } + * filter: { age: { $gt: 25 } } * }) */ findRaw(args?: EFindRawArgs): Prisma.PrismaPromise @@ -16364,34 +17040,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__EClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__EClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the E model */ @@ -16412,6 +17087,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16426,6 +17105,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16440,6 +17123,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16484,6 +17171,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -16528,6 +17219,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which ES to fetch. */ @@ -16567,6 +17262,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to create a E. */ @@ -16591,6 +17290,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to update a E. */ @@ -16613,6 +17316,10 @@ export namespace Prisma { * Filter which ES to update */ where?: EWhereInput + /** + * Limit how many ES to update. + */ + limit?: number } /** @@ -16623,6 +17330,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The filter to search for the E to update in case it exists. */ @@ -16645,6 +17356,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter which E to delete. */ @@ -16659,6 +17374,10 @@ export namespace Prisma { * Filter which ES to delete */ where?: EWhereInput + /** + * Limit how many ES to delete. + */ + limit?: number } /** @@ -16697,6 +17416,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null } @@ -17068,7 +17791,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: StringFilter<"Post"> | string - author?: XOR + author?: XOR } export type PostOrderByWithRelationInput = { @@ -17091,7 +17814,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: StringFilter<"Post"> | string - author?: XOR + author?: XOR }, "id"> export type PostOrderByWithAggregationInput = { @@ -17138,7 +17861,7 @@ export namespace Prisma { optionalBoolean?: BoolNullableFilter<"User"> | boolean | null embedHolderId?: StringFilter<"User"> | string posts?: PostListRelationFilter - embedHolder?: XOR + embedHolder?: XOR } export type UserOrderByWithRelationInput = { @@ -17181,7 +17904,7 @@ export namespace Prisma { optionalBoolean?: BoolNullableFilter<"User"> | boolean | null embedHolderId?: StringFilter<"User"> | string posts?: PostListRelationFilter - embedHolder?: XOR + embedHolder?: XOR }, "id" | "email"> export type UserOrderByWithAggregationInput = { @@ -17606,7 +18329,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null } export type ManyRequiredOrderByWithRelationInput = { @@ -17645,7 +18368,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null }, "id"> export type ManyRequiredOrderByWithAggregationInput = { @@ -17708,7 +18431,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide1OrderByWithRelationInput = { @@ -17747,7 +18470,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id" | "optionalSide2Id"> export type OptionalSide1OrderByWithAggregationInput = { @@ -17809,7 +18532,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide2OrderByWithRelationInput = { @@ -17846,7 +18569,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id"> export type OptionalSide2OrderByWithAggregationInput = { @@ -18060,7 +18783,7 @@ export namespace Prisma { NOT?: DWhereInput | DWhereInput[] id?: StringFilter<"D"> | string bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -18083,7 +18806,7 @@ export namespace Prisma { OR?: DWhereInput[] NOT?: DWhereInput | DWhereInput[] bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -18111,7 +18834,7 @@ export namespace Prisma { NOT?: DScalarWhereWithAggregatesInput | DScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"D"> | string bool?: BoolWithAggregatesFilter<"D"> | boolean - byteA?: BytesWithAggregatesFilter<"D"> | Buffer + byteA?: BytesWithAggregatesFilter<"D"> | Uint8Array xml?: StringWithAggregatesFilter<"D"> | string json?: JsonWithAggregatesFilter<"D"> jsonb?: JsonWithAggregatesFilter<"D"> @@ -19268,7 +19991,7 @@ export namespace Prisma { export type DCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: InputJsonValue jsonb: InputJsonValue @@ -19278,7 +20001,7 @@ export namespace Prisma { export type DUncheckedCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: InputJsonValue jsonb: InputJsonValue @@ -19287,7 +20010,7 @@ export namespace Prisma { export type DUpdateInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19296,7 +20019,7 @@ export namespace Prisma { export type DUncheckedUpdateInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19306,7 +20029,7 @@ export namespace Prisma { export type DCreateManyInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: InputJsonValue jsonb: InputJsonValue @@ -19315,7 +20038,7 @@ export namespace Prisma { export type DUpdateManyMutationInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19324,7 +20047,7 @@ export namespace Prisma { export type DUncheckedUpdateManyInput = { bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: InputJsonValue | InputJsonValue jsonb?: InputJsonValue | InputJsonValue @@ -19423,7 +20146,7 @@ export namespace Prisma { not?: NestedBoolFilter<$PrismaModel> | boolean } - export type UserRelationFilter = { + export type UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } @@ -19610,7 +20333,7 @@ export namespace Prisma { none?: PostWhereInput } - export type EmbedHolderRelationFilter = { + export type EmbedHolderScalarRelationFilter = { is?: EmbedHolderWhereInput isNot?: EmbedHolderWhereInput } @@ -20097,7 +20820,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OneOptionalNullableRelationFilter = { + export type OneOptionalNullableScalarRelationFilter = { is?: OneOptionalWhereInput | null isNot?: OneOptionalWhereInput | null } @@ -20163,7 +20886,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide2NullableRelationFilter = { + export type OptionalSide2NullableScalarRelationFilter = { is?: OptionalSide2WhereInput | null isNot?: OptionalSide2WhereInput | null } @@ -20229,7 +20952,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide1NullableRelationFilter = { + export type OptionalSide1NullableScalarRelationFilter = { is?: OptionalSide1WhereInput | null isNot?: OptionalSide1WhereInput | null } @@ -20417,10 +21140,10 @@ export namespace Prisma { } export type BytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type IntNullableListFilter<$PrismaModel = never> = { @@ -20464,10 +21187,10 @@ export namespace Prisma { } export type BytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -20923,7 +21646,7 @@ export namespace Prisma { } export type BytesFieldUpdateOperationsInput = { - set?: Buffer + set?: Uint8Array } export type DUpdatelistInput = { @@ -21273,17 +21996,17 @@ export namespace Prisma { } export type NestedBytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type NestedBytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -22380,94 +23103,6 @@ export namespace Prisma { - /** - * Aliases for legacy arg types - */ - /** - * @deprecated Use UserCountOutputTypeDefaultArgs instead - */ - export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs - /** - * @deprecated Use EmbedHolderCountOutputTypeDefaultArgs instead - */ - export type EmbedHolderCountOutputTypeArgs = EmbedHolderCountOutputTypeDefaultArgs - /** - * @deprecated Use MCountOutputTypeDefaultArgs instead - */ - export type MCountOutputTypeArgs = MCountOutputTypeDefaultArgs - /** - * @deprecated Use NCountOutputTypeDefaultArgs instead - */ - export type NCountOutputTypeArgs = NCountOutputTypeDefaultArgs - /** - * @deprecated Use OneOptionalCountOutputTypeDefaultArgs instead - */ - export type OneOptionalCountOutputTypeArgs = OneOptionalCountOutputTypeDefaultArgs - /** - * @deprecated Use EmbedDefaultArgs instead - */ - export type EmbedArgs = EmbedDefaultArgs - /** - * @deprecated Use EmbedEmbedDefaultArgs instead - */ - export type EmbedEmbedArgs = EmbedEmbedDefaultArgs - /** - * @deprecated Use PostDefaultArgs instead - */ - export type PostArgs = PostDefaultArgs - /** - * @deprecated Use UserDefaultArgs instead - */ - export type UserArgs = UserDefaultArgs - /** - * @deprecated Use EmbedHolderDefaultArgs instead - */ - export type EmbedHolderArgs = EmbedHolderDefaultArgs - /** - * @deprecated Use MDefaultArgs instead - */ - export type MArgs = MDefaultArgs - /** - * @deprecated Use NDefaultArgs instead - */ - export type NArgs = NDefaultArgs - /** - * @deprecated Use OneOptionalDefaultArgs instead - */ - export type OneOptionalArgs = OneOptionalDefaultArgs - /** - * @deprecated Use ManyRequiredDefaultArgs instead - */ - export type ManyRequiredArgs = ManyRequiredDefaultArgs - /** - * @deprecated Use OptionalSide1DefaultArgs instead - */ - export type OptionalSide1Args = OptionalSide1DefaultArgs - /** - * @deprecated Use OptionalSide2DefaultArgs instead - */ - export type OptionalSide2Args = OptionalSide2DefaultArgs - /** - * @deprecated Use ADefaultArgs instead - */ - export type AArgs = ADefaultArgs - /** - * @deprecated Use BDefaultArgs instead - */ - export type BArgs = BDefaultArgs - /** - * @deprecated Use CDefaultArgs instead - */ - export type CArgs = CDefaultArgs - /** - * @deprecated Use DDefaultArgs instead - */ - export type DArgs = DDefaultArgs - /** - * @deprecated Use EDefaultArgs instead - */ - export type EArgs = EDefaultArgs - /** * Batch Payload for updateMany & deleteMany & createMany */ diff --git a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/binary.test.ts.snap b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/binary.test.ts.snap index 83315b97e4fc..df8f59540019 100644 --- a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/binary.test.ts.snap +++ b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/binary.test.ts.snap @@ -10,6 +10,7 @@ const { makeStrictEnum, Public, getRuntime, + skip } = require('@prisma/client/runtime/index-browser.js') @@ -52,11 +53,6 @@ Prisma.PrismaClientValidationError = () => { throw new Error(\`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, )} -Prisma.NotFoundError = () => { - const runtimeName = getRuntime().prettyName; - throw new Error(\`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). -In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, -)} Prisma.Decimal = Decimal /** @@ -111,6 +107,8 @@ Prisma.NullTypes = { AnyNull: objectEnumValues.classes.AnyNull } + + /** * Enums */ @@ -479,7 +477,7 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -488,19 +486,19 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< - T extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, - U = 'log' extends keyof T ? T['log'] extends Array ? Prisma.GetEvents : never : never, + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -509,11 +507,11 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ - constructor(optionsArg ?: Prisma.Subset); + constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : V extends 'beforeExit' ? () => $Utils.JsPromise : Prisma.LogEvent) => void): void; /** @@ -539,7 +537,7 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$executeRaw\`UPDATE User SET cool = \${true} WHERE email = \${'user@email.com'};\` * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; @@ -551,7 +549,7 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; @@ -562,7 +560,7 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$queryRaw\`SELECT * FROM User WHERE id = \${1} OR email = \${'user@email.com'};\` * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; @@ -574,11 +572,12 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example @@ -597,7 +596,9 @@ export class PrismaClient< $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise - $extends: $Extensions.ExtendsHook<'extends', Prisma.TypeMapCb, ExtArgs> + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, ClientOptions> /** * \`prisma.post\`: Exposes CRUD operations for the **Post** model. @@ -607,7 +608,7 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` */ - get post(): Prisma.PostDelegate; + get post(): Prisma.PostDelegate; /** * \`prisma.user\`: Exposes CRUD operations for the **User** model. @@ -617,7 +618,7 @@ export class PrismaClient< * const users = await prisma.user.findMany() * \`\`\` */ - get user(): Prisma.UserDelegate; + get user(): Prisma.UserDelegate; /** * \`prisma.m\`: Exposes CRUD operations for the **M** model. @@ -627,7 +628,7 @@ export class PrismaClient< * const ms = await prisma.m.findMany() * \`\`\` */ - get m(): Prisma.MDelegate; + get m(): Prisma.MDelegate; /** * \`prisma.n\`: Exposes CRUD operations for the **N** model. @@ -637,7 +638,7 @@ export class PrismaClient< * const ns = await prisma.n.findMany() * \`\`\` */ - get n(): Prisma.NDelegate; + get n(): Prisma.NDelegate; /** * \`prisma.oneOptional\`: Exposes CRUD operations for the **OneOptional** model. @@ -647,7 +648,7 @@ export class PrismaClient< * const oneOptionals = await prisma.oneOptional.findMany() * \`\`\` */ - get oneOptional(): Prisma.OneOptionalDelegate; + get oneOptional(): Prisma.OneOptionalDelegate; /** * \`prisma.manyRequired\`: Exposes CRUD operations for the **ManyRequired** model. @@ -657,7 +658,7 @@ export class PrismaClient< * const manyRequireds = await prisma.manyRequired.findMany() * \`\`\` */ - get manyRequired(): Prisma.ManyRequiredDelegate; + get manyRequired(): Prisma.ManyRequiredDelegate; /** * \`prisma.optionalSide1\`: Exposes CRUD operations for the **OptionalSide1** model. @@ -667,7 +668,7 @@ export class PrismaClient< * const optionalSide1s = await prisma.optionalSide1.findMany() * \`\`\` */ - get optionalSide1(): Prisma.OptionalSide1Delegate; + get optionalSide1(): Prisma.OptionalSide1Delegate; /** * \`prisma.optionalSide2\`: Exposes CRUD operations for the **OptionalSide2** model. @@ -677,7 +678,7 @@ export class PrismaClient< * const optionalSide2s = await prisma.optionalSide2.findMany() * \`\`\` */ - get optionalSide2(): Prisma.OptionalSide2Delegate; + get optionalSide2(): Prisma.OptionalSide2Delegate; /** * \`prisma.a\`: Exposes CRUD operations for the **A** model. @@ -687,7 +688,7 @@ export class PrismaClient< * const as = await prisma.a.findMany() * \`\`\` */ - get a(): Prisma.ADelegate; + get a(): Prisma.ADelegate; /** * \`prisma.b\`: Exposes CRUD operations for the **B** model. @@ -697,7 +698,7 @@ export class PrismaClient< * const bs = await prisma.b.findMany() * \`\`\` */ - get b(): Prisma.BDelegate; + get b(): Prisma.BDelegate; /** * \`prisma.c\`: Exposes CRUD operations for the **C** model. @@ -707,7 +708,7 @@ export class PrismaClient< * const cs = await prisma.c.findMany() * \`\`\` */ - get c(): Prisma.CDelegate; + get c(): Prisma.CDelegate; /** * \`prisma.d\`: Exposes CRUD operations for the **D** model. @@ -717,7 +718,7 @@ export class PrismaClient< * const ds = await prisma.d.findMany() * \`\`\` */ - get d(): Prisma.DDelegate; + get d(): Prisma.DDelegate; /** * \`prisma.e\`: Exposes CRUD operations for the **E** model. @@ -727,7 +728,7 @@ export class PrismaClient< * const es = await prisma.e.findMany() * \`\`\` */ - get e(): Prisma.EDelegate; + get e(): Prisma.EDelegate; } export namespace Prisma { @@ -748,7 +749,6 @@ export namespace Prisma { export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError - export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag @@ -759,6 +759,8 @@ export namespace Prisma { export import raw = runtime.raw export import Sql = runtime.Sql + + /** * Decimal.js */ @@ -767,7 +769,7 @@ export namespace Prisma { export type DecimalJsLike = runtime.DecimalJsLike /** - * Metrics + * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric @@ -792,69 +794,31 @@ export namespace Prisma { client: string } - export const prismaVersion: PrismaVersion + export const prismaVersion: PrismaVersion /** * Utility Types */ - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON object. - * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. - */ - export type JsonObject = {[Key in string]?: JsonValue} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON array. - */ - export interface JsonArray extends Array {} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches any valid JSON value. - */ - export type JsonValue = string | number | boolean | JsonObject | JsonArray | null - - /** - * Matches a JSON object. - * Unlike \`JsonObject\`, this type allows undefined and read-only properties. - */ - export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null} - - /** - * Matches a JSON array. - * Unlike \`JsonArray\`, readonly arrays are assignable to this type. - */ - export interface InputJsonArray extends ReadonlyArray {} - /** - * Matches any valid value that can be used as an input for operations like - * create and update as the value of a JSON field. Unlike \`JsonValue\`, this - * type allows read-only arrays and read-only object properties and disallows - * \`null\` at the top level. - * - * \`null\` cannot be used as the value of a JSON field because its meaning - * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or - * \`Prisma.DbNull\` to clear the JSON value and set the field to the database - * NULL value instead. - * - * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values - */ - export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown } + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of \`null\` values when working with JSON fields. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of \`Prisma.DbNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.DbNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { @@ -864,9 +828,9 @@ export namespace Prisma { /** * Type of \`Prisma.JsonNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.JsonNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { @@ -876,9 +840,9 @@ export namespace Prisma { /** * Type of \`Prisma.AnyNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.AnyNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { @@ -889,21 +853,21 @@ export namespace Prisma { /** * Helper for filtering JSON entries that have \`null\` on the database (empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON \`null\` values (not empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are \`Prisma.DbNull\` or \`Prisma.JsonNull\` - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull @@ -1227,83 +1191,86 @@ export namespace Prisma { db?: Datasource } - - interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs}, $Utils.Record> { - returns: Prisma.TypeMap + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { + returns: Prisma.TypeMap } - export type TypeMap = { + export type TypeMap = { meta: { - modelProps: 'post' | 'user' | 'm' | 'n' | 'oneOptional' | 'manyRequired' | 'optionalSide1' | 'optionalSide2' | 'a' | 'b' | 'c' | 'd' | 'e' + modelProps: "post" | "user" | "m" | "n" | "oneOptional" | "manyRequired" | "optionalSide1" | "optionalSide2" | "a" | "b" | "c" | "d" | "e" txIsolationLevel: Prisma.TransactionIsolationLevel - }, + } model: { Post: { payload: Prisma.$PostPayload fields: Prisma.PostFieldRefs operations: { findUnique: { - args: Prisma.PostFindUniqueArgs, + args: Prisma.PostFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.PostFindUniqueOrThrowArgs, + args: Prisma.PostFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.PostFindFirstArgs, + args: Prisma.PostFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.PostFindFirstOrThrowArgs, + args: Prisma.PostFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.PostFindManyArgs, + args: Prisma.PostFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.PostCreateArgs, + args: Prisma.PostCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.PostCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.PostCreateManyAndReturnArgs, + args: Prisma.PostCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.PostDeleteArgs, + args: Prisma.PostDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.PostUpdateArgs, + args: Prisma.PostUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.PostDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.PostUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PostUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.PostUpsertArgs, + args: Prisma.PostUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.PostAggregateArgs, + args: Prisma.PostAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.PostGroupByArgs, + args: Prisma.PostGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.PostCountArgs, + args: Prisma.PostCountArgs result: $Utils.Optional | number } } @@ -1313,67 +1280,71 @@ export namespace Prisma { fields: Prisma.UserFieldRefs operations: { findUnique: { - args: Prisma.UserFindUniqueArgs, + args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.UserFindUniqueOrThrowArgs, + args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.UserFindFirstArgs, + args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.UserFindFirstOrThrowArgs, + args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.UserFindManyArgs, + args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.UserCreateArgs, + args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.UserCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.UserCreateManyAndReturnArgs, + args: Prisma.UserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.UserDeleteArgs, + args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.UserUpdateArgs, + args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.UserDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.UserUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.UserUpsertArgs, + args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.UserAggregateArgs, + args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.UserGroupByArgs, + args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.UserCountArgs, + args: Prisma.UserCountArgs result: $Utils.Optional | number } } @@ -1383,67 +1354,71 @@ export namespace Prisma { fields: Prisma.MFieldRefs operations: { findUnique: { - args: Prisma.MFindUniqueArgs, + args: Prisma.MFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.MFindUniqueOrThrowArgs, + args: Prisma.MFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.MFindFirstArgs, + args: Prisma.MFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.MFindFirstOrThrowArgs, + args: Prisma.MFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.MFindManyArgs, + args: Prisma.MFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.MCreateArgs, + args: Prisma.MCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.MCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.MCreateManyAndReturnArgs, + args: Prisma.MCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.MDeleteArgs, + args: Prisma.MDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.MUpdateArgs, + args: Prisma.MUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.MDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.MDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.MUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.MUpsertArgs, + args: Prisma.MUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.MAggregateArgs, + args: Prisma.MAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.MGroupByArgs, + args: Prisma.MGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.MCountArgs, + args: Prisma.MCountArgs result: $Utils.Optional | number } } @@ -1453,67 +1428,71 @@ export namespace Prisma { fields: Prisma.NFieldRefs operations: { findUnique: { - args: Prisma.NFindUniqueArgs, + args: Prisma.NFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.NFindUniqueOrThrowArgs, + args: Prisma.NFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.NFindFirstArgs, + args: Prisma.NFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.NFindFirstOrThrowArgs, + args: Prisma.NFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.NFindManyArgs, + args: Prisma.NFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.NCreateArgs, + args: Prisma.NCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.NCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.NCreateManyAndReturnArgs, + args: Prisma.NCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.NDeleteArgs, + args: Prisma.NDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.NUpdateArgs, + args: Prisma.NUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.NDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.NDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.NUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.NUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.NUpsertArgs, + args: Prisma.NUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.NAggregateArgs, + args: Prisma.NAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.NGroupByArgs, + args: Prisma.NGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.NCountArgs, + args: Prisma.NCountArgs result: $Utils.Optional | number } } @@ -1523,67 +1502,71 @@ export namespace Prisma { fields: Prisma.OneOptionalFieldRefs operations: { findUnique: { - args: Prisma.OneOptionalFindUniqueArgs, + args: Prisma.OneOptionalFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OneOptionalFindUniqueOrThrowArgs, + args: Prisma.OneOptionalFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OneOptionalFindFirstArgs, + args: Prisma.OneOptionalFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OneOptionalFindFirstOrThrowArgs, + args: Prisma.OneOptionalFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OneOptionalFindManyArgs, + args: Prisma.OneOptionalFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OneOptionalCreateArgs, + args: Prisma.OneOptionalCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OneOptionalCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.OneOptionalCreateManyAndReturnArgs, + args: Prisma.OneOptionalCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.OneOptionalDeleteArgs, + args: Prisma.OneOptionalDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OneOptionalUpdateArgs, + args: Prisma.OneOptionalUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OneOptionalDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OneOptionalUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.OneOptionalUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.OneOptionalUpsertArgs, + args: Prisma.OneOptionalUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OneOptionalAggregateArgs, + args: Prisma.OneOptionalAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OneOptionalGroupByArgs, + args: Prisma.OneOptionalGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.OneOptionalCountArgs, + args: Prisma.OneOptionalCountArgs result: $Utils.Optional | number } } @@ -1593,67 +1576,71 @@ export namespace Prisma { fields: Prisma.ManyRequiredFieldRefs operations: { findUnique: { - args: Prisma.ManyRequiredFindUniqueArgs, + args: Prisma.ManyRequiredFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.ManyRequiredFindUniqueOrThrowArgs, + args: Prisma.ManyRequiredFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.ManyRequiredFindFirstArgs, + args: Prisma.ManyRequiredFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.ManyRequiredFindFirstOrThrowArgs, + args: Prisma.ManyRequiredFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.ManyRequiredFindManyArgs, + args: Prisma.ManyRequiredFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ManyRequiredCreateArgs, + args: Prisma.ManyRequiredCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ManyRequiredCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.ManyRequiredCreateManyAndReturnArgs, + args: Prisma.ManyRequiredCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.ManyRequiredDeleteArgs, + args: Prisma.ManyRequiredDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.ManyRequiredUpdateArgs, + args: Prisma.ManyRequiredUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ManyRequiredDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.ManyRequiredUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ManyRequiredUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.ManyRequiredUpsertArgs, + args: Prisma.ManyRequiredUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.ManyRequiredAggregateArgs, + args: Prisma.ManyRequiredAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.ManyRequiredGroupByArgs, + args: Prisma.ManyRequiredGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.ManyRequiredCountArgs, + args: Prisma.ManyRequiredCountArgs result: $Utils.Optional | number } } @@ -1663,67 +1650,71 @@ export namespace Prisma { fields: Prisma.OptionalSide1FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide1FindUniqueArgs, + args: Prisma.OptionalSide1FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide1FindUniqueOrThrowArgs, + args: Prisma.OptionalSide1FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide1FindFirstArgs, + args: Prisma.OptionalSide1FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide1FindFirstOrThrowArgs, + args: Prisma.OptionalSide1FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide1FindManyArgs, + args: Prisma.OptionalSide1FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide1CreateArgs, + args: Prisma.OptionalSide1CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide1CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1CreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.OptionalSide1CreateManyAndReturnArgs, + args: Prisma.OptionalSide1CreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.OptionalSide1DeleteArgs, + args: Prisma.OptionalSide1DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide1UpdateArgs, + args: Prisma.OptionalSide1UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide1DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide1UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1UpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.OptionalSide1UpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.OptionalSide1UpsertArgs, + args: Prisma.OptionalSide1UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide1AggregateArgs, + args: Prisma.OptionalSide1AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide1GroupByArgs, + args: Prisma.OptionalSide1GroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.OptionalSide1CountArgs, + args: Prisma.OptionalSide1CountArgs result: $Utils.Optional | number } } @@ -1733,67 +1724,71 @@ export namespace Prisma { fields: Prisma.OptionalSide2FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide2FindUniqueArgs, + args: Prisma.OptionalSide2FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide2FindUniqueOrThrowArgs, + args: Prisma.OptionalSide2FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide2FindFirstArgs, + args: Prisma.OptionalSide2FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide2FindFirstOrThrowArgs, + args: Prisma.OptionalSide2FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide2FindManyArgs, + args: Prisma.OptionalSide2FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide2CreateArgs, + args: Prisma.OptionalSide2CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide2CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2CreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.OptionalSide2CreateManyAndReturnArgs, + args: Prisma.OptionalSide2CreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.OptionalSide2DeleteArgs, + args: Prisma.OptionalSide2DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide2UpdateArgs, + args: Prisma.OptionalSide2UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide2DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide2UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2UpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.OptionalSide2UpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.OptionalSide2UpsertArgs, + args: Prisma.OptionalSide2UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide2AggregateArgs, + args: Prisma.OptionalSide2AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide2GroupByArgs, + args: Prisma.OptionalSide2GroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.OptionalSide2CountArgs, + args: Prisma.OptionalSide2CountArgs result: $Utils.Optional | number } } @@ -1803,67 +1798,71 @@ export namespace Prisma { fields: Prisma.AFieldRefs operations: { findUnique: { - args: Prisma.AFindUniqueArgs, + args: Prisma.AFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.AFindUniqueOrThrowArgs, + args: Prisma.AFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.AFindFirstArgs, + args: Prisma.AFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.AFindFirstOrThrowArgs, + args: Prisma.AFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.AFindManyArgs, + args: Prisma.AFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ACreateArgs, + args: Prisma.ACreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ACreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ACreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.ACreateManyAndReturnArgs, + args: Prisma.ACreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.ADeleteArgs, + args: Prisma.ADeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.AUpdateArgs, + args: Prisma.AUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ADeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ADeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.AUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.AUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.AUpsertArgs, + args: Prisma.AUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.AAggregateArgs, + args: Prisma.AAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.AGroupByArgs, + args: Prisma.AGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.ACountArgs, + args: Prisma.ACountArgs result: $Utils.Optional | number } } @@ -1873,67 +1872,71 @@ export namespace Prisma { fields: Prisma.BFieldRefs operations: { findUnique: { - args: Prisma.BFindUniqueArgs, + args: Prisma.BFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.BFindUniqueOrThrowArgs, + args: Prisma.BFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.BFindFirstArgs, + args: Prisma.BFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.BFindFirstOrThrowArgs, + args: Prisma.BFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.BFindManyArgs, + args: Prisma.BFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.BCreateArgs, + args: Prisma.BCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.BCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.BCreateManyAndReturnArgs, + args: Prisma.BCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.BDeleteArgs, + args: Prisma.BDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.BUpdateArgs, + args: Prisma.BUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.BDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.BDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.BUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.BUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.BUpsertArgs, + args: Prisma.BUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.BAggregateArgs, + args: Prisma.BAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.BGroupByArgs, + args: Prisma.BGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.BCountArgs, + args: Prisma.BCountArgs result: $Utils.Optional | number } } @@ -1943,67 +1946,71 @@ export namespace Prisma { fields: Prisma.CFieldRefs operations: { findUnique: { - args: Prisma.CFindUniqueArgs, + args: Prisma.CFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.CFindUniqueOrThrowArgs, + args: Prisma.CFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.CFindFirstArgs, + args: Prisma.CFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.CFindFirstOrThrowArgs, + args: Prisma.CFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.CFindManyArgs, + args: Prisma.CFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.CCreateArgs, + args: Prisma.CCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.CCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.CCreateManyAndReturnArgs, + args: Prisma.CCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.CDeleteArgs, + args: Prisma.CDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.CUpdateArgs, + args: Prisma.CUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.CDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.CDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.CUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.CUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.CUpsertArgs, + args: Prisma.CUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.CAggregateArgs, + args: Prisma.CAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.CGroupByArgs, + args: Prisma.CGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.CCountArgs, + args: Prisma.CCountArgs result: $Utils.Optional | number } } @@ -2013,67 +2020,71 @@ export namespace Prisma { fields: Prisma.DFieldRefs operations: { findUnique: { - args: Prisma.DFindUniqueArgs, + args: Prisma.DFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.DFindUniqueOrThrowArgs, + args: Prisma.DFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.DFindFirstArgs, + args: Prisma.DFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.DFindFirstOrThrowArgs, + args: Prisma.DFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.DFindManyArgs, + args: Prisma.DFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.DCreateArgs, + args: Prisma.DCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.DCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.DCreateManyAndReturnArgs, + args: Prisma.DCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.DDeleteArgs, + args: Prisma.DDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.DUpdateArgs, + args: Prisma.DUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.DDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.DDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.DUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.DUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.DUpsertArgs, + args: Prisma.DUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.DAggregateArgs, + args: Prisma.DAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.DGroupByArgs, + args: Prisma.DGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.DCountArgs, + args: Prisma.DCountArgs result: $Utils.Optional | number } } @@ -2083,67 +2094,71 @@ export namespace Prisma { fields: Prisma.EFieldRefs operations: { findUnique: { - args: Prisma.EFindUniqueArgs, + args: Prisma.EFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.EFindUniqueOrThrowArgs, + args: Prisma.EFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.EFindFirstArgs, + args: Prisma.EFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.EFindFirstOrThrowArgs, + args: Prisma.EFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.EFindManyArgs, + args: Prisma.EFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ECreateArgs, + args: Prisma.ECreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ECreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ECreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.ECreateManyAndReturnArgs, + args: Prisma.ECreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.EDeleteArgs, + args: Prisma.EDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.EUpdateArgs, + args: Prisma.EUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.EDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.EDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.EUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.EUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.EUpsertArgs, + args: Prisma.EUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.EAggregateArgs, + args: Prisma.EAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.EGroupByArgs, + args: Prisma.EGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.ECountArgs, + args: Prisma.ECountArgs result: $Utils.Optional | number } } @@ -2153,15 +2168,11 @@ export namespace Prisma { other: { payload: any operations: { - $executeRawUnsafe: { - args: [query: string, ...values: any[]], - result: any - } $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } - $queryRawUnsafe: { + $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } @@ -2169,10 +2180,14 @@ export namespace Prisma { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } } } } - export const defineExtension: $Extensions.ExtendsHook<'define', Prisma.TypeMapCb, $Extensions.DefaultArgs> + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { @@ -2215,6 +2230,36 @@ export namespace Prisma { timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } + /** + * Global configuration for omitting model fields by default. + * + * @example + * \`\`\` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * \`\`\` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + post?: PostOmit + user?: UserOmit + m?: MOmit + n?: NOmit + oneOptional?: OneOptionalOmit + manyRequired?: ManyRequiredOmit + optionalSide1?: OptionalSide1Omit + optionalSide2?: OptionalSide2Omit + a?: AOmit + b?: BOmit + c?: COmit + d?: DOmit + e?: EOmit } /* Types for Logging */ @@ -2256,6 +2301,7 @@ export namespace Prisma { | 'createManyAndReturn' | 'update' | 'updateMany' + | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' @@ -2654,6 +2700,16 @@ export namespace Prisma { author?: boolean | UserDefaultArgs }, ExtArgs["result"]["post"]> + export type PostSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + createdAt?: boolean + title?: boolean + content?: boolean + published?: boolean + authorId?: boolean + author?: boolean | UserDefaultArgs + }, ExtArgs["result"]["post"]> + export type PostSelectScalar = { id?: boolean createdAt?: boolean @@ -2663,12 +2719,16 @@ export namespace Prisma { authorId?: boolean } + export type PostOmit = $Extensions.GetOmit<"id" | "createdAt" | "title" | "content" | "published" | "authorId", ExtArgs["result"]["post"]> export type PostInclude = { author?: boolean | UserDefaultArgs } export type PostIncludeCreateManyAndReturn = { author?: boolean | UserDefaultArgs } + export type PostIncludeUpdateManyAndReturn = { + author?: boolean | UserDefaultArgs + } export type $PostPayload = { name: "Post" @@ -2688,12 +2748,12 @@ export namespace Prisma { type PostGetPayload = $Result.GetResult - type PostCountArgs = - Omit & { + type PostCountArgs = + Omit & { select?: PostCountAggregateInputType | true } - export interface PostDelegate { + export interface PostDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Post'], meta: { name: 'Post' } } /** * Find zero or one Post that matches the filter. @@ -2706,10 +2766,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` + * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {PostFindUniqueOrThrowArgs} args - Arguments to find a Post * @example @@ -2720,7 +2780,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter. @@ -2735,7 +2795,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter or @@ -2751,7 +2811,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Posts that matches the filter. @@ -2769,7 +2829,7 @@ export namespace Prisma { * const postWithIdOnly = await prisma.post.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a Post. @@ -2783,7 +2843,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Posts. @@ -2811,7 +2871,7 @@ export namespace Prisma { * }) * * // Create many Posts and only return the \`id\` - * const postWithIdOnly = await prisma.post.createManyAndReturn({ + * const postWithIdOnly = await prisma.post.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -2821,7 +2881,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a Post. @@ -2835,7 +2895,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one Post. @@ -2852,7 +2912,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Posts. @@ -2887,6 +2947,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Posts and returns the data updated in the database. + * @param {PostUpdateManyAndReturnArgs} args - Arguments to update many Posts. + * @example + * // Update many Posts + * const post = await prisma.post.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Posts and only return the \`id\` + * const postWithIdOnly = await prisma.post.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one Post. * @param {PostUpsertArgs} args - Arguments to update or create a Post. @@ -2904,7 +2994,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -3044,35 +3134,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__PostClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs>; - + export interface Prisma__PostClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | Null, Null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the Post model */ @@ -3095,6 +3184,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3113,6 +3206,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3131,6 +3228,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3179,6 +3280,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3227,6 +3332,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3270,6 +3379,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3299,6 +3412,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * The data used to create many Posts. */ @@ -3318,6 +3435,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3344,6 +3465,40 @@ export namespace Prisma { * Filter which Posts to update */ where?: PostWhereInput + /** + * Limit how many Posts to update. + */ + limit?: number + } + + /** + * Post updateManyAndReturn + */ + export type PostUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Post + */ + select?: PostSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null + /** + * The data used to update Posts. + */ + data: XOR + /** + * Filter which Posts to update + */ + where?: PostWhereInput + /** + * Limit how many Posts to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: PostIncludeUpdateManyAndReturn | null } /** @@ -3354,6 +3509,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3380,6 +3539,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3398,6 +3561,10 @@ export namespace Prisma { * Filter which Posts to delete */ where?: PostWhereInput + /** + * Limit how many Posts to delete. + */ + limit?: number } /** @@ -3408,6 +3575,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3714,6 +3885,23 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["user"]> + export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + email?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["user"]> + export type UserSelectScalar = { id?: boolean email?: boolean @@ -3731,11 +3919,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type UserOmit = $Extensions.GetOmit<"id" | "email" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["user"]> export type UserInclude = { posts?: boolean | User$postsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} + export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" @@ -3763,12 +3953,12 @@ export namespace Prisma { type UserGetPayload = $Result.GetResult - type UserCountArgs = - Omit & { + type UserCountArgs = + Omit & { select?: UserCountAggregateInputType | true } - export interface UserDelegate { + export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. @@ -3781,10 +3971,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one User that matches the filter or throw an error with \`error.code='P2025'\` + * Find one User that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example @@ -3795,7 +3985,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first User that matches the filter. @@ -3810,7 +4000,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first User that matches the filter or @@ -3826,7 +4016,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Users that matches the filter. @@ -3844,7 +4034,7 @@ export namespace Prisma { * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a User. @@ -3858,7 +4048,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Users. @@ -3886,7 +4076,7 @@ export namespace Prisma { * }) * * // Create many Users and only return the \`id\` - * const userWithIdOnly = await prisma.user.createManyAndReturn({ + * const userWithIdOnly = await prisma.user.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -3896,7 +4086,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a User. @@ -3910,7 +4100,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one User. @@ -3927,7 +4117,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Users. @@ -3962,6 +4152,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Users and returns the data updated in the database. + * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const user = await prisma.user.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the \`id\` + * const userWithIdOnly = await prisma.user.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. @@ -3979,7 +4199,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -4119,35 +4339,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__UserClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the User model */ @@ -4178,6 +4397,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4196,6 +4419,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4214,6 +4441,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4262,6 +4493,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4310,6 +4545,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4353,6 +4592,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4382,6 +4625,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * The data used to create many Users. */ @@ -4397,6 +4644,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4423,28 +4674,62 @@ export namespace Prisma { * Filter which Users to update */ where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number } /** - * User upsert + * User updateManyAndReturn */ - export type UserUpsertArgs = { + export type UserUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ - select?: UserSelect | null + select?: UserSelectUpdateManyAndReturn | null /** - * Choose, which related nodes to fetch as well + * Omit specific fields from the User */ - include?: UserInclude | null + omit?: UserOmit | null /** - * The filter to search for the User to update in case it exists. + * The data used to update Users. */ - where: UserWhereUniqueInput + data: XOR /** - * In case the User found by the \`where\` argument doesn't exist, create a new User with this data. + * Filter which Users to update */ - create: XOR + where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + } + + /** + * User upsert + */ + export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The filter to search for the User to update in case it exists. + */ + where: UserWhereUniqueInput + /** + * In case the User found by the \`where\` argument doesn't exist, create a new User with this data. + */ + create: XOR /** * In case the User was found with the provided \`where\` argument, update it with this data. */ @@ -4459,6 +4744,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4477,6 +4766,10 @@ export namespace Prisma { * Filter which Users to delete */ where?: UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number } /** @@ -4487,6 +4780,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4507,6 +4804,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4804,6 +5105,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["m"]> + export type MSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["m"]> + export type MSelectScalar = { id?: boolean int?: boolean @@ -4820,11 +5137,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type MOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["m"]> export type MInclude = { n?: boolean | M$nArgs _count?: boolean | MCountOutputTypeDefaultArgs } export type MIncludeCreateManyAndReturn = {} + export type MIncludeUpdateManyAndReturn = {} export type $MPayload = { name: "M" @@ -4851,12 +5170,12 @@ export namespace Prisma { type MGetPayload = $Result.GetResult - type MCountArgs = - Omit & { + type MCountArgs = + Omit & { select?: MCountAggregateInputType | true } - export interface MDelegate { + export interface MDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['M'], meta: { name: 'M' } } /** * Find zero or one M that matches the filter. @@ -4869,10 +5188,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one M that matches the filter or throw an error with \`error.code='P2025'\` + * Find one M that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {MFindUniqueOrThrowArgs} args - Arguments to find a M * @example @@ -4883,7 +5202,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first M that matches the filter. @@ -4898,7 +5217,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first M that matches the filter or @@ -4914,7 +5233,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ms that matches the filter. @@ -4932,7 +5251,7 @@ export namespace Prisma { * const mWithIdOnly = await prisma.m.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a M. @@ -4946,7 +5265,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ms. @@ -4974,7 +5293,7 @@ export namespace Prisma { * }) * * // Create many Ms and only return the \`id\` - * const mWithIdOnly = await prisma.m.createManyAndReturn({ + * const mWithIdOnly = await prisma.m.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -4984,7 +5303,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a M. @@ -4998,7 +5317,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one M. @@ -5015,7 +5334,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ms. @@ -5050,6 +5369,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Ms and returns the data updated in the database. + * @param {MUpdateManyAndReturnArgs} args - Arguments to update many Ms. + * @example + * // Update many Ms + * const m = await prisma.m.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Ms and only return the \`id\` + * const mWithIdOnly = await prisma.m.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one M. * @param {MUpsertArgs} args - Arguments to update or create a M. @@ -5067,7 +5416,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -5207,35 +5556,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__MClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__MClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the M model */ @@ -5265,6 +5613,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5283,6 +5635,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5301,6 +5657,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5349,6 +5709,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5397,6 +5761,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5440,6 +5808,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5469,6 +5841,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelectCreateManyAndReturn | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * The data used to create many MS. */ @@ -5484,6 +5860,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5510,6 +5890,36 @@ export namespace Prisma { * Filter which MS to update */ where?: MWhereInput + /** + * Limit how many MS to update. + */ + limit?: number + } + + /** + * M updateManyAndReturn + */ + export type MUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the M + */ + select?: MSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null + /** + * The data used to update MS. + */ + data: XOR + /** + * Filter which MS to update + */ + where?: MWhereInput + /** + * Limit how many MS to update. + */ + limit?: number } /** @@ -5520,6 +5930,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5546,6 +5960,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5564,6 +5982,10 @@ export namespace Prisma { * Filter which MS to delete */ where?: MWhereInput + /** + * Limit how many MS to delete. + */ + limit?: number } /** @@ -5574,6 +5996,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5594,6 +6020,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5891,6 +6321,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["n"]> + export type NSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["n"]> + export type NSelectScalar = { id?: boolean int?: boolean @@ -5907,11 +6353,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type NOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["n"]> export type NInclude = { m?: boolean | N$mArgs _count?: boolean | NCountOutputTypeDefaultArgs } export type NIncludeCreateManyAndReturn = {} + export type NIncludeUpdateManyAndReturn = {} export type $NPayload = { name: "N" @@ -5938,12 +6386,12 @@ export namespace Prisma { type NGetPayload = $Result.GetResult - type NCountArgs = - Omit & { + type NCountArgs = + Omit & { select?: NCountAggregateInputType | true } - export interface NDelegate { + export interface NDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['N'], meta: { name: 'N' } } /** * Find zero or one N that matches the filter. @@ -5956,10 +6404,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one N that matches the filter or throw an error with \`error.code='P2025'\` + * Find one N that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {NFindUniqueOrThrowArgs} args - Arguments to find a N * @example @@ -5970,7 +6418,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first N that matches the filter. @@ -5985,7 +6433,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first N that matches the filter or @@ -6001,7 +6449,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ns that matches the filter. @@ -6019,7 +6467,7 @@ export namespace Prisma { * const nWithIdOnly = await prisma.n.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a N. @@ -6033,7 +6481,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ns. @@ -6061,7 +6509,7 @@ export namespace Prisma { * }) * * // Create many Ns and only return the \`id\` - * const nWithIdOnly = await prisma.n.createManyAndReturn({ + * const nWithIdOnly = await prisma.n.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -6071,7 +6519,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a N. @@ -6085,7 +6533,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one N. @@ -6102,7 +6550,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ns. @@ -6137,6 +6585,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Ns and returns the data updated in the database. + * @param {NUpdateManyAndReturnArgs} args - Arguments to update many Ns. + * @example + * // Update many Ns + * const n = await prisma.n.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Ns and only return the \`id\` + * const nWithIdOnly = await prisma.n.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one N. * @param {NUpsertArgs} args - Arguments to update or create a N. @@ -6154,7 +6632,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -6294,35 +6772,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__NClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__NClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the N model */ @@ -6352,6 +6829,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6370,6 +6851,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6388,6 +6873,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6436,6 +6925,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6484,6 +6977,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6527,6 +7024,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6556,6 +7057,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelectCreateManyAndReturn | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * The data used to create many NS. */ @@ -6571,6 +7076,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6597,6 +7106,36 @@ export namespace Prisma { * Filter which NS to update */ where?: NWhereInput + /** + * Limit how many NS to update. + */ + limit?: number + } + + /** + * N updateManyAndReturn + */ + export type NUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the N + */ + select?: NSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null + /** + * The data used to update NS. + */ + data: XOR + /** + * Filter which NS to update + */ + where?: NWhereInput + /** + * Limit how many NS to update. + */ + limit?: number } /** @@ -6607,6 +7146,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6633,6 +7176,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6651,6 +7198,10 @@ export namespace Prisma { * Filter which NS to delete */ where?: NWhereInput + /** + * Limit how many NS to delete. + */ + limit?: number } /** @@ -6661,6 +7212,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6681,6 +7236,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6978,6 +7537,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["oneOptional"]> + export type OneOptionalSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["oneOptional"]> + export type OneOptionalSelectScalar = { id?: boolean int?: boolean @@ -6994,11 +7569,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OneOptionalOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["oneOptional"]> export type OneOptionalInclude = { many?: boolean | OneOptional$manyArgs _count?: boolean | OneOptionalCountOutputTypeDefaultArgs } export type OneOptionalIncludeCreateManyAndReturn = {} + export type OneOptionalIncludeUpdateManyAndReturn = {} export type $OneOptionalPayload = { name: "OneOptional" @@ -7025,12 +7602,12 @@ export namespace Prisma { type OneOptionalGetPayload = $Result.GetResult - type OneOptionalCountArgs = - Omit & { + type OneOptionalCountArgs = + Omit & { select?: OneOptionalCountAggregateInputType | true } - export interface OneOptionalDelegate { + export interface OneOptionalDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['OneOptional'], meta: { name: 'OneOptional' } } /** * Find zero or one OneOptional that matches the filter. @@ -7043,10 +7620,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OneOptionalFindUniqueOrThrowArgs} args - Arguments to find a OneOptional * @example @@ -7057,7 +7634,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter. @@ -7072,7 +7649,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter or @@ -7088,7 +7665,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OneOptionals that matches the filter. @@ -7106,7 +7683,7 @@ export namespace Prisma { * const oneOptionalWithIdOnly = await prisma.oneOptional.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OneOptional. @@ -7120,7 +7697,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OneOptionals. @@ -7148,7 +7725,7 @@ export namespace Prisma { * }) * * // Create many OneOptionals and only return the \`id\` - * const oneOptionalWithIdOnly = await prisma.oneOptional.createManyAndReturn({ + * const oneOptionalWithIdOnly = await prisma.oneOptional.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -7158,7 +7735,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a OneOptional. @@ -7172,7 +7749,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OneOptional. @@ -7189,7 +7766,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OneOptionals. @@ -7224,6 +7801,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more OneOptionals and returns the data updated in the database. + * @param {OneOptionalUpdateManyAndReturnArgs} args - Arguments to update many OneOptionals. + * @example + * // Update many OneOptionals + * const oneOptional = await prisma.oneOptional.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more OneOptionals and only return the \`id\` + * const oneOptionalWithIdOnly = await prisma.oneOptional.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one OneOptional. * @param {OneOptionalUpsertArgs} args - Arguments to update or create a OneOptional. @@ -7241,7 +7848,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -7381,35 +7988,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OneOptional model */ @@ -7440,7 +8046,11 @@ export namespace Prisma { */ select?: OneOptionalSelect | null /** - * Choose, which related nodes to fetch as well + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null + /** + * Choose, which related nodes to fetch as well */ include?: OneOptionalInclude | null /** @@ -7457,6 +8067,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7475,6 +8089,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7523,6 +8141,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7571,6 +8193,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7614,6 +8240,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7643,6 +8273,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelectCreateManyAndReturn | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * The data used to create many OneOptionals. */ @@ -7658,6 +8292,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7684,6 +8322,36 @@ export namespace Prisma { * Filter which OneOptionals to update */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to update. + */ + limit?: number + } + + /** + * OneOptional updateManyAndReturn + */ + export type OneOptionalUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the OneOptional + */ + select?: OneOptionalSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null + /** + * The data used to update OneOptionals. + */ + data: XOR + /** + * Filter which OneOptionals to update + */ + where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to update. + */ + limit?: number } /** @@ -7694,6 +8362,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7720,6 +8392,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7738,6 +8414,10 @@ export namespace Prisma { * Filter which OneOptionals to delete */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to delete. + */ + limit?: number } /** @@ -7748,6 +8428,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7768,6 +8452,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8078,6 +8766,24 @@ export namespace Prisma { one?: boolean | ManyRequired$oneArgs }, ExtArgs["result"]["manyRequired"]> + export type ManyRequiredSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + oneOptionalId?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + one?: boolean | ManyRequired$oneArgs + }, ExtArgs["result"]["manyRequired"]> + export type ManyRequiredSelectScalar = { id?: boolean oneOptionalId?: boolean @@ -8095,12 +8801,16 @@ export namespace Prisma { optionalBoolean?: boolean } + export type ManyRequiredOmit = $Extensions.GetOmit<"id" | "oneOptionalId" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["manyRequired"]> export type ManyRequiredInclude = { one?: boolean | ManyRequired$oneArgs } export type ManyRequiredIncludeCreateManyAndReturn = { one?: boolean | ManyRequired$oneArgs } + export type ManyRequiredIncludeUpdateManyAndReturn = { + one?: boolean | ManyRequired$oneArgs + } export type $ManyRequiredPayload = { name: "ManyRequired" @@ -8128,12 +8838,12 @@ export namespace Prisma { type ManyRequiredGetPayload = $Result.GetResult - type ManyRequiredCountArgs = - Omit & { + type ManyRequiredCountArgs = + Omit & { select?: ManyRequiredCountAggregateInputType | true } - export interface ManyRequiredDelegate { + export interface ManyRequiredDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ManyRequired'], meta: { name: 'ManyRequired' } } /** * Find zero or one ManyRequired that matches the filter. @@ -8146,10 +8856,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` + * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {ManyRequiredFindUniqueOrThrowArgs} args - Arguments to find a ManyRequired * @example @@ -8160,7 +8870,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter. @@ -8175,7 +8885,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter or @@ -8191,7 +8901,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more ManyRequireds that matches the filter. @@ -8209,7 +8919,7 @@ export namespace Prisma { * const manyRequiredWithIdOnly = await prisma.manyRequired.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a ManyRequired. @@ -8223,7 +8933,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many ManyRequireds. @@ -8251,7 +8961,7 @@ export namespace Prisma { * }) * * // Create many ManyRequireds and only return the \`id\` - * const manyRequiredWithIdOnly = await prisma.manyRequired.createManyAndReturn({ + * const manyRequiredWithIdOnly = await prisma.manyRequired.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -8261,7 +8971,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a ManyRequired. @@ -8275,7 +8985,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one ManyRequired. @@ -8292,7 +9002,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more ManyRequireds. @@ -8327,6 +9037,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more ManyRequireds and returns the data updated in the database. + * @param {ManyRequiredUpdateManyAndReturnArgs} args - Arguments to update many ManyRequireds. + * @example + * // Update many ManyRequireds + * const manyRequired = await prisma.manyRequired.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more ManyRequireds and only return the \`id\` + * const manyRequiredWithIdOnly = await prisma.manyRequired.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one ManyRequired. * @param {ManyRequiredUpsertArgs} args - Arguments to update or create a ManyRequired. @@ -8344,7 +9084,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -8484,35 +9224,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the ManyRequired model */ @@ -8543,6 +9282,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8561,6 +9304,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8579,6 +9326,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8627,6 +9378,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8675,6 +9430,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8718,6 +9477,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8747,6 +9510,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * The data used to create many ManyRequireds. */ @@ -8766,6 +9533,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8792,6 +9563,40 @@ export namespace Prisma { * Filter which ManyRequireds to update */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to update. + */ + limit?: number + } + + /** + * ManyRequired updateManyAndReturn + */ + export type ManyRequiredUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the ManyRequired + */ + select?: ManyRequiredSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null + /** + * The data used to update ManyRequireds. + */ + data: XOR + /** + * Filter which ManyRequireds to update + */ + where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: ManyRequiredIncludeUpdateManyAndReturn | null } /** @@ -8802,6 +9607,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8828,6 +9637,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8846,6 +9659,10 @@ export namespace Prisma { * Filter which ManyRequireds to delete */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to delete. + */ + limit?: number } /** @@ -8856,6 +9673,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8871,6 +9692,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9181,6 +10006,24 @@ export namespace Prisma { opti?: boolean | OptionalSide1$optiArgs }, ExtArgs["result"]["optionalSide1"]> + export type OptionalSide1SelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + optionalSide2Id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + opti?: boolean | OptionalSide1$optiArgs + }, ExtArgs["result"]["optionalSide1"]> + export type OptionalSide1SelectScalar = { id?: boolean optionalSide2Id?: boolean @@ -9198,12 +10041,16 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide1Omit = $Extensions.GetOmit<"id" | "optionalSide2Id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide1"]> export type OptionalSide1Include = { opti?: boolean | OptionalSide1$optiArgs } export type OptionalSide1IncludeCreateManyAndReturn = { opti?: boolean | OptionalSide1$optiArgs } + export type OptionalSide1IncludeUpdateManyAndReturn = { + opti?: boolean | OptionalSide1$optiArgs + } export type $OptionalSide1Payload = { name: "OptionalSide1" @@ -9231,12 +10078,12 @@ export namespace Prisma { type OptionalSide1GetPayload = $Result.GetResult - type OptionalSide1CountArgs = - Omit & { + type OptionalSide1CountArgs = + Omit & { select?: OptionalSide1CountAggregateInputType | true } - export interface OptionalSide1Delegate { + export interface OptionalSide1Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide1'], meta: { name: 'OptionalSide1' } } /** * Find zero or one OptionalSide1 that matches the filter. @@ -9249,10 +10096,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide1FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide1 * @example @@ -9263,7 +10110,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter. @@ -9278,7 +10125,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter or @@ -9294,7 +10141,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide1s that matches the filter. @@ -9312,7 +10159,7 @@ export namespace Prisma { * const optionalSide1WithIdOnly = await prisma.optionalSide1.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide1. @@ -9326,7 +10173,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide1s. @@ -9354,7 +10201,7 @@ export namespace Prisma { * }) * * // Create many OptionalSide1s and only return the \`id\` - * const optionalSide1WithIdOnly = await prisma.optionalSide1.createManyAndReturn({ + * const optionalSide1WithIdOnly = await prisma.optionalSide1.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -9364,7 +10211,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a OptionalSide1. @@ -9378,7 +10225,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide1. @@ -9395,7 +10242,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide1s. @@ -9430,6 +10277,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more OptionalSide1s and returns the data updated in the database. + * @param {OptionalSide1UpdateManyAndReturnArgs} args - Arguments to update many OptionalSide1s. + * @example + * // Update many OptionalSide1s + * const optionalSide1 = await prisma.optionalSide1.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more OptionalSide1s and only return the \`id\` + * const optionalSide1WithIdOnly = await prisma.optionalSide1.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one OptionalSide1. * @param {OptionalSide1UpsertArgs} args - Arguments to update or create a OptionalSide1. @@ -9447,7 +10324,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -9587,35 +10464,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide1 model */ @@ -9646,6 +10522,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9664,6 +10544,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9682,6 +10566,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9730,6 +10618,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9778,6 +10670,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9821,6 +10717,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9850,6 +10750,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1SelectCreateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * The data used to create many OptionalSide1s. */ @@ -9869,6 +10773,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9895,6 +10803,40 @@ export namespace Prisma { * Filter which OptionalSide1s to update */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to update. + */ + limit?: number + } + + /** + * OptionalSide1 updateManyAndReturn + */ + export type OptionalSide1UpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the OptionalSide1 + */ + select?: OptionalSide1SelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null + /** + * The data used to update OptionalSide1s. + */ + data: XOR + /** + * Filter which OptionalSide1s to update + */ + where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: OptionalSide1IncludeUpdateManyAndReturn | null } /** @@ -9905,6 +10847,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9931,6 +10877,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9949,6 +10899,10 @@ export namespace Prisma { * Filter which OptionalSide1s to delete */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to delete. + */ + limit?: number } /** @@ -9959,6 +10913,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9974,6 +10932,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10270,6 +11232,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["optionalSide2"]> + export type OptionalSide2SelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["optionalSide2"]> + export type OptionalSide2SelectScalar = { id?: boolean int?: boolean @@ -10286,10 +11264,12 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide2Omit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide2"]> export type OptionalSide2Include = { opti?: boolean | OptionalSide2$optiArgs } export type OptionalSide2IncludeCreateManyAndReturn = {} + export type OptionalSide2IncludeUpdateManyAndReturn = {} export type $OptionalSide2Payload = { name: "OptionalSide2" @@ -10316,12 +11296,12 @@ export namespace Prisma { type OptionalSide2GetPayload = $Result.GetResult - type OptionalSide2CountArgs = - Omit & { + type OptionalSide2CountArgs = + Omit & { select?: OptionalSide2CountAggregateInputType | true } - export interface OptionalSide2Delegate { + export interface OptionalSide2Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide2'], meta: { name: 'OptionalSide2' } } /** * Find zero or one OptionalSide2 that matches the filter. @@ -10334,10 +11314,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide2FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide2 * @example @@ -10348,7 +11328,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter. @@ -10363,7 +11343,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter or @@ -10379,7 +11359,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide2s that matches the filter. @@ -10397,7 +11377,7 @@ export namespace Prisma { * const optionalSide2WithIdOnly = await prisma.optionalSide2.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide2. @@ -10411,7 +11391,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide2s. @@ -10439,7 +11419,7 @@ export namespace Prisma { * }) * * // Create many OptionalSide2s and only return the \`id\` - * const optionalSide2WithIdOnly = await prisma.optionalSide2.createManyAndReturn({ + * const optionalSide2WithIdOnly = await prisma.optionalSide2.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -10449,7 +11429,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a OptionalSide2. @@ -10463,7 +11443,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide2. @@ -10480,7 +11460,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide2s. @@ -10516,7 +11496,37 @@ export namespace Prisma { updateMany(args: SelectSubset>): Prisma.PrismaPromise /** - * Create or update one OptionalSide2. + * Update zero or more OptionalSide2s and returns the data updated in the database. + * @param {OptionalSide2UpdateManyAndReturnArgs} args - Arguments to update many OptionalSide2s. + * @example + * // Update many OptionalSide2s + * const optionalSide2 = await prisma.optionalSide2.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more OptionalSide2s and only return the \`id\` + * const optionalSide2WithIdOnly = await prisma.optionalSide2.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + + /** + * Create or update one OptionalSide2. * @param {OptionalSide2UpsertArgs} args - Arguments to update or create a OptionalSide2. * @example * // Update or create a OptionalSide2 @@ -10532,7 +11542,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -10672,35 +11682,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide2 model */ @@ -10730,6 +11739,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10748,6 +11761,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10766,6 +11783,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10814,6 +11835,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10862,6 +11887,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10905,6 +11934,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10934,6 +11967,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2SelectCreateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * The data used to create many OptionalSide2s. */ @@ -10949,6 +11986,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10975,6 +12016,36 @@ export namespace Prisma { * Filter which OptionalSide2s to update */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to update. + */ + limit?: number + } + + /** + * OptionalSide2 updateManyAndReturn + */ + export type OptionalSide2UpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the OptionalSide2 + */ + select?: OptionalSide2SelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null + /** + * The data used to update OptionalSide2s. + */ + data: XOR + /** + * Filter which OptionalSide2s to update + */ + where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to update. + */ + limit?: number } /** @@ -10985,6 +12056,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11011,6 +12086,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11029,6 +12108,10 @@ export namespace Prisma { * Filter which OptionalSide2s to delete */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to delete. + */ + limit?: number } /** @@ -11039,6 +12122,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11054,6 +12141,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11325,6 +12416,18 @@ export namespace Prisma { inc_bInt?: boolean }, ExtArgs["result"]["a"]> + export type ASelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + email?: boolean + name?: boolean + int?: boolean + sInt?: boolean + bInt?: boolean + inc_int?: boolean + inc_sInt?: boolean + inc_bInt?: boolean + }, ExtArgs["result"]["a"]> + export type ASelectScalar = { id?: boolean email?: boolean @@ -11337,6 +12440,7 @@ export namespace Prisma { inc_bInt?: boolean } + export type AOmit = $Extensions.GetOmit<"id" | "email" | "name" | "int" | "sInt" | "bInt" | "inc_int" | "inc_sInt" | "inc_bInt", ExtArgs["result"]["a"]> export type $APayload = { name: "A" @@ -11363,12 +12467,12 @@ export namespace Prisma { type AGetPayload = $Result.GetResult - type ACountArgs = - Omit & { + type ACountArgs = + Omit & { select?: ACountAggregateInputType | true } - export interface ADelegate { + export interface ADelegate { [K: symbol]: { types: Prisma.TypeMap['model']['A'], meta: { name: 'A' } } /** * Find zero or one A that matches the filter. @@ -11381,10 +12485,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one A that matches the filter or throw an error with \`error.code='P2025'\` + * Find one A that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {AFindUniqueOrThrowArgs} args - Arguments to find a A * @example @@ -11395,7 +12499,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first A that matches the filter. @@ -11410,7 +12514,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first A that matches the filter or @@ -11426,7 +12530,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more As that matches the filter. @@ -11444,7 +12548,7 @@ export namespace Prisma { * const aWithIdOnly = await prisma.a.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a A. @@ -11458,7 +12562,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many As. @@ -11486,7 +12590,7 @@ export namespace Prisma { * }) * * // Create many As and only return the \`id\` - * const aWithIdOnly = await prisma.a.createManyAndReturn({ + * const aWithIdOnly = await prisma.a.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -11496,7 +12600,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a A. @@ -11510,7 +12614,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one A. @@ -11527,7 +12631,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more As. @@ -11562,6 +12666,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more As and returns the data updated in the database. + * @param {AUpdateManyAndReturnArgs} args - Arguments to update many As. + * @example + * // Update many As + * const a = await prisma.a.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more As and only return the \`id\` + * const aWithIdOnly = await prisma.a.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one A. * @param {AUpsertArgs} args - Arguments to update or create a A. @@ -11579,7 +12713,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -11719,34 +12853,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__AClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__AClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the A model */ @@ -11772,6 +12905,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11786,6 +12923,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11800,6 +12941,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11844,6 +12989,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11888,6 +13037,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which AS to fetch. */ @@ -11927,6 +13080,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to create a A. */ @@ -11952,6 +13109,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelectCreateManyAndReturn | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data used to create many AS. */ @@ -11967,6 +13128,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to update a A. */ @@ -11989,6 +13154,36 @@ export namespace Prisma { * Filter which AS to update */ where?: AWhereInput + /** + * Limit how many AS to update. + */ + limit?: number + } + + /** + * A updateManyAndReturn + */ + export type AUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the A + */ + select?: ASelectUpdateManyAndReturn | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null + /** + * The data used to update AS. + */ + data: XOR + /** + * Filter which AS to update + */ + where?: AWhereInput + /** + * Limit how many AS to update. + */ + limit?: number } /** @@ -11999,6 +13194,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The filter to search for the A to update in case it exists. */ @@ -12021,6 +13220,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter which A to delete. */ @@ -12035,6 +13238,10 @@ export namespace Prisma { * Filter which AS to delete */ where?: AWhereInput + /** + * Limit how many AS to delete. + */ + limit?: number } /** @@ -12045,6 +13252,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null } @@ -12268,6 +13479,14 @@ export namespace Prisma { numFloat?: boolean }, ExtArgs["result"]["b"]> + export type BSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + float?: boolean + dFloat?: boolean + decFloat?: boolean + numFloat?: boolean + }, ExtArgs["result"]["b"]> + export type BSelectScalar = { id?: boolean float?: boolean @@ -12276,6 +13495,7 @@ export namespace Prisma { numFloat?: boolean } + export type BOmit = $Extensions.GetOmit<"id" | "float" | "dFloat" | "decFloat" | "numFloat", ExtArgs["result"]["b"]> export type $BPayload = { name: "B" @@ -12292,12 +13512,12 @@ export namespace Prisma { type BGetPayload = $Result.GetResult - type BCountArgs = - Omit & { + type BCountArgs = + Omit & { select?: BCountAggregateInputType | true } - export interface BDelegate { + export interface BDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['B'], meta: { name: 'B' } } /** * Find zero or one B that matches the filter. @@ -12310,10 +13530,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one B that matches the filter or throw an error with \`error.code='P2025'\` + * Find one B that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {BFindUniqueOrThrowArgs} args - Arguments to find a B * @example @@ -12324,7 +13544,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first B that matches the filter. @@ -12339,7 +13559,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first B that matches the filter or @@ -12355,7 +13575,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Bs that matches the filter. @@ -12373,7 +13593,7 @@ export namespace Prisma { * const bWithIdOnly = await prisma.b.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a B. @@ -12387,7 +13607,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Bs. @@ -12415,7 +13635,7 @@ export namespace Prisma { * }) * * // Create many Bs and only return the \`id\` - * const bWithIdOnly = await prisma.b.createManyAndReturn({ + * const bWithIdOnly = await prisma.b.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -12425,7 +13645,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a B. @@ -12439,7 +13659,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one B. @@ -12456,7 +13676,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Bs. @@ -12491,6 +13711,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Bs and returns the data updated in the database. + * @param {BUpdateManyAndReturnArgs} args - Arguments to update many Bs. + * @example + * // Update many Bs + * const b = await prisma.b.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Bs and only return the \`id\` + * const bWithIdOnly = await prisma.b.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one B. * @param {BUpsertArgs} args - Arguments to update or create a B. @@ -12508,7 +13758,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -12648,34 +13898,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__BClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__BClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the B model */ @@ -12697,6 +13946,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12711,6 +13964,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12725,6 +13982,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12769,6 +14030,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12813,6 +14078,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which BS to fetch. */ @@ -12852,6 +14121,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to create a B. */ @@ -12877,6 +14150,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelectCreateManyAndReturn | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data used to create many BS. */ @@ -12892,6 +14169,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to update a B. */ @@ -12914,6 +14195,36 @@ export namespace Prisma { * Filter which BS to update */ where?: BWhereInput + /** + * Limit how many BS to update. + */ + limit?: number + } + + /** + * B updateManyAndReturn + */ + export type BUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the B + */ + select?: BSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null + /** + * The data used to update BS. + */ + data: XOR + /** + * Filter which BS to update + */ + where?: BWhereInput + /** + * Limit how many BS to update. + */ + limit?: number } /** @@ -12924,6 +14235,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The filter to search for the B to update in case it exists. */ @@ -12946,6 +14261,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter which B to delete. */ @@ -12960,6 +14279,10 @@ export namespace Prisma { * Filter which BS to delete */ where?: BWhereInput + /** + * Limit how many BS to delete. + */ + limit?: number } /** @@ -12970,6 +14293,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null } @@ -13165,6 +14492,16 @@ export namespace Prisma { uuid?: boolean }, ExtArgs["result"]["c"]> + export type CSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + char?: boolean + vChar?: boolean + text?: boolean + bit?: boolean + vBit?: boolean + uuid?: boolean + }, ExtArgs["result"]["c"]> + export type CSelectScalar = { id?: boolean char?: boolean @@ -13175,6 +14512,7 @@ export namespace Prisma { uuid?: boolean } + export type COmit = $Extensions.GetOmit<"id" | "char" | "vChar" | "text" | "bit" | "vBit" | "uuid", ExtArgs["result"]["c"]> export type $CPayload = { name: "C" @@ -13193,12 +14531,12 @@ export namespace Prisma { type CGetPayload = $Result.GetResult - type CCountArgs = - Omit & { + type CCountArgs = + Omit & { select?: CCountAggregateInputType | true } - export interface CDelegate { + export interface CDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['C'], meta: { name: 'C' } } /** * Find zero or one C that matches the filter. @@ -13211,10 +14549,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one C that matches the filter or throw an error with \`error.code='P2025'\` + * Find one C that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {CFindUniqueOrThrowArgs} args - Arguments to find a C * @example @@ -13225,7 +14563,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first C that matches the filter. @@ -13240,7 +14578,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first C that matches the filter or @@ -13256,7 +14594,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Cs that matches the filter. @@ -13274,7 +14612,7 @@ export namespace Prisma { * const cWithIdOnly = await prisma.c.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a C. @@ -13288,7 +14626,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Cs. @@ -13316,7 +14654,7 @@ export namespace Prisma { * }) * * // Create many Cs and only return the \`id\` - * const cWithIdOnly = await prisma.c.createManyAndReturn({ + * const cWithIdOnly = await prisma.c.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -13326,7 +14664,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a C. @@ -13340,7 +14678,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one C. @@ -13357,7 +14695,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Cs. @@ -13392,6 +14730,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Cs and returns the data updated in the database. + * @param {CUpdateManyAndReturnArgs} args - Arguments to update many Cs. + * @example + * // Update many Cs + * const c = await prisma.c.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Cs and only return the \`id\` + * const cWithIdOnly = await prisma.c.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one C. * @param {CUpsertArgs} args - Arguments to update or create a C. @@ -13409,7 +14777,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -13549,34 +14917,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__CClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__CClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the C model */ @@ -13600,6 +14967,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13614,6 +14985,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13628,6 +15003,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13672,6 +15051,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13716,6 +15099,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which CS to fetch. */ @@ -13755,6 +15142,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to create a C. */ @@ -13780,6 +15171,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelectCreateManyAndReturn | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data used to create many CS. */ @@ -13795,6 +15190,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to update a C. */ @@ -13817,6 +15216,36 @@ export namespace Prisma { * Filter which CS to update */ where?: CWhereInput + /** + * Limit how many CS to update. + */ + limit?: number + } + + /** + * C updateManyAndReturn + */ + export type CUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the C + */ + select?: CSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null + /** + * The data used to update CS. + */ + data: XOR + /** + * Filter which CS to update + */ + where?: CWhereInput + /** + * Limit how many CS to update. + */ + limit?: number } /** @@ -13827,6 +15256,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The filter to search for the C to update in case it exists. */ @@ -13849,6 +15282,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter which C to delete. */ @@ -13863,6 +15300,10 @@ export namespace Prisma { * Filter which CS to delete */ where?: CWhereInput + /** + * Limit how many CS to delete. + */ + limit?: number } /** @@ -13873,6 +15314,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null } @@ -13899,14 +15344,14 @@ export namespace Prisma { export type DMinAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } export type DMaxAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } @@ -14044,7 +15489,7 @@ export namespace Prisma { export type DGroupByOutputType = { id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonValue jsonb: JsonValue @@ -14090,6 +15535,16 @@ export namespace Prisma { list?: boolean }, ExtArgs["result"]["d"]> + export type DSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + bool?: boolean + byteA?: boolean + xml?: boolean + json?: boolean + jsonb?: boolean + list?: boolean + }, ExtArgs["result"]["d"]> + export type DSelectScalar = { id?: boolean bool?: boolean @@ -14100,6 +15555,7 @@ export namespace Prisma { list?: boolean } + export type DOmit = $Extensions.GetOmit<"id" | "bool" | "byteA" | "xml" | "json" | "jsonb" | "list", ExtArgs["result"]["d"]> export type $DPayload = { name: "D" @@ -14107,7 +15563,7 @@ export namespace Prisma { scalars: $Extensions.GetPayloadResult<{ id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: Prisma.JsonValue jsonb: Prisma.JsonValue @@ -14118,12 +15574,12 @@ export namespace Prisma { type DGetPayload = $Result.GetResult - type DCountArgs = - Omit & { + type DCountArgs = + Omit & { select?: DCountAggregateInputType | true } - export interface DDelegate { + export interface DDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['D'], meta: { name: 'D' } } /** * Find zero or one D that matches the filter. @@ -14136,10 +15592,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one D that matches the filter or throw an error with \`error.code='P2025'\` + * Find one D that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {DFindUniqueOrThrowArgs} args - Arguments to find a D * @example @@ -14150,7 +15606,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first D that matches the filter. @@ -14165,7 +15621,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first D that matches the filter or @@ -14181,7 +15637,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ds that matches the filter. @@ -14199,7 +15655,7 @@ export namespace Prisma { * const dWithIdOnly = await prisma.d.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a D. @@ -14213,7 +15669,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ds. @@ -14241,7 +15697,7 @@ export namespace Prisma { * }) * * // Create many Ds and only return the \`id\` - * const dWithIdOnly = await prisma.d.createManyAndReturn({ + * const dWithIdOnly = await prisma.d.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -14251,7 +15707,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a D. @@ -14265,7 +15721,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one D. @@ -14282,7 +15738,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ds. @@ -14317,6 +15773,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Ds and returns the data updated in the database. + * @param {DUpdateManyAndReturnArgs} args - Arguments to update many Ds. + * @example + * // Update many Ds + * const d = await prisma.d.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Ds and only return the \`id\` + * const dWithIdOnly = await prisma.d.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one D. * @param {DUpsertArgs} args - Arguments to update or create a D. @@ -14334,7 +15820,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -14474,34 +15960,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__DClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__DClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the D model */ @@ -14525,6 +16010,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14539,6 +16028,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14553,6 +16046,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14597,6 +16094,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14641,6 +16142,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which DS to fetch. */ @@ -14680,6 +16185,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to create a D. */ @@ -14705,6 +16214,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelectCreateManyAndReturn | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data used to create many DS. */ @@ -14720,6 +16233,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to update a D. */ @@ -14742,6 +16259,36 @@ export namespace Prisma { * Filter which DS to update */ where?: DWhereInput + /** + * Limit how many DS to update. + */ + limit?: number + } + + /** + * D updateManyAndReturn + */ + export type DUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the D + */ + select?: DSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null + /** + * The data used to update DS. + */ + data: XOR + /** + * Filter which DS to update + */ + where?: DWhereInput + /** + * Limit how many DS to update. + */ + limit?: number } /** @@ -14752,6 +16299,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The filter to search for the D to update in case it exists. */ @@ -14774,6 +16325,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter which D to delete. */ @@ -14788,6 +16343,10 @@ export namespace Prisma { * Filter which DS to delete */ where?: DWhereInput + /** + * Limit how many DS to delete. + */ + limit?: number } /** @@ -14798,6 +16357,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null } @@ -14966,6 +16529,13 @@ export namespace Prisma { ts?: boolean }, ExtArgs["result"]["e"]> + export type ESelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + time?: boolean + ts?: boolean + }, ExtArgs["result"]["e"]> + export type ESelectScalar = { id?: boolean date?: boolean @@ -14973,6 +16543,7 @@ export namespace Prisma { ts?: boolean } + export type EOmit = $Extensions.GetOmit<"id" | "date" | "time" | "ts", ExtArgs["result"]["e"]> export type $EPayload = { name: "E" @@ -14988,12 +16559,12 @@ export namespace Prisma { type EGetPayload = $Result.GetResult - type ECountArgs = - Omit & { + type ECountArgs = + Omit & { select?: ECountAggregateInputType | true } - export interface EDelegate { + export interface EDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['E'], meta: { name: 'E' } } /** * Find zero or one E that matches the filter. @@ -15006,10 +16577,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one E that matches the filter or throw an error with \`error.code='P2025'\` + * Find one E that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {EFindUniqueOrThrowArgs} args - Arguments to find a E * @example @@ -15020,7 +16591,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first E that matches the filter. @@ -15035,7 +16606,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first E that matches the filter or @@ -15051,7 +16622,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Es that matches the filter. @@ -15069,7 +16640,7 @@ export namespace Prisma { * const eWithIdOnly = await prisma.e.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a E. @@ -15083,7 +16654,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Es. @@ -15111,7 +16682,7 @@ export namespace Prisma { * }) * * // Create many Es and only return the \`id\` - * const eWithIdOnly = await prisma.e.createManyAndReturn({ + * const eWithIdOnly = await prisma.e.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -15121,7 +16692,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a E. @@ -15135,7 +16706,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one E. @@ -15152,7 +16723,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Es. @@ -15187,6 +16758,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Es and returns the data updated in the database. + * @param {EUpdateManyAndReturnArgs} args - Arguments to update many Es. + * @example + * // Update many Es + * const e = await prisma.e.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Es and only return the \`id\` + * const eWithIdOnly = await prisma.e.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one E. * @param {EUpsertArgs} args - Arguments to update or create a E. @@ -15204,7 +16805,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -15344,34 +16945,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__EClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__EClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the E model */ @@ -15392,6 +16992,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15406,6 +17010,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15420,6 +17028,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15464,6 +17076,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15508,6 +17124,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which ES to fetch. */ @@ -15547,6 +17167,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to create a E. */ @@ -15572,6 +17196,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelectCreateManyAndReturn | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data used to create many ES. */ @@ -15587,6 +17215,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to update a E. */ @@ -15609,6 +17241,36 @@ export namespace Prisma { * Filter which ES to update */ where?: EWhereInput + /** + * Limit how many ES to update. + */ + limit?: number + } + + /** + * E updateManyAndReturn + */ + export type EUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the E + */ + select?: ESelectUpdateManyAndReturn | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null + /** + * The data used to update ES. + */ + data: XOR + /** + * Filter which ES to update + */ + where?: EWhereInput + /** + * Limit how many ES to update. + */ + limit?: number } /** @@ -15619,6 +17281,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The filter to search for the E to update in case it exists. */ @@ -15641,6 +17307,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter which E to delete. */ @@ -15655,6 +17325,10 @@ export namespace Prisma { * Filter which ES to delete */ where?: EWhereInput + /** + * Limit how many ES to delete. + */ + limit?: number } /** @@ -15665,6 +17339,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null } @@ -16084,7 +17762,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: IntFilter<"Post"> | number - author?: XOR + author?: XOR } export type PostOrderByWithRelationInput = { @@ -16107,7 +17785,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: IntFilter<"Post"> | number - author?: XOR + author?: XOR }, "id"> export type PostOrderByWithAggregationInput = { @@ -16547,7 +18225,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null } export type ManyRequiredOrderByWithRelationInput = { @@ -16586,7 +18264,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null }, "id"> export type ManyRequiredOrderByWithAggregationInput = { @@ -16649,7 +18327,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide1OrderByWithRelationInput = { @@ -16688,7 +18366,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id" | "optionalSide2Id"> export type OptionalSide1OrderByWithAggregationInput = { @@ -16750,7 +18428,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide2OrderByWithRelationInput = { @@ -16787,7 +18465,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id"> export type OptionalSide2OrderByWithAggregationInput = { @@ -17026,7 +18704,7 @@ export namespace Prisma { NOT?: DWhereInput | DWhereInput[] id?: StringFilter<"D"> | string bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -17049,7 +18727,7 @@ export namespace Prisma { OR?: DWhereInput[] NOT?: DWhereInput | DWhereInput[] bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -17077,7 +18755,7 @@ export namespace Prisma { NOT?: DScalarWhereWithAggregatesInput | DScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"D"> | string bool?: BoolWithAggregatesFilter<"D"> | boolean - byteA?: BytesWithAggregatesFilter<"D"> | Buffer + byteA?: BytesWithAggregatesFilter<"D"> | Uint8Array xml?: StringWithAggregatesFilter<"D"> | string json?: JsonWithAggregatesFilter<"D"> jsonb?: JsonWithAggregatesFilter<"D"> @@ -18205,7 +19883,7 @@ export namespace Prisma { export type DCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonNullValueInput | InputJsonValue jsonb: JsonNullValueInput | InputJsonValue @@ -18215,7 +19893,7 @@ export namespace Prisma { export type DUncheckedCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonNullValueInput | InputJsonValue jsonb: JsonNullValueInput | InputJsonValue @@ -18225,7 +19903,7 @@ export namespace Prisma { export type DUpdateInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18235,7 +19913,7 @@ export namespace Prisma { export type DUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18245,7 +19923,7 @@ export namespace Prisma { export type DCreateManyInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonNullValueInput | InputJsonValue jsonb: JsonNullValueInput | InputJsonValue @@ -18255,7 +19933,7 @@ export namespace Prisma { export type DUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18265,7 +19943,7 @@ export namespace Prisma { export type DUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18378,7 +20056,7 @@ export namespace Prisma { not?: NestedBoolFilter<$PrismaModel> | boolean } - export type UserRelationFilter = { + export type UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } @@ -18544,9 +20222,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -18566,9 +20244,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -18728,9 +20406,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -18753,9 +20431,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -19004,7 +20682,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OneOptionalNullableRelationFilter = { + export type OneOptionalNullableScalarRelationFilter = { is?: OneOptionalWhereInput | null isNot?: OneOptionalWhereInput | null } @@ -19074,7 +20752,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide2NullableRelationFilter = { + export type OptionalSide2NullableScalarRelationFilter = { is?: OptionalSide2WhereInput | null isNot?: OptionalSide2WhereInput | null } @@ -19144,7 +20822,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide1NullableRelationFilter = { + export type OptionalSide1NullableScalarRelationFilter = { is?: OptionalSide1WhereInput | null isNot?: OptionalSide1WhereInput | null } @@ -19413,10 +21091,10 @@ export namespace Prisma { } export type BytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type IntNullableListFilter<$PrismaModel = never> = { @@ -19460,10 +21138,10 @@ export namespace Prisma { } export type BytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -19809,7 +21487,7 @@ export namespace Prisma { } export type BytesFieldUpdateOperationsInput = { - set?: Buffer + set?: Uint8Array } export type DUpdatelistInput = { @@ -20056,9 +21734,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -20078,9 +21756,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -20196,17 +21874,17 @@ export namespace Prisma { } export type NestedBytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type NestedBytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -20990,78 +22668,6 @@ export namespace Prisma { - /** - * Aliases for legacy arg types - */ - /** - * @deprecated Use UserCountOutputTypeDefaultArgs instead - */ - export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs - /** - * @deprecated Use MCountOutputTypeDefaultArgs instead - */ - export type MCountOutputTypeArgs = MCountOutputTypeDefaultArgs - /** - * @deprecated Use NCountOutputTypeDefaultArgs instead - */ - export type NCountOutputTypeArgs = NCountOutputTypeDefaultArgs - /** - * @deprecated Use OneOptionalCountOutputTypeDefaultArgs instead - */ - export type OneOptionalCountOutputTypeArgs = OneOptionalCountOutputTypeDefaultArgs - /** - * @deprecated Use PostDefaultArgs instead - */ - export type PostArgs = PostDefaultArgs - /** - * @deprecated Use UserDefaultArgs instead - */ - export type UserArgs = UserDefaultArgs - /** - * @deprecated Use MDefaultArgs instead - */ - export type MArgs = MDefaultArgs - /** - * @deprecated Use NDefaultArgs instead - */ - export type NArgs = NDefaultArgs - /** - * @deprecated Use OneOptionalDefaultArgs instead - */ - export type OneOptionalArgs = OneOptionalDefaultArgs - /** - * @deprecated Use ManyRequiredDefaultArgs instead - */ - export type ManyRequiredArgs = ManyRequiredDefaultArgs - /** - * @deprecated Use OptionalSide1DefaultArgs instead - */ - export type OptionalSide1Args = OptionalSide1DefaultArgs - /** - * @deprecated Use OptionalSide2DefaultArgs instead - */ - export type OptionalSide2Args = OptionalSide2DefaultArgs - /** - * @deprecated Use ADefaultArgs instead - */ - export type AArgs = ADefaultArgs - /** - * @deprecated Use BDefaultArgs instead - */ - export type BArgs = BDefaultArgs - /** - * @deprecated Use CDefaultArgs instead - */ - export type CArgs = CDefaultArgs - /** - * @deprecated Use DDefaultArgs instead - */ - export type DArgs = DDefaultArgs - /** - * @deprecated Use EDefaultArgs instead - */ - export type EArgs = EDefaultArgs - /** * Batch Payload for updateMany & deleteMany & createMany */ diff --git a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/library.test.ts.snap b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/library.test.ts.snap index 49bcde05dbcc..068f94e42783 100644 --- a/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/library.test.ts.snap +++ b/packages/client/src/__tests__/integration/happy/not-so-exhaustive-schema/__snapshots__/library.test.ts.snap @@ -10,6 +10,7 @@ const { makeStrictEnum, Public, getRuntime, + skip } = require('@prisma/client/runtime/index-browser.js') @@ -52,11 +53,6 @@ Prisma.PrismaClientValidationError = () => { throw new Error(\`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, )} -Prisma.NotFoundError = () => { - const runtimeName = getRuntime().prettyName; - throw new Error(\`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in \${runtimeName}). -In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report\`, -)} Prisma.Decimal = Decimal /** @@ -111,6 +107,8 @@ Prisma.NullTypes = { AnyNull: objectEnumValues.classes.AnyNull } + + /** * Enums */ @@ -479,7 +477,7 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -488,19 +486,19 @@ export const ABeautifulEnum: typeof $Enums.ABeautifulEnum * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< - T extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, - U = 'log' extends keyof T ? T['log'] extends Array ? Prisma.GetEvents : never : never, + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -509,11 +507,11 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ - constructor(optionsArg ?: Prisma.Subset); + constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): void; /** @@ -539,7 +537,7 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$executeRaw\`UPDATE User SET cool = \${true} WHERE email = \${'user@email.com'};\` * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; @@ -551,7 +549,7 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; @@ -562,7 +560,7 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$queryRaw\`SELECT * FROM User WHERE id = \${1} OR email = \${'user@email.com'};\` * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; @@ -574,11 +572,12 @@ export class PrismaClient< * \`\`\` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example @@ -597,7 +596,9 @@ export class PrismaClient< $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise - $extends: $Extensions.ExtendsHook<'extends', Prisma.TypeMapCb, ExtArgs> + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, ClientOptions> /** * \`prisma.post\`: Exposes CRUD operations for the **Post** model. @@ -607,7 +608,7 @@ export class PrismaClient< * const posts = await prisma.post.findMany() * \`\`\` */ - get post(): Prisma.PostDelegate; + get post(): Prisma.PostDelegate; /** * \`prisma.user\`: Exposes CRUD operations for the **User** model. @@ -617,7 +618,7 @@ export class PrismaClient< * const users = await prisma.user.findMany() * \`\`\` */ - get user(): Prisma.UserDelegate; + get user(): Prisma.UserDelegate; /** * \`prisma.m\`: Exposes CRUD operations for the **M** model. @@ -627,7 +628,7 @@ export class PrismaClient< * const ms = await prisma.m.findMany() * \`\`\` */ - get m(): Prisma.MDelegate; + get m(): Prisma.MDelegate; /** * \`prisma.n\`: Exposes CRUD operations for the **N** model. @@ -637,7 +638,7 @@ export class PrismaClient< * const ns = await prisma.n.findMany() * \`\`\` */ - get n(): Prisma.NDelegate; + get n(): Prisma.NDelegate; /** * \`prisma.oneOptional\`: Exposes CRUD operations for the **OneOptional** model. @@ -647,7 +648,7 @@ export class PrismaClient< * const oneOptionals = await prisma.oneOptional.findMany() * \`\`\` */ - get oneOptional(): Prisma.OneOptionalDelegate; + get oneOptional(): Prisma.OneOptionalDelegate; /** * \`prisma.manyRequired\`: Exposes CRUD operations for the **ManyRequired** model. @@ -657,7 +658,7 @@ export class PrismaClient< * const manyRequireds = await prisma.manyRequired.findMany() * \`\`\` */ - get manyRequired(): Prisma.ManyRequiredDelegate; + get manyRequired(): Prisma.ManyRequiredDelegate; /** * \`prisma.optionalSide1\`: Exposes CRUD operations for the **OptionalSide1** model. @@ -667,7 +668,7 @@ export class PrismaClient< * const optionalSide1s = await prisma.optionalSide1.findMany() * \`\`\` */ - get optionalSide1(): Prisma.OptionalSide1Delegate; + get optionalSide1(): Prisma.OptionalSide1Delegate; /** * \`prisma.optionalSide2\`: Exposes CRUD operations for the **OptionalSide2** model. @@ -677,7 +678,7 @@ export class PrismaClient< * const optionalSide2s = await prisma.optionalSide2.findMany() * \`\`\` */ - get optionalSide2(): Prisma.OptionalSide2Delegate; + get optionalSide2(): Prisma.OptionalSide2Delegate; /** * \`prisma.a\`: Exposes CRUD operations for the **A** model. @@ -687,7 +688,7 @@ export class PrismaClient< * const as = await prisma.a.findMany() * \`\`\` */ - get a(): Prisma.ADelegate; + get a(): Prisma.ADelegate; /** * \`prisma.b\`: Exposes CRUD operations for the **B** model. @@ -697,7 +698,7 @@ export class PrismaClient< * const bs = await prisma.b.findMany() * \`\`\` */ - get b(): Prisma.BDelegate; + get b(): Prisma.BDelegate; /** * \`prisma.c\`: Exposes CRUD operations for the **C** model. @@ -707,7 +708,7 @@ export class PrismaClient< * const cs = await prisma.c.findMany() * \`\`\` */ - get c(): Prisma.CDelegate; + get c(): Prisma.CDelegate; /** * \`prisma.d\`: Exposes CRUD operations for the **D** model. @@ -717,7 +718,7 @@ export class PrismaClient< * const ds = await prisma.d.findMany() * \`\`\` */ - get d(): Prisma.DDelegate; + get d(): Prisma.DDelegate; /** * \`prisma.e\`: Exposes CRUD operations for the **E** model. @@ -727,7 +728,7 @@ export class PrismaClient< * const es = await prisma.e.findMany() * \`\`\` */ - get e(): Prisma.EDelegate; + get e(): Prisma.EDelegate; } export namespace Prisma { @@ -748,7 +749,6 @@ export namespace Prisma { export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError - export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag @@ -759,6 +759,8 @@ export namespace Prisma { export import raw = runtime.raw export import Sql = runtime.Sql + + /** * Decimal.js */ @@ -767,7 +769,7 @@ export namespace Prisma { export type DecimalJsLike = runtime.DecimalJsLike /** - * Metrics + * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric @@ -792,69 +794,31 @@ export namespace Prisma { client: string } - export const prismaVersion: PrismaVersion + export const prismaVersion: PrismaVersion /** * Utility Types */ - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON object. - * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. - */ - export type JsonObject = {[Key in string]?: JsonValue} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON array. - */ - export interface JsonArray extends Array {} - - /** - * From https://github.com/sindresorhus/type-fest/ - * Matches any valid JSON value. - */ - export type JsonValue = string | number | boolean | JsonObject | JsonArray | null - - /** - * Matches a JSON object. - * Unlike \`JsonObject\`, this type allows undefined and read-only properties. - */ - export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null} - - /** - * Matches a JSON array. - * Unlike \`JsonArray\`, readonly arrays are assignable to this type. - */ - export interface InputJsonArray extends ReadonlyArray {} - /** - * Matches any valid value that can be used as an input for operations like - * create and update as the value of a JSON field. Unlike \`JsonValue\`, this - * type allows read-only arrays and read-only object properties and disallows - * \`null\` at the top level. - * - * \`null\` cannot be used as the value of a JSON field because its meaning - * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or - * \`Prisma.DbNull\` to clear the JSON value and set the field to the database - * NULL value instead. - * - * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values - */ - export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown } + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of \`null\` values when working with JSON fields. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of \`Prisma.DbNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.DbNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { @@ -864,9 +828,9 @@ export namespace Prisma { /** * Type of \`Prisma.JsonNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.JsonNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { @@ -876,9 +840,9 @@ export namespace Prisma { /** * Type of \`Prisma.AnyNull\`. - * + * * You cannot use other instances of this class. Please use the \`Prisma.AnyNull\` value. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { @@ -889,21 +853,21 @@ export namespace Prisma { /** * Helper for filtering JSON entries that have \`null\` on the database (empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON \`null\` values (not empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are \`Prisma.DbNull\` or \`Prisma.JsonNull\` - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull @@ -1227,83 +1191,86 @@ export namespace Prisma { db?: Datasource } - - interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs}, $Utils.Record> { - returns: Prisma.TypeMap + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { + returns: Prisma.TypeMap } - export type TypeMap = { + export type TypeMap = { meta: { - modelProps: 'post' | 'user' | 'm' | 'n' | 'oneOptional' | 'manyRequired' | 'optionalSide1' | 'optionalSide2' | 'a' | 'b' | 'c' | 'd' | 'e' + modelProps: "post" | "user" | "m" | "n" | "oneOptional" | "manyRequired" | "optionalSide1" | "optionalSide2" | "a" | "b" | "c" | "d" | "e" txIsolationLevel: Prisma.TransactionIsolationLevel - }, + } model: { Post: { payload: Prisma.$PostPayload fields: Prisma.PostFieldRefs operations: { findUnique: { - args: Prisma.PostFindUniqueArgs, + args: Prisma.PostFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.PostFindUniqueOrThrowArgs, + args: Prisma.PostFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.PostFindFirstArgs, + args: Prisma.PostFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.PostFindFirstOrThrowArgs, + args: Prisma.PostFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.PostFindManyArgs, + args: Prisma.PostFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.PostCreateArgs, + args: Prisma.PostCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.PostCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.PostCreateManyAndReturnArgs, + args: Prisma.PostCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.PostDeleteArgs, + args: Prisma.PostDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.PostUpdateArgs, + args: Prisma.PostUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.PostDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.PostUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.PostUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PostUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.PostUpsertArgs, + args: Prisma.PostUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.PostAggregateArgs, + args: Prisma.PostAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.PostGroupByArgs, + args: Prisma.PostGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.PostCountArgs, + args: Prisma.PostCountArgs result: $Utils.Optional | number } } @@ -1313,67 +1280,71 @@ export namespace Prisma { fields: Prisma.UserFieldRefs operations: { findUnique: { - args: Prisma.UserFindUniqueArgs, + args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.UserFindUniqueOrThrowArgs, + args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.UserFindFirstArgs, + args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.UserFindFirstOrThrowArgs, + args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.UserFindManyArgs, + args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.UserCreateArgs, + args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.UserCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.UserCreateManyAndReturnArgs, + args: Prisma.UserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.UserDeleteArgs, + args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.UserUpdateArgs, + args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.UserDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.UserUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.UserUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.UserUpsertArgs, + args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.UserAggregateArgs, + args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.UserGroupByArgs, + args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.UserCountArgs, + args: Prisma.UserCountArgs result: $Utils.Optional | number } } @@ -1383,67 +1354,71 @@ export namespace Prisma { fields: Prisma.MFieldRefs operations: { findUnique: { - args: Prisma.MFindUniqueArgs, + args: Prisma.MFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.MFindUniqueOrThrowArgs, + args: Prisma.MFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.MFindFirstArgs, + args: Prisma.MFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.MFindFirstOrThrowArgs, + args: Prisma.MFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.MFindManyArgs, + args: Prisma.MFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.MCreateArgs, + args: Prisma.MCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.MCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.MCreateManyAndReturnArgs, + args: Prisma.MCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.MDeleteArgs, + args: Prisma.MDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.MUpdateArgs, + args: Prisma.MUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.MDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.MDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.MUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.MUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.MUpsertArgs, + args: Prisma.MUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.MAggregateArgs, + args: Prisma.MAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.MGroupByArgs, + args: Prisma.MGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.MCountArgs, + args: Prisma.MCountArgs result: $Utils.Optional | number } } @@ -1453,67 +1428,71 @@ export namespace Prisma { fields: Prisma.NFieldRefs operations: { findUnique: { - args: Prisma.NFindUniqueArgs, + args: Prisma.NFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.NFindUniqueOrThrowArgs, + args: Prisma.NFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.NFindFirstArgs, + args: Prisma.NFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.NFindFirstOrThrowArgs, + args: Prisma.NFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.NFindManyArgs, + args: Prisma.NFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.NCreateArgs, + args: Prisma.NCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.NCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.NCreateManyAndReturnArgs, + args: Prisma.NCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.NDeleteArgs, + args: Prisma.NDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.NUpdateArgs, + args: Prisma.NUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.NDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.NDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.NUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.NUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.NUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.NUpsertArgs, + args: Prisma.NUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.NAggregateArgs, + args: Prisma.NAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.NGroupByArgs, + args: Prisma.NGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.NCountArgs, + args: Prisma.NCountArgs result: $Utils.Optional | number } } @@ -1523,67 +1502,71 @@ export namespace Prisma { fields: Prisma.OneOptionalFieldRefs operations: { findUnique: { - args: Prisma.OneOptionalFindUniqueArgs, + args: Prisma.OneOptionalFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OneOptionalFindUniqueOrThrowArgs, + args: Prisma.OneOptionalFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OneOptionalFindFirstArgs, + args: Prisma.OneOptionalFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OneOptionalFindFirstOrThrowArgs, + args: Prisma.OneOptionalFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OneOptionalFindManyArgs, + args: Prisma.OneOptionalFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OneOptionalCreateArgs, + args: Prisma.OneOptionalCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OneOptionalCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.OneOptionalCreateManyAndReturnArgs, + args: Prisma.OneOptionalCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.OneOptionalDeleteArgs, + args: Prisma.OneOptionalDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OneOptionalUpdateArgs, + args: Prisma.OneOptionalUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OneOptionalDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OneOptionalUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OneOptionalUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.OneOptionalUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.OneOptionalUpsertArgs, + args: Prisma.OneOptionalUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OneOptionalAggregateArgs, + args: Prisma.OneOptionalAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OneOptionalGroupByArgs, + args: Prisma.OneOptionalGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.OneOptionalCountArgs, + args: Prisma.OneOptionalCountArgs result: $Utils.Optional | number } } @@ -1593,67 +1576,71 @@ export namespace Prisma { fields: Prisma.ManyRequiredFieldRefs operations: { findUnique: { - args: Prisma.ManyRequiredFindUniqueArgs, + args: Prisma.ManyRequiredFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.ManyRequiredFindUniqueOrThrowArgs, + args: Prisma.ManyRequiredFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.ManyRequiredFindFirstArgs, + args: Prisma.ManyRequiredFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.ManyRequiredFindFirstOrThrowArgs, + args: Prisma.ManyRequiredFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.ManyRequiredFindManyArgs, + args: Prisma.ManyRequiredFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ManyRequiredCreateArgs, + args: Prisma.ManyRequiredCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ManyRequiredCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.ManyRequiredCreateManyAndReturnArgs, + args: Prisma.ManyRequiredCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.ManyRequiredDeleteArgs, + args: Prisma.ManyRequiredDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.ManyRequiredUpdateArgs, + args: Prisma.ManyRequiredUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ManyRequiredDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.ManyRequiredUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ManyRequiredUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ManyRequiredUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.ManyRequiredUpsertArgs, + args: Prisma.ManyRequiredUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.ManyRequiredAggregateArgs, + args: Prisma.ManyRequiredAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.ManyRequiredGroupByArgs, + args: Prisma.ManyRequiredGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.ManyRequiredCountArgs, + args: Prisma.ManyRequiredCountArgs result: $Utils.Optional | number } } @@ -1663,67 +1650,71 @@ export namespace Prisma { fields: Prisma.OptionalSide1FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide1FindUniqueArgs, + args: Prisma.OptionalSide1FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide1FindUniqueOrThrowArgs, + args: Prisma.OptionalSide1FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide1FindFirstArgs, + args: Prisma.OptionalSide1FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide1FindFirstOrThrowArgs, + args: Prisma.OptionalSide1FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide1FindManyArgs, + args: Prisma.OptionalSide1FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide1CreateArgs, + args: Prisma.OptionalSide1CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide1CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1CreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.OptionalSide1CreateManyAndReturnArgs, + args: Prisma.OptionalSide1CreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.OptionalSide1DeleteArgs, + args: Prisma.OptionalSide1DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide1UpdateArgs, + args: Prisma.OptionalSide1UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide1DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide1UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide1UpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.OptionalSide1UpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.OptionalSide1UpsertArgs, + args: Prisma.OptionalSide1UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide1AggregateArgs, + args: Prisma.OptionalSide1AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide1GroupByArgs, + args: Prisma.OptionalSide1GroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.OptionalSide1CountArgs, + args: Prisma.OptionalSide1CountArgs result: $Utils.Optional | number } } @@ -1733,67 +1724,71 @@ export namespace Prisma { fields: Prisma.OptionalSide2FieldRefs operations: { findUnique: { - args: Prisma.OptionalSide2FindUniqueArgs, + args: Prisma.OptionalSide2FindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.OptionalSide2FindUniqueOrThrowArgs, + args: Prisma.OptionalSide2FindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.OptionalSide2FindFirstArgs, + args: Prisma.OptionalSide2FindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.OptionalSide2FindFirstOrThrowArgs, + args: Prisma.OptionalSide2FindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.OptionalSide2FindManyArgs, + args: Prisma.OptionalSide2FindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.OptionalSide2CreateArgs, + args: Prisma.OptionalSide2CreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.OptionalSide2CreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2CreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.OptionalSide2CreateManyAndReturnArgs, + args: Prisma.OptionalSide2CreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.OptionalSide2DeleteArgs, + args: Prisma.OptionalSide2DeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.OptionalSide2UpdateArgs, + args: Prisma.OptionalSide2UpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.OptionalSide2DeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2DeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.OptionalSide2UpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.OptionalSide2UpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.OptionalSide2UpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.OptionalSide2UpsertArgs, + args: Prisma.OptionalSide2UpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.OptionalSide2AggregateArgs, + args: Prisma.OptionalSide2AggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.OptionalSide2GroupByArgs, + args: Prisma.OptionalSide2GroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.OptionalSide2CountArgs, + args: Prisma.OptionalSide2CountArgs result: $Utils.Optional | number } } @@ -1803,67 +1798,71 @@ export namespace Prisma { fields: Prisma.AFieldRefs operations: { findUnique: { - args: Prisma.AFindUniqueArgs, + args: Prisma.AFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.AFindUniqueOrThrowArgs, + args: Prisma.AFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.AFindFirstArgs, + args: Prisma.AFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.AFindFirstOrThrowArgs, + args: Prisma.AFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.AFindManyArgs, + args: Prisma.AFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ACreateArgs, + args: Prisma.ACreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ACreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ACreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.ACreateManyAndReturnArgs, + args: Prisma.ACreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.ADeleteArgs, + args: Prisma.ADeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.AUpdateArgs, + args: Prisma.AUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.ADeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.ADeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.AUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.AUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.AUpsertArgs, + args: Prisma.AUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.AAggregateArgs, + args: Prisma.AAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.AGroupByArgs, + args: Prisma.AGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.ACountArgs, + args: Prisma.ACountArgs result: $Utils.Optional | number } } @@ -1873,67 +1872,71 @@ export namespace Prisma { fields: Prisma.BFieldRefs operations: { findUnique: { - args: Prisma.BFindUniqueArgs, + args: Prisma.BFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.BFindUniqueOrThrowArgs, + args: Prisma.BFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.BFindFirstArgs, + args: Prisma.BFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.BFindFirstOrThrowArgs, + args: Prisma.BFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.BFindManyArgs, + args: Prisma.BFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.BCreateArgs, + args: Prisma.BCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.BCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.BCreateManyAndReturnArgs, + args: Prisma.BCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.BDeleteArgs, + args: Prisma.BDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.BUpdateArgs, + args: Prisma.BUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.BDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.BDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.BUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.BUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.BUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.BUpsertArgs, + args: Prisma.BUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.BAggregateArgs, + args: Prisma.BAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.BGroupByArgs, + args: Prisma.BGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.BCountArgs, + args: Prisma.BCountArgs result: $Utils.Optional | number } } @@ -1943,67 +1946,71 @@ export namespace Prisma { fields: Prisma.CFieldRefs operations: { findUnique: { - args: Prisma.CFindUniqueArgs, + args: Prisma.CFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.CFindUniqueOrThrowArgs, + args: Prisma.CFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.CFindFirstArgs, + args: Prisma.CFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.CFindFirstOrThrowArgs, + args: Prisma.CFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.CFindManyArgs, + args: Prisma.CFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.CCreateArgs, + args: Prisma.CCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.CCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.CCreateManyAndReturnArgs, + args: Prisma.CCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.CDeleteArgs, + args: Prisma.CDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.CUpdateArgs, + args: Prisma.CUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.CDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.CDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.CUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.CUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.CUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.CUpsertArgs, + args: Prisma.CUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.CAggregateArgs, + args: Prisma.CAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.CGroupByArgs, + args: Prisma.CGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.CCountArgs, + args: Prisma.CCountArgs result: $Utils.Optional | number } } @@ -2013,67 +2020,71 @@ export namespace Prisma { fields: Prisma.DFieldRefs operations: { findUnique: { - args: Prisma.DFindUniqueArgs, + args: Prisma.DFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.DFindUniqueOrThrowArgs, + args: Prisma.DFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.DFindFirstArgs, + args: Prisma.DFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.DFindFirstOrThrowArgs, + args: Prisma.DFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.DFindManyArgs, + args: Prisma.DFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.DCreateArgs, + args: Prisma.DCreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.DCreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DCreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.DCreateManyAndReturnArgs, + args: Prisma.DCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.DDeleteArgs, + args: Prisma.DDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.DUpdateArgs, + args: Prisma.DUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.DDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.DDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.DUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.DUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.DUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.DUpsertArgs, + args: Prisma.DUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.DAggregateArgs, + args: Prisma.DAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.DGroupByArgs, + args: Prisma.DGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.DCountArgs, + args: Prisma.DCountArgs result: $Utils.Optional | number } } @@ -2083,67 +2094,71 @@ export namespace Prisma { fields: Prisma.EFieldRefs operations: { findUnique: { - args: Prisma.EFindUniqueArgs, + args: Prisma.EFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.EFindUniqueOrThrowArgs, + args: Prisma.EFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { - args: Prisma.EFindFirstArgs, + args: Prisma.EFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.EFindFirstOrThrowArgs, + args: Prisma.EFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { - args: Prisma.EFindManyArgs, + args: Prisma.EFindManyArgs result: $Utils.PayloadToResult[] } create: { - args: Prisma.ECreateArgs, + args: Prisma.ECreateArgs result: $Utils.PayloadToResult } createMany: { - args: Prisma.ECreateManyArgs, - result: Prisma.BatchPayload + args: Prisma.ECreateManyArgs + result: BatchPayload } createManyAndReturn: { - args: Prisma.ECreateManyAndReturnArgs, + args: Prisma.ECreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { - args: Prisma.EDeleteArgs, + args: Prisma.EDeleteArgs result: $Utils.PayloadToResult } update: { - args: Prisma.EUpdateArgs, + args: Prisma.EUpdateArgs result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.EDeleteManyArgs, - result: Prisma.BatchPayload + args: Prisma.EDeleteManyArgs + result: BatchPayload } updateMany: { - args: Prisma.EUpdateManyArgs, - result: Prisma.BatchPayload + args: Prisma.EUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.EUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] } upsert: { - args: Prisma.EUpsertArgs, + args: Prisma.EUpsertArgs result: $Utils.PayloadToResult } aggregate: { - args: Prisma.EAggregateArgs, + args: Prisma.EAggregateArgs result: $Utils.Optional } groupBy: { - args: Prisma.EGroupByArgs, + args: Prisma.EGroupByArgs result: $Utils.Optional[] } count: { - args: Prisma.ECountArgs, + args: Prisma.ECountArgs result: $Utils.Optional | number } } @@ -2153,15 +2168,11 @@ export namespace Prisma { other: { payload: any operations: { - $executeRawUnsafe: { - args: [query: string, ...values: any[]], - result: any - } $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } - $queryRawUnsafe: { + $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } @@ -2169,10 +2180,14 @@ export namespace Prisma { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } } } } - export const defineExtension: $Extensions.ExtendsHook<'define', Prisma.TypeMapCb, $Extensions.DefaultArgs> + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { @@ -2215,6 +2230,36 @@ export namespace Prisma { timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } + /** + * Global configuration for omitting model fields by default. + * + * @example + * \`\`\` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * \`\`\` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + post?: PostOmit + user?: UserOmit + m?: MOmit + n?: NOmit + oneOptional?: OneOptionalOmit + manyRequired?: ManyRequiredOmit + optionalSide1?: OptionalSide1Omit + optionalSide2?: OptionalSide2Omit + a?: AOmit + b?: BOmit + c?: COmit + d?: DOmit + e?: EOmit } /* Types for Logging */ @@ -2256,6 +2301,7 @@ export namespace Prisma { | 'createManyAndReturn' | 'update' | 'updateMany' + | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' @@ -2654,6 +2700,16 @@ export namespace Prisma { author?: boolean | UserDefaultArgs }, ExtArgs["result"]["post"]> + export type PostSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + createdAt?: boolean + title?: boolean + content?: boolean + published?: boolean + authorId?: boolean + author?: boolean | UserDefaultArgs + }, ExtArgs["result"]["post"]> + export type PostSelectScalar = { id?: boolean createdAt?: boolean @@ -2663,12 +2719,16 @@ export namespace Prisma { authorId?: boolean } + export type PostOmit = $Extensions.GetOmit<"id" | "createdAt" | "title" | "content" | "published" | "authorId", ExtArgs["result"]["post"]> export type PostInclude = { author?: boolean | UserDefaultArgs } export type PostIncludeCreateManyAndReturn = { author?: boolean | UserDefaultArgs } + export type PostIncludeUpdateManyAndReturn = { + author?: boolean | UserDefaultArgs + } export type $PostPayload = { name: "Post" @@ -2688,12 +2748,12 @@ export namespace Prisma { type PostGetPayload = $Result.GetResult - type PostCountArgs = - Omit & { + type PostCountArgs = + Omit & { select?: PostCountAggregateInputType | true } - export interface PostDelegate { + export interface PostDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Post'], meta: { name: 'Post' } } /** * Find zero or one Post that matches the filter. @@ -2706,10 +2766,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` + * Find one Post that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {PostFindUniqueOrThrowArgs} args - Arguments to find a Post * @example @@ -2720,7 +2780,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter. @@ -2735,7 +2795,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first Post that matches the filter or @@ -2751,7 +2811,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Posts that matches the filter. @@ -2769,7 +2829,7 @@ export namespace Prisma { * const postWithIdOnly = await prisma.post.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a Post. @@ -2783,7 +2843,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Posts. @@ -2811,7 +2871,7 @@ export namespace Prisma { * }) * * // Create many Posts and only return the \`id\` - * const postWithIdOnly = await prisma.post.createManyAndReturn({ + * const postWithIdOnly = await prisma.post.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -2821,7 +2881,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a Post. @@ -2835,7 +2895,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one Post. @@ -2852,7 +2912,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Posts. @@ -2887,6 +2947,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Posts and returns the data updated in the database. + * @param {PostUpdateManyAndReturnArgs} args - Arguments to update many Posts. + * @example + * // Update many Posts + * const post = await prisma.post.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Posts and only return the \`id\` + * const postWithIdOnly = await prisma.post.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one Post. * @param {PostUpsertArgs} args - Arguments to update or create a Post. @@ -2904,7 +2994,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__PostClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -3044,35 +3134,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__PostClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs>; - + export interface Prisma__PostClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + author = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | Null, Null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the Post model */ @@ -3095,6 +3184,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3113,6 +3206,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3131,6 +3228,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3179,6 +3280,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3227,6 +3332,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3270,6 +3379,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3299,6 +3412,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * The data used to create many Posts. */ @@ -3318,6 +3435,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3344,6 +3465,40 @@ export namespace Prisma { * Filter which Posts to update */ where?: PostWhereInput + /** + * Limit how many Posts to update. + */ + limit?: number + } + + /** + * Post updateManyAndReturn + */ + export type PostUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Post + */ + select?: PostSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null + /** + * The data used to update Posts. + */ + data: XOR + /** + * Filter which Posts to update + */ + where?: PostWhereInput + /** + * Limit how many Posts to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: PostIncludeUpdateManyAndReturn | null } /** @@ -3354,6 +3509,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3380,6 +3539,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3398,6 +3561,10 @@ export namespace Prisma { * Filter which Posts to delete */ where?: PostWhereInput + /** + * Limit how many Posts to delete. + */ + limit?: number } /** @@ -3408,6 +3575,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -3714,6 +3885,23 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["user"]> + export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + email?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["user"]> + export type UserSelectScalar = { id?: boolean email?: boolean @@ -3731,11 +3919,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type UserOmit = $Extensions.GetOmit<"id" | "email" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["user"]> export type UserInclude = { posts?: boolean | User$postsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} + export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" @@ -3763,12 +3953,12 @@ export namespace Prisma { type UserGetPayload = $Result.GetResult - type UserCountArgs = - Omit & { + type UserCountArgs = + Omit & { select?: UserCountAggregateInputType | true } - export interface UserDelegate { + export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. @@ -3781,10 +3971,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one User that matches the filter or throw an error with \`error.code='P2025'\` + * Find one User that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example @@ -3795,7 +3985,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first User that matches the filter. @@ -3810,7 +4000,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first User that matches the filter or @@ -3826,7 +4016,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Users that matches the filter. @@ -3844,7 +4034,7 @@ export namespace Prisma { * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a User. @@ -3858,7 +4048,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Users. @@ -3886,7 +4076,7 @@ export namespace Prisma { * }) * * // Create many Users and only return the \`id\` - * const userWithIdOnly = await prisma.user.createManyAndReturn({ + * const userWithIdOnly = await prisma.user.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -3896,7 +4086,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a User. @@ -3910,7 +4100,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one User. @@ -3927,7 +4117,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Users. @@ -3962,6 +4152,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Users and returns the data updated in the database. + * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const user = await prisma.user.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the \`id\` + * const userWithIdOnly = await prisma.user.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. @@ -3979,7 +4199,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -4119,35 +4339,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__UserClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + posts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the User model */ @@ -4178,6 +4397,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4196,6 +4419,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4214,6 +4441,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4262,6 +4493,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4310,6 +4545,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4353,6 +4592,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4382,6 +4625,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * The data used to create many Users. */ @@ -4397,6 +4644,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4423,28 +4674,62 @@ export namespace Prisma { * Filter which Users to update */ where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number } /** - * User upsert + * User updateManyAndReturn */ - export type UserUpsertArgs = { + export type UserUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ - select?: UserSelect | null + select?: UserSelectUpdateManyAndReturn | null /** - * Choose, which related nodes to fetch as well + * Omit specific fields from the User */ - include?: UserInclude | null + omit?: UserOmit | null /** - * The filter to search for the User to update in case it exists. + * The data used to update Users. */ - where: UserWhereUniqueInput + data: XOR /** - * In case the User found by the \`where\` argument doesn't exist, create a new User with this data. + * Filter which Users to update */ - create: XOR + where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + } + + /** + * User upsert + */ + export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The filter to search for the User to update in case it exists. + */ + where: UserWhereUniqueInput + /** + * In case the User found by the \`where\` argument doesn't exist, create a new User with this data. + */ + create: XOR /** * In case the User was found with the provided \`where\` argument, update it with this data. */ @@ -4459,6 +4744,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4477,6 +4766,10 @@ export namespace Prisma { * Filter which Users to delete */ where?: UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number } /** @@ -4487,6 +4780,10 @@ export namespace Prisma { * Select specific fields to fetch from the Post */ select?: PostSelect | null + /** + * Omit specific fields from the Post + */ + omit?: PostOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4507,6 +4804,10 @@ export namespace Prisma { * Select specific fields to fetch from the User */ select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ @@ -4804,6 +5105,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["m"]> + export type MSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["m"]> + export type MSelectScalar = { id?: boolean int?: boolean @@ -4820,11 +5137,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type MOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["m"]> export type MInclude = { n?: boolean | M$nArgs _count?: boolean | MCountOutputTypeDefaultArgs } export type MIncludeCreateManyAndReturn = {} + export type MIncludeUpdateManyAndReturn = {} export type $MPayload = { name: "M" @@ -4851,12 +5170,12 @@ export namespace Prisma { type MGetPayload = $Result.GetResult - type MCountArgs = - Omit & { + type MCountArgs = + Omit & { select?: MCountAggregateInputType | true } - export interface MDelegate { + export interface MDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['M'], meta: { name: 'M' } } /** * Find zero or one M that matches the filter. @@ -4869,10 +5188,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one M that matches the filter or throw an error with \`error.code='P2025'\` + * Find one M that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {MFindUniqueOrThrowArgs} args - Arguments to find a M * @example @@ -4883,7 +5202,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first M that matches the filter. @@ -4898,7 +5217,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first M that matches the filter or @@ -4914,7 +5233,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ms that matches the filter. @@ -4932,7 +5251,7 @@ export namespace Prisma { * const mWithIdOnly = await prisma.m.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a M. @@ -4946,7 +5265,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ms. @@ -4974,7 +5293,7 @@ export namespace Prisma { * }) * * // Create many Ms and only return the \`id\` - * const mWithIdOnly = await prisma.m.createManyAndReturn({ + * const mWithIdOnly = await prisma.m.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -4984,7 +5303,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a M. @@ -4998,7 +5317,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one M. @@ -5015,7 +5334,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ms. @@ -5050,6 +5369,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Ms and returns the data updated in the database. + * @param {MUpdateManyAndReturnArgs} args - Arguments to update many Ms. + * @example + * // Update many Ms + * const m = await prisma.m.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Ms and only return the \`id\` + * const mWithIdOnly = await prisma.m.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one M. * @param {MUpsertArgs} args - Arguments to update or create a M. @@ -5067,7 +5416,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__MClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -5207,35 +5556,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__MClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__MClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + n = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the M model */ @@ -5265,6 +5613,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5283,6 +5635,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5301,6 +5657,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5349,6 +5709,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5397,6 +5761,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5440,6 +5808,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5469,6 +5841,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelectCreateManyAndReturn | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * The data used to create many MS. */ @@ -5484,6 +5860,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5510,6 +5890,36 @@ export namespace Prisma { * Filter which MS to update */ where?: MWhereInput + /** + * Limit how many MS to update. + */ + limit?: number + } + + /** + * M updateManyAndReturn + */ + export type MUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the M + */ + select?: MSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null + /** + * The data used to update MS. + */ + data: XOR + /** + * Filter which MS to update + */ + where?: MWhereInput + /** + * Limit how many MS to update. + */ + limit?: number } /** @@ -5520,6 +5930,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5546,6 +5960,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5564,6 +5982,10 @@ export namespace Prisma { * Filter which MS to delete */ where?: MWhereInput + /** + * Limit how many MS to delete. + */ + limit?: number } /** @@ -5574,6 +5996,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5594,6 +6020,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -5891,6 +6321,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["n"]> + export type NSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["n"]> + export type NSelectScalar = { id?: boolean int?: boolean @@ -5907,11 +6353,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type NOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["n"]> export type NInclude = { m?: boolean | N$mArgs _count?: boolean | NCountOutputTypeDefaultArgs } export type NIncludeCreateManyAndReturn = {} + export type NIncludeUpdateManyAndReturn = {} export type $NPayload = { name: "N" @@ -5938,12 +6386,12 @@ export namespace Prisma { type NGetPayload = $Result.GetResult - type NCountArgs = - Omit & { + type NCountArgs = + Omit & { select?: NCountAggregateInputType | true } - export interface NDelegate { + export interface NDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['N'], meta: { name: 'N' } } /** * Find zero or one N that matches the filter. @@ -5956,10 +6404,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one N that matches the filter or throw an error with \`error.code='P2025'\` + * Find one N that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {NFindUniqueOrThrowArgs} args - Arguments to find a N * @example @@ -5970,7 +6418,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first N that matches the filter. @@ -5985,7 +6433,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first N that matches the filter or @@ -6001,7 +6449,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ns that matches the filter. @@ -6019,7 +6467,7 @@ export namespace Prisma { * const nWithIdOnly = await prisma.n.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a N. @@ -6033,7 +6481,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ns. @@ -6061,7 +6509,7 @@ export namespace Prisma { * }) * * // Create many Ns and only return the \`id\` - * const nWithIdOnly = await prisma.n.createManyAndReturn({ + * const nWithIdOnly = await prisma.n.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -6071,7 +6519,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a N. @@ -6085,7 +6533,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one N. @@ -6102,7 +6550,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ns. @@ -6137,6 +6585,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Ns and returns the data updated in the database. + * @param {NUpdateManyAndReturnArgs} args - Arguments to update many Ns. + * @example + * // Update many Ns + * const n = await prisma.n.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Ns and only return the \`id\` + * const nWithIdOnly = await prisma.n.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one N. * @param {NUpsertArgs} args - Arguments to update or create a N. @@ -6154,7 +6632,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__NClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -6294,35 +6772,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__NClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__NClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + m = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the N model */ @@ -6352,6 +6829,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6370,6 +6851,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6388,6 +6873,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6436,6 +6925,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6484,6 +6977,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6527,6 +7024,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6556,6 +7057,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelectCreateManyAndReturn | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * The data used to create many NS. */ @@ -6571,6 +7076,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6597,6 +7106,36 @@ export namespace Prisma { * Filter which NS to update */ where?: NWhereInput + /** + * Limit how many NS to update. + */ + limit?: number + } + + /** + * N updateManyAndReturn + */ + export type NUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the N + */ + select?: NSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null + /** + * The data used to update NS. + */ + data: XOR + /** + * Filter which NS to update + */ + where?: NWhereInput + /** + * Limit how many NS to update. + */ + limit?: number } /** @@ -6607,6 +7146,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6633,6 +7176,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6651,6 +7198,10 @@ export namespace Prisma { * Filter which NS to delete */ where?: NWhereInput + /** + * Limit how many NS to delete. + */ + limit?: number } /** @@ -6661,6 +7212,10 @@ export namespace Prisma { * Select specific fields to fetch from the M */ select?: MSelect | null + /** + * Omit specific fields from the M + */ + omit?: MOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6681,6 +7236,10 @@ export namespace Prisma { * Select specific fields to fetch from the N */ select?: NSelect | null + /** + * Omit specific fields from the N + */ + omit?: NOmit | null /** * Choose, which related nodes to fetch as well */ @@ -6978,6 +7537,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["oneOptional"]> + export type OneOptionalSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["oneOptional"]> + export type OneOptionalSelectScalar = { id?: boolean int?: boolean @@ -6994,11 +7569,13 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OneOptionalOmit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["oneOptional"]> export type OneOptionalInclude = { many?: boolean | OneOptional$manyArgs _count?: boolean | OneOptionalCountOutputTypeDefaultArgs } export type OneOptionalIncludeCreateManyAndReturn = {} + export type OneOptionalIncludeUpdateManyAndReturn = {} export type $OneOptionalPayload = { name: "OneOptional" @@ -7025,12 +7602,12 @@ export namespace Prisma { type OneOptionalGetPayload = $Result.GetResult - type OneOptionalCountArgs = - Omit & { + type OneOptionalCountArgs = + Omit & { select?: OneOptionalCountAggregateInputType | true } - export interface OneOptionalDelegate { + export interface OneOptionalDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['OneOptional'], meta: { name: 'OneOptional' } } /** * Find zero or one OneOptional that matches the filter. @@ -7043,10 +7620,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OneOptional that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OneOptionalFindUniqueOrThrowArgs} args - Arguments to find a OneOptional * @example @@ -7057,7 +7634,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter. @@ -7072,7 +7649,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OneOptional that matches the filter or @@ -7088,7 +7665,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OneOptionals that matches the filter. @@ -7106,7 +7683,7 @@ export namespace Prisma { * const oneOptionalWithIdOnly = await prisma.oneOptional.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OneOptional. @@ -7120,7 +7697,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OneOptionals. @@ -7148,7 +7725,7 @@ export namespace Prisma { * }) * * // Create many OneOptionals and only return the \`id\` - * const oneOptionalWithIdOnly = await prisma.oneOptional.createManyAndReturn({ + * const oneOptionalWithIdOnly = await prisma.oneOptional.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -7158,7 +7735,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a OneOptional. @@ -7172,7 +7749,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OneOptional. @@ -7189,7 +7766,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OneOptionals. @@ -7224,6 +7801,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more OneOptionals and returns the data updated in the database. + * @param {OneOptionalUpdateManyAndReturnArgs} args - Arguments to update many OneOptionals. + * @example + * // Update many OneOptionals + * const oneOptional = await prisma.oneOptional.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more OneOptionals and only return the \`id\` + * const oneOptionalWithIdOnly = await prisma.oneOptional.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one OneOptional. * @param {OneOptionalUpsertArgs} args - Arguments to update or create a OneOptional. @@ -7241,7 +7848,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OneOptionalClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -7381,35 +7988,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null>; - + export interface Prisma__OneOptionalClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + many = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OneOptional model */ @@ -7440,7 +8046,11 @@ export namespace Prisma { */ select?: OneOptionalSelect | null /** - * Choose, which related nodes to fetch as well + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null + /** + * Choose, which related nodes to fetch as well */ include?: OneOptionalInclude | null /** @@ -7457,6 +8067,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7475,6 +8089,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7523,6 +8141,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7571,6 +8193,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7614,6 +8240,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7643,6 +8273,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelectCreateManyAndReturn | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * The data used to create many OneOptionals. */ @@ -7658,6 +8292,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7684,6 +8322,36 @@ export namespace Prisma { * Filter which OneOptionals to update */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to update. + */ + limit?: number + } + + /** + * OneOptional updateManyAndReturn + */ + export type OneOptionalUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the OneOptional + */ + select?: OneOptionalSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null + /** + * The data used to update OneOptionals. + */ + data: XOR + /** + * Filter which OneOptionals to update + */ + where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to update. + */ + limit?: number } /** @@ -7694,6 +8362,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7720,6 +8392,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7738,6 +8414,10 @@ export namespace Prisma { * Filter which OneOptionals to delete */ where?: OneOptionalWhereInput + /** + * Limit how many OneOptionals to delete. + */ + limit?: number } /** @@ -7748,6 +8428,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -7768,6 +8452,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8078,6 +8766,24 @@ export namespace Prisma { one?: boolean | ManyRequired$oneArgs }, ExtArgs["result"]["manyRequired"]> + export type ManyRequiredSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + oneOptionalId?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + one?: boolean | ManyRequired$oneArgs + }, ExtArgs["result"]["manyRequired"]> + export type ManyRequiredSelectScalar = { id?: boolean oneOptionalId?: boolean @@ -8095,12 +8801,16 @@ export namespace Prisma { optionalBoolean?: boolean } + export type ManyRequiredOmit = $Extensions.GetOmit<"id" | "oneOptionalId" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["manyRequired"]> export type ManyRequiredInclude = { one?: boolean | ManyRequired$oneArgs } export type ManyRequiredIncludeCreateManyAndReturn = { one?: boolean | ManyRequired$oneArgs } + export type ManyRequiredIncludeUpdateManyAndReturn = { + one?: boolean | ManyRequired$oneArgs + } export type $ManyRequiredPayload = { name: "ManyRequired" @@ -8128,12 +8838,12 @@ export namespace Prisma { type ManyRequiredGetPayload = $Result.GetResult - type ManyRequiredCountArgs = - Omit & { + type ManyRequiredCountArgs = + Omit & { select?: ManyRequiredCountAggregateInputType | true } - export interface ManyRequiredDelegate { + export interface ManyRequiredDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ManyRequired'], meta: { name: 'ManyRequired' } } /** * Find zero or one ManyRequired that matches the filter. @@ -8146,10 +8856,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` + * Find one ManyRequired that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {ManyRequiredFindUniqueOrThrowArgs} args - Arguments to find a ManyRequired * @example @@ -8160,7 +8870,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter. @@ -8175,7 +8885,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first ManyRequired that matches the filter or @@ -8191,7 +8901,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more ManyRequireds that matches the filter. @@ -8209,7 +8919,7 @@ export namespace Prisma { * const manyRequiredWithIdOnly = await prisma.manyRequired.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a ManyRequired. @@ -8223,7 +8933,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many ManyRequireds. @@ -8251,7 +8961,7 @@ export namespace Prisma { * }) * * // Create many ManyRequireds and only return the \`id\` - * const manyRequiredWithIdOnly = await prisma.manyRequired.createManyAndReturn({ + * const manyRequiredWithIdOnly = await prisma.manyRequired.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -8261,7 +8971,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a ManyRequired. @@ -8275,7 +8985,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one ManyRequired. @@ -8292,7 +9002,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more ManyRequireds. @@ -8327,6 +9037,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more ManyRequireds and returns the data updated in the database. + * @param {ManyRequiredUpdateManyAndReturnArgs} args - Arguments to update many ManyRequireds. + * @example + * // Update many ManyRequireds + * const manyRequired = await prisma.manyRequired.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more ManyRequireds and only return the \`id\` + * const manyRequiredWithIdOnly = await prisma.manyRequired.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one ManyRequired. * @param {ManyRequiredUpsertArgs} args - Arguments to update or create a ManyRequired. @@ -8344,7 +9084,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__ManyRequiredClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -8484,35 +9224,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__ManyRequiredClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + one = {}>(args?: Subset>): Prisma__OneOptionalClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the ManyRequired model */ @@ -8543,6 +9282,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8561,6 +9304,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8579,6 +9326,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8627,6 +9378,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8675,6 +9430,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8718,6 +9477,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8747,6 +9510,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * The data used to create many ManyRequireds. */ @@ -8766,6 +9533,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8792,6 +9563,40 @@ export namespace Prisma { * Filter which ManyRequireds to update */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to update. + */ + limit?: number + } + + /** + * ManyRequired updateManyAndReturn + */ + export type ManyRequiredUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the ManyRequired + */ + select?: ManyRequiredSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null + /** + * The data used to update ManyRequireds. + */ + data: XOR + /** + * Filter which ManyRequireds to update + */ + where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: ManyRequiredIncludeUpdateManyAndReturn | null } /** @@ -8802,6 +9607,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8828,6 +9637,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8846,6 +9659,10 @@ export namespace Prisma { * Filter which ManyRequireds to delete */ where?: ManyRequiredWhereInput + /** + * Limit how many ManyRequireds to delete. + */ + limit?: number } /** @@ -8856,6 +9673,10 @@ export namespace Prisma { * Select specific fields to fetch from the OneOptional */ select?: OneOptionalSelect | null + /** + * Omit specific fields from the OneOptional + */ + omit?: OneOptionalOmit | null /** * Choose, which related nodes to fetch as well */ @@ -8871,6 +9692,10 @@ export namespace Prisma { * Select specific fields to fetch from the ManyRequired */ select?: ManyRequiredSelect | null + /** + * Omit specific fields from the ManyRequired + */ + omit?: ManyRequiredOmit | null /** * Choose, which related nodes to fetch as well */ @@ -9181,6 +10006,24 @@ export namespace Prisma { opti?: boolean | OptionalSide1$optiArgs }, ExtArgs["result"]["optionalSide1"]> + export type OptionalSide1SelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + optionalSide2Id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + opti?: boolean | OptionalSide1$optiArgs + }, ExtArgs["result"]["optionalSide1"]> + export type OptionalSide1SelectScalar = { id?: boolean optionalSide2Id?: boolean @@ -9198,12 +10041,16 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide1Omit = $Extensions.GetOmit<"id" | "optionalSide2Id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide1"]> export type OptionalSide1Include = { opti?: boolean | OptionalSide1$optiArgs } export type OptionalSide1IncludeCreateManyAndReturn = { opti?: boolean | OptionalSide1$optiArgs } + export type OptionalSide1IncludeUpdateManyAndReturn = { + opti?: boolean | OptionalSide1$optiArgs + } export type $OptionalSide1Payload = { name: "OptionalSide1" @@ -9231,12 +10078,12 @@ export namespace Prisma { type OptionalSide1GetPayload = $Result.GetResult - type OptionalSide1CountArgs = - Omit & { + type OptionalSide1CountArgs = + Omit & { select?: OptionalSide1CountAggregateInputType | true } - export interface OptionalSide1Delegate { + export interface OptionalSide1Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide1'], meta: { name: 'OptionalSide1' } } /** * Find zero or one OptionalSide1 that matches the filter. @@ -9249,10 +10096,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide1 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide1FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide1 * @example @@ -9263,7 +10110,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter. @@ -9278,7 +10125,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide1 that matches the filter or @@ -9294,7 +10141,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide1s that matches the filter. @@ -9312,7 +10159,7 @@ export namespace Prisma { * const optionalSide1WithIdOnly = await prisma.optionalSide1.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide1. @@ -9326,7 +10173,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide1s. @@ -9354,7 +10201,7 @@ export namespace Prisma { * }) * * // Create many OptionalSide1s and only return the \`id\` - * const optionalSide1WithIdOnly = await prisma.optionalSide1.createManyAndReturn({ + * const optionalSide1WithIdOnly = await prisma.optionalSide1.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -9364,7 +10211,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a OptionalSide1. @@ -9378,7 +10225,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide1. @@ -9395,7 +10242,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide1s. @@ -9430,6 +10277,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more OptionalSide1s and returns the data updated in the database. + * @param {OptionalSide1UpdateManyAndReturnArgs} args - Arguments to update many OptionalSide1s. + * @example + * // Update many OptionalSide1s + * const optionalSide1 = await prisma.optionalSide1.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more OptionalSide1s and only return the \`id\` + * const optionalSide1WithIdOnly = await prisma.optionalSide1.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one OptionalSide1. * @param {OptionalSide1UpsertArgs} args - Arguments to update or create a OptionalSide1. @@ -9447,7 +10324,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -9587,35 +10464,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide1Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide1 model */ @@ -9646,6 +10522,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9664,6 +10544,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9682,6 +10566,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9730,6 +10618,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9778,6 +10670,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9821,6 +10717,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9850,6 +10750,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1SelectCreateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * The data used to create many OptionalSide1s. */ @@ -9869,6 +10773,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9895,6 +10803,40 @@ export namespace Prisma { * Filter which OptionalSide1s to update */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to update. + */ + limit?: number + } + + /** + * OptionalSide1 updateManyAndReturn + */ + export type OptionalSide1UpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the OptionalSide1 + */ + select?: OptionalSide1SelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null + /** + * The data used to update OptionalSide1s. + */ + data: XOR + /** + * Filter which OptionalSide1s to update + */ + where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: OptionalSide1IncludeUpdateManyAndReturn | null } /** @@ -9905,6 +10847,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9931,6 +10877,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9949,6 +10899,10 @@ export namespace Prisma { * Filter which OptionalSide1s to delete */ where?: OptionalSide1WhereInput + /** + * Limit how many OptionalSide1s to delete. + */ + limit?: number } /** @@ -9959,6 +10913,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -9974,6 +10932,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10270,6 +11232,22 @@ export namespace Prisma { optionalBoolean?: boolean }, ExtArgs["result"]["optionalSide2"]> + export type OptionalSide2SelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + int?: boolean + optionalInt?: boolean + float?: boolean + optionalFloat?: boolean + string?: boolean + optionalString?: boolean + json?: boolean + optionalJson?: boolean + enum?: boolean + optionalEnum?: boolean + boolean?: boolean + optionalBoolean?: boolean + }, ExtArgs["result"]["optionalSide2"]> + export type OptionalSide2SelectScalar = { id?: boolean int?: boolean @@ -10286,10 +11264,12 @@ export namespace Prisma { optionalBoolean?: boolean } + export type OptionalSide2Omit = $Extensions.GetOmit<"id" | "int" | "optionalInt" | "float" | "optionalFloat" | "string" | "optionalString" | "json" | "optionalJson" | "enum" | "optionalEnum" | "boolean" | "optionalBoolean", ExtArgs["result"]["optionalSide2"]> export type OptionalSide2Include = { opti?: boolean | OptionalSide2$optiArgs } export type OptionalSide2IncludeCreateManyAndReturn = {} + export type OptionalSide2IncludeUpdateManyAndReturn = {} export type $OptionalSide2Payload = { name: "OptionalSide2" @@ -10316,12 +11296,12 @@ export namespace Prisma { type OptionalSide2GetPayload = $Result.GetResult - type OptionalSide2CountArgs = - Omit & { + type OptionalSide2CountArgs = + Omit & { select?: OptionalSide2CountAggregateInputType | true } - export interface OptionalSide2Delegate { + export interface OptionalSide2Delegate { [K: symbol]: { types: Prisma.TypeMap['model']['OptionalSide2'], meta: { name: 'OptionalSide2' } } /** * Find zero or one OptionalSide2 that matches the filter. @@ -10334,10 +11314,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` + * Find one OptionalSide2 that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {OptionalSide2FindUniqueOrThrowArgs} args - Arguments to find a OptionalSide2 * @example @@ -10348,7 +11328,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter. @@ -10363,7 +11343,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first OptionalSide2 that matches the filter or @@ -10379,7 +11359,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more OptionalSide2s that matches the filter. @@ -10397,7 +11377,7 @@ export namespace Prisma { * const optionalSide2WithIdOnly = await prisma.optionalSide2.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a OptionalSide2. @@ -10411,7 +11391,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many OptionalSide2s. @@ -10439,7 +11419,7 @@ export namespace Prisma { * }) * * // Create many OptionalSide2s and only return the \`id\` - * const optionalSide2WithIdOnly = await prisma.optionalSide2.createManyAndReturn({ + * const optionalSide2WithIdOnly = await prisma.optionalSide2.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -10449,7 +11429,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a OptionalSide2. @@ -10463,7 +11443,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one OptionalSide2. @@ -10480,7 +11460,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more OptionalSide2s. @@ -10516,7 +11496,37 @@ export namespace Prisma { updateMany(args: SelectSubset>): Prisma.PrismaPromise /** - * Create or update one OptionalSide2. + * Update zero or more OptionalSide2s and returns the data updated in the database. + * @param {OptionalSide2UpdateManyAndReturnArgs} args - Arguments to update many OptionalSide2s. + * @example + * // Update many OptionalSide2s + * const optionalSide2 = await prisma.optionalSide2.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more OptionalSide2s and only return the \`id\` + * const optionalSide2WithIdOnly = await prisma.optionalSide2.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + + /** + * Create or update one OptionalSide2. * @param {OptionalSide2UpsertArgs} args - Arguments to update or create a OptionalSide2. * @example * // Update or create a OptionalSide2 @@ -10532,7 +11542,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__OptionalSide2Client<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -10672,35 +11682,34 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs>; - + export interface Prisma__OptionalSide2Client extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + opti = {}>(args?: Subset>): Prisma__OptionalSide1Client<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the OptionalSide2 model */ @@ -10730,6 +11739,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10748,6 +11761,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10766,6 +11783,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10814,6 +11835,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10862,6 +11887,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10905,6 +11934,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10934,6 +11967,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2SelectCreateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * The data used to create many OptionalSide2s. */ @@ -10949,6 +11986,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -10975,6 +12016,36 @@ export namespace Prisma { * Filter which OptionalSide2s to update */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to update. + */ + limit?: number + } + + /** + * OptionalSide2 updateManyAndReturn + */ + export type OptionalSide2UpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the OptionalSide2 + */ + select?: OptionalSide2SelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null + /** + * The data used to update OptionalSide2s. + */ + data: XOR + /** + * Filter which OptionalSide2s to update + */ + where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to update. + */ + limit?: number } /** @@ -10985,6 +12056,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11011,6 +12086,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11029,6 +12108,10 @@ export namespace Prisma { * Filter which OptionalSide2s to delete */ where?: OptionalSide2WhereInput + /** + * Limit how many OptionalSide2s to delete. + */ + limit?: number } /** @@ -11039,6 +12122,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide1 */ select?: OptionalSide1Select | null + /** + * Omit specific fields from the OptionalSide1 + */ + omit?: OptionalSide1Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11054,6 +12141,10 @@ export namespace Prisma { * Select specific fields to fetch from the OptionalSide2 */ select?: OptionalSide2Select | null + /** + * Omit specific fields from the OptionalSide2 + */ + omit?: OptionalSide2Omit | null /** * Choose, which related nodes to fetch as well */ @@ -11325,6 +12416,18 @@ export namespace Prisma { inc_bInt?: boolean }, ExtArgs["result"]["a"]> + export type ASelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + email?: boolean + name?: boolean + int?: boolean + sInt?: boolean + bInt?: boolean + inc_int?: boolean + inc_sInt?: boolean + inc_bInt?: boolean + }, ExtArgs["result"]["a"]> + export type ASelectScalar = { id?: boolean email?: boolean @@ -11337,6 +12440,7 @@ export namespace Prisma { inc_bInt?: boolean } + export type AOmit = $Extensions.GetOmit<"id" | "email" | "name" | "int" | "sInt" | "bInt" | "inc_int" | "inc_sInt" | "inc_bInt", ExtArgs["result"]["a"]> export type $APayload = { name: "A" @@ -11363,12 +12467,12 @@ export namespace Prisma { type AGetPayload = $Result.GetResult - type ACountArgs = - Omit & { + type ACountArgs = + Omit & { select?: ACountAggregateInputType | true } - export interface ADelegate { + export interface ADelegate { [K: symbol]: { types: Prisma.TypeMap['model']['A'], meta: { name: 'A' } } /** * Find zero or one A that matches the filter. @@ -11381,10 +12485,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one A that matches the filter or throw an error with \`error.code='P2025'\` + * Find one A that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {AFindUniqueOrThrowArgs} args - Arguments to find a A * @example @@ -11395,7 +12499,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first A that matches the filter. @@ -11410,7 +12514,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first A that matches the filter or @@ -11426,7 +12530,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more As that matches the filter. @@ -11444,7 +12548,7 @@ export namespace Prisma { * const aWithIdOnly = await prisma.a.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a A. @@ -11458,7 +12562,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many As. @@ -11486,7 +12590,7 @@ export namespace Prisma { * }) * * // Create many As and only return the \`id\` - * const aWithIdOnly = await prisma.a.createManyAndReturn({ + * const aWithIdOnly = await prisma.a.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -11496,7 +12600,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a A. @@ -11510,7 +12614,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one A. @@ -11527,7 +12631,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more As. @@ -11562,6 +12666,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more As and returns the data updated in the database. + * @param {AUpdateManyAndReturnArgs} args - Arguments to update many As. + * @example + * // Update many As + * const a = await prisma.a.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more As and only return the \`id\` + * const aWithIdOnly = await prisma.a.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one A. * @param {AUpsertArgs} args - Arguments to update or create a A. @@ -11579,7 +12713,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__AClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -11719,34 +12853,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__AClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__AClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the A model */ @@ -11772,6 +12905,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11786,6 +12923,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11800,6 +12941,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11844,6 +12989,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which A to fetch. */ @@ -11888,6 +13037,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter, which AS to fetch. */ @@ -11927,6 +13080,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to create a A. */ @@ -11952,6 +13109,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelectCreateManyAndReturn | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data used to create many AS. */ @@ -11967,6 +13128,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The data needed to update a A. */ @@ -11989,6 +13154,36 @@ export namespace Prisma { * Filter which AS to update */ where?: AWhereInput + /** + * Limit how many AS to update. + */ + limit?: number + } + + /** + * A updateManyAndReturn + */ + export type AUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the A + */ + select?: ASelectUpdateManyAndReturn | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null + /** + * The data used to update AS. + */ + data: XOR + /** + * Filter which AS to update + */ + where?: AWhereInput + /** + * Limit how many AS to update. + */ + limit?: number } /** @@ -11999,6 +13194,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * The filter to search for the A to update in case it exists. */ @@ -12021,6 +13220,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null /** * Filter which A to delete. */ @@ -12035,6 +13238,10 @@ export namespace Prisma { * Filter which AS to delete */ where?: AWhereInput + /** + * Limit how many AS to delete. + */ + limit?: number } /** @@ -12045,6 +13252,10 @@ export namespace Prisma { * Select specific fields to fetch from the A */ select?: ASelect | null + /** + * Omit specific fields from the A + */ + omit?: AOmit | null } @@ -12268,6 +13479,14 @@ export namespace Prisma { numFloat?: boolean }, ExtArgs["result"]["b"]> + export type BSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + float?: boolean + dFloat?: boolean + decFloat?: boolean + numFloat?: boolean + }, ExtArgs["result"]["b"]> + export type BSelectScalar = { id?: boolean float?: boolean @@ -12276,6 +13495,7 @@ export namespace Prisma { numFloat?: boolean } + export type BOmit = $Extensions.GetOmit<"id" | "float" | "dFloat" | "decFloat" | "numFloat", ExtArgs["result"]["b"]> export type $BPayload = { name: "B" @@ -12292,12 +13512,12 @@ export namespace Prisma { type BGetPayload = $Result.GetResult - type BCountArgs = - Omit & { + type BCountArgs = + Omit & { select?: BCountAggregateInputType | true } - export interface BDelegate { + export interface BDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['B'], meta: { name: 'B' } } /** * Find zero or one B that matches the filter. @@ -12310,10 +13530,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one B that matches the filter or throw an error with \`error.code='P2025'\` + * Find one B that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {BFindUniqueOrThrowArgs} args - Arguments to find a B * @example @@ -12324,7 +13544,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first B that matches the filter. @@ -12339,7 +13559,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first B that matches the filter or @@ -12355,7 +13575,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Bs that matches the filter. @@ -12373,7 +13593,7 @@ export namespace Prisma { * const bWithIdOnly = await prisma.b.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a B. @@ -12387,7 +13607,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Bs. @@ -12415,7 +13635,7 @@ export namespace Prisma { * }) * * // Create many Bs and only return the \`id\` - * const bWithIdOnly = await prisma.b.createManyAndReturn({ + * const bWithIdOnly = await prisma.b.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -12425,7 +13645,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a B. @@ -12439,7 +13659,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one B. @@ -12456,7 +13676,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Bs. @@ -12491,6 +13711,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Bs and returns the data updated in the database. + * @param {BUpdateManyAndReturnArgs} args - Arguments to update many Bs. + * @example + * // Update many Bs + * const b = await prisma.b.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Bs and only return the \`id\` + * const bWithIdOnly = await prisma.b.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one B. * @param {BUpsertArgs} args - Arguments to update or create a B. @@ -12508,7 +13758,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__BClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -12648,34 +13898,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__BClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__BClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the B model */ @@ -12697,6 +13946,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12711,6 +13964,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12725,6 +13982,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12769,6 +14030,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which B to fetch. */ @@ -12813,6 +14078,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter, which BS to fetch. */ @@ -12852,6 +14121,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to create a B. */ @@ -12877,6 +14150,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelectCreateManyAndReturn | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data used to create many BS. */ @@ -12892,6 +14169,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The data needed to update a B. */ @@ -12914,6 +14195,36 @@ export namespace Prisma { * Filter which BS to update */ where?: BWhereInput + /** + * Limit how many BS to update. + */ + limit?: number + } + + /** + * B updateManyAndReturn + */ + export type BUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the B + */ + select?: BSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null + /** + * The data used to update BS. + */ + data: XOR + /** + * Filter which BS to update + */ + where?: BWhereInput + /** + * Limit how many BS to update. + */ + limit?: number } /** @@ -12924,6 +14235,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * The filter to search for the B to update in case it exists. */ @@ -12946,6 +14261,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null /** * Filter which B to delete. */ @@ -12960,6 +14279,10 @@ export namespace Prisma { * Filter which BS to delete */ where?: BWhereInput + /** + * Limit how many BS to delete. + */ + limit?: number } /** @@ -12970,6 +14293,10 @@ export namespace Prisma { * Select specific fields to fetch from the B */ select?: BSelect | null + /** + * Omit specific fields from the B + */ + omit?: BOmit | null } @@ -13165,6 +14492,16 @@ export namespace Prisma { uuid?: boolean }, ExtArgs["result"]["c"]> + export type CSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + char?: boolean + vChar?: boolean + text?: boolean + bit?: boolean + vBit?: boolean + uuid?: boolean + }, ExtArgs["result"]["c"]> + export type CSelectScalar = { id?: boolean char?: boolean @@ -13175,6 +14512,7 @@ export namespace Prisma { uuid?: boolean } + export type COmit = $Extensions.GetOmit<"id" | "char" | "vChar" | "text" | "bit" | "vBit" | "uuid", ExtArgs["result"]["c"]> export type $CPayload = { name: "C" @@ -13193,12 +14531,12 @@ export namespace Prisma { type CGetPayload = $Result.GetResult - type CCountArgs = - Omit & { + type CCountArgs = + Omit & { select?: CCountAggregateInputType | true } - export interface CDelegate { + export interface CDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['C'], meta: { name: 'C' } } /** * Find zero or one C that matches the filter. @@ -13211,10 +14549,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one C that matches the filter or throw an error with \`error.code='P2025'\` + * Find one C that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {CFindUniqueOrThrowArgs} args - Arguments to find a C * @example @@ -13225,7 +14563,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first C that matches the filter. @@ -13240,7 +14578,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first C that matches the filter or @@ -13256,7 +14594,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Cs that matches the filter. @@ -13274,7 +14612,7 @@ export namespace Prisma { * const cWithIdOnly = await prisma.c.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a C. @@ -13288,7 +14626,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Cs. @@ -13316,7 +14654,7 @@ export namespace Prisma { * }) * * // Create many Cs and only return the \`id\` - * const cWithIdOnly = await prisma.c.createManyAndReturn({ + * const cWithIdOnly = await prisma.c.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -13326,7 +14664,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a C. @@ -13340,7 +14678,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one C. @@ -13357,7 +14695,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Cs. @@ -13392,6 +14730,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Cs and returns the data updated in the database. + * @param {CUpdateManyAndReturnArgs} args - Arguments to update many Cs. + * @example + * // Update many Cs + * const c = await prisma.c.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Cs and only return the \`id\` + * const cWithIdOnly = await prisma.c.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one C. * @param {CUpsertArgs} args - Arguments to update or create a C. @@ -13409,7 +14777,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__CClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -13549,34 +14917,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__CClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__CClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the C model */ @@ -13600,6 +14967,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13614,6 +14985,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13628,6 +15003,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13672,6 +15051,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which C to fetch. */ @@ -13716,6 +15099,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter, which CS to fetch. */ @@ -13755,6 +15142,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to create a C. */ @@ -13780,6 +15171,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelectCreateManyAndReturn | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data used to create many CS. */ @@ -13795,6 +15190,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The data needed to update a C. */ @@ -13817,6 +15216,36 @@ export namespace Prisma { * Filter which CS to update */ where?: CWhereInput + /** + * Limit how many CS to update. + */ + limit?: number + } + + /** + * C updateManyAndReturn + */ + export type CUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the C + */ + select?: CSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null + /** + * The data used to update CS. + */ + data: XOR + /** + * Filter which CS to update + */ + where?: CWhereInput + /** + * Limit how many CS to update. + */ + limit?: number } /** @@ -13827,6 +15256,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * The filter to search for the C to update in case it exists. */ @@ -13849,6 +15282,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null /** * Filter which C to delete. */ @@ -13863,6 +15300,10 @@ export namespace Prisma { * Filter which CS to delete */ where?: CWhereInput + /** + * Limit how many CS to delete. + */ + limit?: number } /** @@ -13873,6 +15314,10 @@ export namespace Prisma { * Select specific fields to fetch from the C */ select?: CSelect | null + /** + * Omit specific fields from the C + */ + omit?: COmit | null } @@ -13899,14 +15344,14 @@ export namespace Prisma { export type DMinAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } export type DMaxAggregateOutputType = { id: string | null bool: boolean | null - byteA: Buffer | null + byteA: Uint8Array | null xml: string | null } @@ -14044,7 +15489,7 @@ export namespace Prisma { export type DGroupByOutputType = { id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonValue jsonb: JsonValue @@ -14090,6 +15535,16 @@ export namespace Prisma { list?: boolean }, ExtArgs["result"]["d"]> + export type DSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + bool?: boolean + byteA?: boolean + xml?: boolean + json?: boolean + jsonb?: boolean + list?: boolean + }, ExtArgs["result"]["d"]> + export type DSelectScalar = { id?: boolean bool?: boolean @@ -14100,6 +15555,7 @@ export namespace Prisma { list?: boolean } + export type DOmit = $Extensions.GetOmit<"id" | "bool" | "byteA" | "xml" | "json" | "jsonb" | "list", ExtArgs["result"]["d"]> export type $DPayload = { name: "D" @@ -14107,7 +15563,7 @@ export namespace Prisma { scalars: $Extensions.GetPayloadResult<{ id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: Prisma.JsonValue jsonb: Prisma.JsonValue @@ -14118,12 +15574,12 @@ export namespace Prisma { type DGetPayload = $Result.GetResult - type DCountArgs = - Omit & { + type DCountArgs = + Omit & { select?: DCountAggregateInputType | true } - export interface DDelegate { + export interface DDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['D'], meta: { name: 'D' } } /** * Find zero or one D that matches the filter. @@ -14136,10 +15592,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one D that matches the filter or throw an error with \`error.code='P2025'\` + * Find one D that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {DFindUniqueOrThrowArgs} args - Arguments to find a D * @example @@ -14150,7 +15606,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first D that matches the filter. @@ -14165,7 +15621,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first D that matches the filter or @@ -14181,7 +15637,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Ds that matches the filter. @@ -14199,7 +15655,7 @@ export namespace Prisma { * const dWithIdOnly = await prisma.d.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a D. @@ -14213,7 +15669,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Ds. @@ -14241,7 +15697,7 @@ export namespace Prisma { * }) * * // Create many Ds and only return the \`id\` - * const dWithIdOnly = await prisma.d.createManyAndReturn({ + * const dWithIdOnly = await prisma.d.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -14251,7 +15707,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a D. @@ -14265,7 +15721,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one D. @@ -14282,7 +15738,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Ds. @@ -14317,6 +15773,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Ds and returns the data updated in the database. + * @param {DUpdateManyAndReturnArgs} args - Arguments to update many Ds. + * @example + * // Update many Ds + * const d = await prisma.d.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Ds and only return the \`id\` + * const dWithIdOnly = await prisma.d.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one D. * @param {DUpsertArgs} args - Arguments to update or create a D. @@ -14334,7 +15820,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__DClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -14474,34 +15960,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__DClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__DClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the D model */ @@ -14525,6 +16010,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14539,6 +16028,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14553,6 +16046,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14597,6 +16094,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which D to fetch. */ @@ -14641,6 +16142,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter, which DS to fetch. */ @@ -14680,6 +16185,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to create a D. */ @@ -14705,6 +16214,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelectCreateManyAndReturn | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data used to create many DS. */ @@ -14720,6 +16233,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The data needed to update a D. */ @@ -14742,6 +16259,36 @@ export namespace Prisma { * Filter which DS to update */ where?: DWhereInput + /** + * Limit how many DS to update. + */ + limit?: number + } + + /** + * D updateManyAndReturn + */ + export type DUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the D + */ + select?: DSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null + /** + * The data used to update DS. + */ + data: XOR + /** + * Filter which DS to update + */ + where?: DWhereInput + /** + * Limit how many DS to update. + */ + limit?: number } /** @@ -14752,6 +16299,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * The filter to search for the D to update in case it exists. */ @@ -14774,6 +16325,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null /** * Filter which D to delete. */ @@ -14788,6 +16343,10 @@ export namespace Prisma { * Filter which DS to delete */ where?: DWhereInput + /** + * Limit how many DS to delete. + */ + limit?: number } /** @@ -14798,6 +16357,10 @@ export namespace Prisma { * Select specific fields to fetch from the D */ select?: DSelect | null + /** + * Omit specific fields from the D + */ + omit?: DOmit | null } @@ -14966,6 +16529,13 @@ export namespace Prisma { ts?: boolean }, ExtArgs["result"]["e"]> + export type ESelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + time?: boolean + ts?: boolean + }, ExtArgs["result"]["e"]> + export type ESelectScalar = { id?: boolean date?: boolean @@ -14973,6 +16543,7 @@ export namespace Prisma { ts?: boolean } + export type EOmit = $Extensions.GetOmit<"id" | "date" | "time" | "ts", ExtArgs["result"]["e"]> export type $EPayload = { name: "E" @@ -14988,12 +16559,12 @@ export namespace Prisma { type EGetPayload = $Result.GetResult - type ECountArgs = - Omit & { + type ECountArgs = + Omit & { select?: ECountAggregateInputType | true } - export interface EDelegate { + export interface EDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['E'], meta: { name: 'E' } } /** * Find zero or one E that matches the filter. @@ -15006,10 +16577,10 @@ export namespace Prisma { * } * }) */ - findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUnique", ClientOptions> | null, null, ExtArgs, ClientOptions> /** - * Find one E that matches the filter or throw an error with \`error.code='P2025'\` + * Find one E that matches the filter or throw an error with \`error.code='P2025'\` * if no matches were found. * @param {EFindUniqueOrThrowArgs} args - Arguments to find a E * @example @@ -15020,7 +16591,7 @@ export namespace Prisma { * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findUniqueOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find the first E that matches the filter. @@ -15035,7 +16606,7 @@ export namespace Prisma { * } * }) */ - findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirst", ClientOptions> | null, null, ExtArgs, ClientOptions> /** * Find the first E that matches the filter or @@ -15051,7 +16622,7 @@ export namespace Prisma { * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "findFirstOrThrow", ClientOptions>, never, ExtArgs, ClientOptions> /** * Find zero or more Es that matches the filter. @@ -15069,7 +16640,7 @@ export namespace Prisma { * const eWithIdOnly = await prisma.e.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", ClientOptions>> /** * Create a E. @@ -15083,7 +16654,7 @@ export namespace Prisma { * }) * */ - create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "create", ClientOptions>, never, ExtArgs, ClientOptions> /** * Create many Es. @@ -15111,7 +16682,7 @@ export namespace Prisma { * }) * * // Create many Es and only return the \`id\` - * const eWithIdOnly = await prisma.e.createManyAndReturn({ + * const eWithIdOnly = await prisma.e.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -15121,7 +16692,7 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", ClientOptions>> /** * Delete a E. @@ -15135,7 +16706,7 @@ export namespace Prisma { * }) * */ - delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "delete", ClientOptions>, never, ExtArgs, ClientOptions> /** * Update one E. @@ -15152,7 +16723,7 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "update", ClientOptions>, never, ExtArgs, ClientOptions> /** * Delete zero or more Es. @@ -15187,6 +16758,36 @@ export namespace Prisma { */ updateMany(args: SelectSubset>): Prisma.PrismaPromise + /** + * Update zero or more Es and returns the data updated in the database. + * @param {EUpdateManyAndReturnArgs} args - Arguments to update many Es. + * @example + * // Update many Es + * const e = await prisma.e.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Es and only return the \`id\` + * const eWithIdOnly = await prisma.e.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing \`undefined\` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", ClientOptions>> + /** * Create or update one E. * @param {EUpsertArgs} args - Arguments to update or create a E. @@ -15204,7 +16805,7 @@ export namespace Prisma { * } * }) */ - upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EClient<$Result.GetResult, T, "upsert", ClientOptions>, never, ExtArgs, ClientOptions> /** @@ -15344,34 +16945,33 @@ export namespace Prisma { * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__EClient extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; - - + export interface Prisma__EClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } + /** * Fields of the E model */ @@ -15392,6 +16992,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15406,6 +17010,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15420,6 +17028,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15464,6 +17076,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which E to fetch. */ @@ -15508,6 +17124,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter, which ES to fetch. */ @@ -15547,6 +17167,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to create a E. */ @@ -15572,6 +17196,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelectCreateManyAndReturn | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data used to create many ES. */ @@ -15587,6 +17215,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The data needed to update a E. */ @@ -15609,6 +17241,36 @@ export namespace Prisma { * Filter which ES to update */ where?: EWhereInput + /** + * Limit how many ES to update. + */ + limit?: number + } + + /** + * E updateManyAndReturn + */ + export type EUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the E + */ + select?: ESelectUpdateManyAndReturn | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null + /** + * The data used to update ES. + */ + data: XOR + /** + * Filter which ES to update + */ + where?: EWhereInput + /** + * Limit how many ES to update. + */ + limit?: number } /** @@ -15619,6 +17281,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * The filter to search for the E to update in case it exists. */ @@ -15641,6 +17307,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null /** * Filter which E to delete. */ @@ -15655,6 +17325,10 @@ export namespace Prisma { * Filter which ES to delete */ where?: EWhereInput + /** + * Limit how many ES to delete. + */ + limit?: number } /** @@ -15665,6 +17339,10 @@ export namespace Prisma { * Select specific fields to fetch from the E */ select?: ESelect | null + /** + * Omit specific fields from the E + */ + omit?: EOmit | null } @@ -16084,7 +17762,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: IntFilter<"Post"> | number - author?: XOR + author?: XOR } export type PostOrderByWithRelationInput = { @@ -16107,7 +17785,7 @@ export namespace Prisma { content?: StringNullableFilter<"Post"> | string | null published?: BoolFilter<"Post"> | boolean authorId?: IntFilter<"Post"> | number - author?: XOR + author?: XOR }, "id"> export type PostOrderByWithAggregationInput = { @@ -16547,7 +18225,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null } export type ManyRequiredOrderByWithRelationInput = { @@ -16586,7 +18264,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"ManyRequired"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"ManyRequired"> | boolean optionalBoolean?: BoolNullableFilter<"ManyRequired"> | boolean | null - one?: XOR | null + one?: XOR | null }, "id"> export type ManyRequiredOrderByWithAggregationInput = { @@ -16649,7 +18327,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide1OrderByWithRelationInput = { @@ -16688,7 +18366,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide1"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide1"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide1"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id" | "optionalSide2Id"> export type OptionalSide1OrderByWithAggregationInput = { @@ -16750,7 +18428,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null } export type OptionalSide2OrderByWithRelationInput = { @@ -16787,7 +18465,7 @@ export namespace Prisma { optionalEnum?: EnumABeautifulEnumNullableFilter<"OptionalSide2"> | $Enums.ABeautifulEnum | null boolean?: BoolFilter<"OptionalSide2"> | boolean optionalBoolean?: BoolNullableFilter<"OptionalSide2"> | boolean | null - opti?: XOR | null + opti?: XOR | null }, "id"> export type OptionalSide2OrderByWithAggregationInput = { @@ -17026,7 +18704,7 @@ export namespace Prisma { NOT?: DWhereInput | DWhereInput[] id?: StringFilter<"D"> | string bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -17049,7 +18727,7 @@ export namespace Prisma { OR?: DWhereInput[] NOT?: DWhereInput | DWhereInput[] bool?: BoolFilter<"D"> | boolean - byteA?: BytesFilter<"D"> | Buffer + byteA?: BytesFilter<"D"> | Uint8Array xml?: StringFilter<"D"> | string json?: JsonFilter<"D"> jsonb?: JsonFilter<"D"> @@ -17077,7 +18755,7 @@ export namespace Prisma { NOT?: DScalarWhereWithAggregatesInput | DScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"D"> | string bool?: BoolWithAggregatesFilter<"D"> | boolean - byteA?: BytesWithAggregatesFilter<"D"> | Buffer + byteA?: BytesWithAggregatesFilter<"D"> | Uint8Array xml?: StringWithAggregatesFilter<"D"> | string json?: JsonWithAggregatesFilter<"D"> jsonb?: JsonWithAggregatesFilter<"D"> @@ -18205,7 +19883,7 @@ export namespace Prisma { export type DCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonNullValueInput | InputJsonValue jsonb: JsonNullValueInput | InputJsonValue @@ -18215,7 +19893,7 @@ export namespace Prisma { export type DUncheckedCreateInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonNullValueInput | InputJsonValue jsonb: JsonNullValueInput | InputJsonValue @@ -18225,7 +19903,7 @@ export namespace Prisma { export type DUpdateInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18235,7 +19913,7 @@ export namespace Prisma { export type DUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18245,7 +19923,7 @@ export namespace Prisma { export type DCreateManyInput = { id?: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: JsonNullValueInput | InputJsonValue jsonb: JsonNullValueInput | InputJsonValue @@ -18255,7 +19933,7 @@ export namespace Prisma { export type DUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18265,7 +19943,7 @@ export namespace Prisma { export type DUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string bool?: BoolFieldUpdateOperationsInput | boolean - byteA?: BytesFieldUpdateOperationsInput | Buffer + byteA?: BytesFieldUpdateOperationsInput | Uint8Array xml?: StringFieldUpdateOperationsInput | string json?: JsonNullValueInput | InputJsonValue jsonb?: JsonNullValueInput | InputJsonValue @@ -18378,7 +20056,7 @@ export namespace Prisma { not?: NestedBoolFilter<$PrismaModel> | boolean } - export type UserRelationFilter = { + export type UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } @@ -18544,9 +20222,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -18566,9 +20244,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -18728,9 +20406,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -18753,9 +20431,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -19004,7 +20682,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OneOptionalNullableRelationFilter = { + export type OneOptionalNullableScalarRelationFilter = { is?: OneOptionalWhereInput | null isNot?: OneOptionalWhereInput | null } @@ -19074,7 +20752,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide2NullableRelationFilter = { + export type OptionalSide2NullableScalarRelationFilter = { is?: OptionalSide2WhereInput | null isNot?: OptionalSide2WhereInput | null } @@ -19144,7 +20822,7 @@ export namespace Prisma { optionalFloat?: SortOrder } - export type OptionalSide1NullableRelationFilter = { + export type OptionalSide1NullableScalarRelationFilter = { is?: OptionalSide1WhereInput | null isNot?: OptionalSide1WhereInput | null } @@ -19413,10 +21091,10 @@ export namespace Prisma { } export type BytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type IntNullableListFilter<$PrismaModel = never> = { @@ -19460,10 +21138,10 @@ export namespace Prisma { } export type BytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -19809,7 +21487,7 @@ export namespace Prisma { } export type BytesFieldUpdateOperationsInput = { - set?: Buffer + set?: Uint8Array } export type DUpdatelistInput = { @@ -20056,9 +21734,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -20078,9 +21756,9 @@ export namespace Prisma { string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> @@ -20196,17 +21874,17 @@ export namespace Prisma { } export type NestedBytesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesFilter<$PrismaModel> | Uint8Array } export type NestedBytesWithAggregatesFilter<$PrismaModel = never> = { - equals?: Buffer | BytesFieldRefInput<$PrismaModel> - in?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - notIn?: Buffer[] | ListBytesFieldRefInput<$PrismaModel> - not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Buffer + equals?: Uint8Array | BytesFieldRefInput<$PrismaModel> + in?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + notIn?: Uint8Array[] | ListBytesFieldRefInput<$PrismaModel> + not?: NestedBytesWithAggregatesFilter<$PrismaModel> | Uint8Array _count?: NestedIntFilter<$PrismaModel> _min?: NestedBytesFilter<$PrismaModel> _max?: NestedBytesFilter<$PrismaModel> @@ -20990,78 +22668,6 @@ export namespace Prisma { - /** - * Aliases for legacy arg types - */ - /** - * @deprecated Use UserCountOutputTypeDefaultArgs instead - */ - export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs - /** - * @deprecated Use MCountOutputTypeDefaultArgs instead - */ - export type MCountOutputTypeArgs = MCountOutputTypeDefaultArgs - /** - * @deprecated Use NCountOutputTypeDefaultArgs instead - */ - export type NCountOutputTypeArgs = NCountOutputTypeDefaultArgs - /** - * @deprecated Use OneOptionalCountOutputTypeDefaultArgs instead - */ - export type OneOptionalCountOutputTypeArgs = OneOptionalCountOutputTypeDefaultArgs - /** - * @deprecated Use PostDefaultArgs instead - */ - export type PostArgs = PostDefaultArgs - /** - * @deprecated Use UserDefaultArgs instead - */ - export type UserArgs = UserDefaultArgs - /** - * @deprecated Use MDefaultArgs instead - */ - export type MArgs = MDefaultArgs - /** - * @deprecated Use NDefaultArgs instead - */ - export type NArgs = NDefaultArgs - /** - * @deprecated Use OneOptionalDefaultArgs instead - */ - export type OneOptionalArgs = OneOptionalDefaultArgs - /** - * @deprecated Use ManyRequiredDefaultArgs instead - */ - export type ManyRequiredArgs = ManyRequiredDefaultArgs - /** - * @deprecated Use OptionalSide1DefaultArgs instead - */ - export type OptionalSide1Args = OptionalSide1DefaultArgs - /** - * @deprecated Use OptionalSide2DefaultArgs instead - */ - export type OptionalSide2Args = OptionalSide2DefaultArgs - /** - * @deprecated Use ADefaultArgs instead - */ - export type AArgs = ADefaultArgs - /** - * @deprecated Use BDefaultArgs instead - */ - export type BArgs = BDefaultArgs - /** - * @deprecated Use CDefaultArgs instead - */ - export type CArgs = CDefaultArgs - /** - * @deprecated Use DDefaultArgs instead - */ - export type DArgs = DDefaultArgs - /** - * @deprecated Use EDefaultArgs instead - */ - export type EArgs = EDefaultArgs - /** * Batch Payload for updateMany & deleteMany & createMany */ diff --git a/packages/client/src/__tests__/serializeRawParameters.test.ts b/packages/client/src/__tests__/serializeRawParameters.test.ts index 2e23d2e41db2..1574f33f4560 100644 --- a/packages/client/src/__tests__/serializeRawParameters.test.ts +++ b/packages/client/src/__tests__/serializeRawParameters.test.ts @@ -182,7 +182,7 @@ describe('serializeRawParameters', () => { array: ['2020-06-22T17:07:16.348Z', '321804719213721'], }, }, - [123, '321804719213721'], + [123, { prisma__type: 'bigint', prisma__value: '321804719213721' }], ]) }) }) diff --git a/packages/client/src/__tests__/types/$transaction/tsconfig.json b/packages/client/src/__tests__/types/$transaction/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/$transaction/tsconfig.json +++ b/packages/client/src/__tests__/types/$transaction/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/accounts/tsconfig.json b/packages/client/src/__tests__/types/accounts/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/accounts/tsconfig.json +++ b/packages/client/src/__tests__/types/accounts/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/aggregate/tsconfig.json b/packages/client/src/__tests__/types/aggregate/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/aggregate/tsconfig.json +++ b/packages/client/src/__tests__/types/aggregate/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/blog/tsconfig.json b/packages/client/src/__tests__/types/blog/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/blog/tsconfig.json +++ b/packages/client/src/__tests__/types/blog/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/chaining/tsconfig.json b/packages/client/src/__tests__/types/chaining/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/chaining/tsconfig.json +++ b/packages/client/src/__tests__/types/chaining/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/connectOrCreate/tsconfig.json b/packages/client/src/__tests__/types/connectOrCreate/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/connectOrCreate/tsconfig.json +++ b/packages/client/src/__tests__/types/connectOrCreate/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/count/tsconfig.json b/packages/client/src/__tests__/types/count/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/count/tsconfig.json +++ b/packages/client/src/__tests__/types/count/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/deleteMany/tsconfig.json b/packages/client/src/__tests__/types/deleteMany/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/deleteMany/tsconfig.json +++ b/packages/client/src/__tests__/types/deleteMany/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/deprecation/tsconfig.json b/packages/client/src/__tests__/types/deprecation/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/deprecation/tsconfig.json +++ b/packages/client/src/__tests__/types/deprecation/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/distinct/tsconfig.json b/packages/client/src/__tests__/types/distinct/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/distinct/tsconfig.json +++ b/packages/client/src/__tests__/types/distinct/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/findFirst/tsconfig.json b/packages/client/src/__tests__/types/findFirst/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/findFirst/tsconfig.json +++ b/packages/client/src/__tests__/types/findFirst/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/groupBy/tsconfig.json b/packages/client/src/__tests__/types/groupBy/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/groupBy/tsconfig.json +++ b/packages/client/src/__tests__/types/groupBy/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/ignore/tsconfig.json b/packages/client/src/__tests__/types/ignore/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/ignore/tsconfig.json +++ b/packages/client/src/__tests__/types/ignore/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/imports/tsconfig.json b/packages/client/src/__tests__/types/imports/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/imports/tsconfig.json +++ b/packages/client/src/__tests__/types/imports/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/json-filtering-mysql/tsconfig.json b/packages/client/src/__tests__/types/json-filtering-mysql/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/json-filtering-mysql/tsconfig.json +++ b/packages/client/src/__tests__/types/json-filtering-mysql/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/json-filtering-postgres/tsconfig.json b/packages/client/src/__tests__/types/json-filtering-postgres/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/json-filtering-postgres/tsconfig.json +++ b/packages/client/src/__tests__/types/json-filtering-postgres/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/json/tsconfig.json b/packages/client/src/__tests__/types/json/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/json/tsconfig.json +++ b/packages/client/src/__tests__/types/json/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/middlewares/tsconfig.json b/packages/client/src/__tests__/types/middlewares/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/middlewares/tsconfig.json +++ b/packages/client/src/__tests__/types/middlewares/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/namedConstraints/tsconfig.json b/packages/client/src/__tests__/types/namedConstraints/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/namedConstraints/tsconfig.json +++ b/packages/client/src/__tests__/types/namedConstraints/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/native-types/test.ts b/packages/client/src/__tests__/types/native-types/test.ts index 3c6705c138aa..4518e00a6c6e 100644 --- a/packages/client/src/__tests__/types/native-types/test.ts +++ b/packages/client/src/__tests__/types/native-types/test.ts @@ -43,7 +43,7 @@ async function main() { const d: null | { id: string bool: boolean - byteA: Buffer + byteA: Uint8Array xml: string json: Prisma.JsonValue jsonb: Prisma.JsonValue @@ -53,7 +53,7 @@ async function main() { await prisma.d.findFirst({ where: { byteA: { - in: [Buffer.from('data')], + in: [Uint8Array.of(1, 2, 3)], }, }, }) diff --git a/packages/client/src/__tests__/types/native-types/tsconfig.json b/packages/client/src/__tests__/types/native-types/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/native-types/tsconfig.json +++ b/packages/client/src/__tests__/types/native-types/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/pick/tsconfig.json b/packages/client/src/__tests__/types/pick/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/pick/tsconfig.json +++ b/packages/client/src/__tests__/types/pick/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/record/tsconfig.json b/packages/client/src/__tests__/types/record/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/record/tsconfig.json +++ b/packages/client/src/__tests__/types/record/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/scalarList/tsconfig.json b/packages/client/src/__tests__/types/scalarList/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/scalarList/tsconfig.json +++ b/packages/client/src/__tests__/types/scalarList/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/selectRelationCount/tsconfig.json b/packages/client/src/__tests__/types/selectRelationCount/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/selectRelationCount/tsconfig.json +++ b/packages/client/src/__tests__/types/selectRelationCount/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/uncheckedScalarInputs/tsconfig.json b/packages/client/src/__tests__/types/uncheckedScalarInputs/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/uncheckedScalarInputs/tsconfig.json +++ b/packages/client/src/__tests__/types/uncheckedScalarInputs/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/unhappy-nested-or/tsconfig.json b/packages/client/src/__tests__/types/unhappy-nested-or/tsconfig.json index 0fcec0c72427..edb7b4dc7dbf 100644 --- a/packages/client/src/__tests__/types/unhappy-nested-or/tsconfig.json +++ b/packages/client/src/__tests__/types/unhappy-nested-or/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "strict": true, "esModuleInterop": true diff --git a/packages/client/src/__tests__/types/validator/tsconfig.json b/packages/client/src/__tests__/types/validator/tsconfig.json index 9633962d7fd9..65f4c2cf46ad 100644 --- a/packages/client/src/__tests__/types/validator/tsconfig.json +++ b/packages/client/src/__tests__/types/validator/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "target": "ES2020", + "target": "ES2021", "module": "commonjs", "esModuleInterop": true, "noImplicitAny": false, diff --git a/packages/client/src/generation/GenericsArgsInfo.test.ts b/packages/client/src/generation/GenericsArgsInfo.test.ts index fbe11d14fbfa..242f29315b78 100644 --- a/packages/client/src/generation/GenericsArgsInfo.test.ts +++ b/packages/client/src/generation/GenericsArgsInfo.test.ts @@ -70,6 +70,7 @@ function dmmf(inputObjectTypes: DMMF.InputType[]) { models: [], types: [], enums: [], + indexes: [], }, mappings: { diff --git a/packages/client/src/generation/TSClient/Args.ts b/packages/client/src/generation/TSClient/Args.ts index c97f9cc9367e..0741f697d40c 100644 --- a/packages/client/src/generation/TSClient/Args.ts +++ b/packages/client/src/generation/TSClient/Args.ts @@ -1,13 +1,6 @@ import { DMMF } from '../dmmf-types' import * as ts from '../ts-builders' -import { - extArgsParam, - getIncludeName, - getLegacyModelArgName, - getModelArgName, - getOmitName, - getSelectName, -} from '../utils' +import { extArgsParam, getIncludeName, getModelArgName, getOmitName, getSelectName } from '../utils' import { GenerateContext } from './GenerateContext' import { getArgFieldJSDoc } from './helpers' import { buildInputField } from './Input' @@ -35,7 +28,7 @@ export class ArgsTypeBuilder { addSchemaArgs(args: readonly DMMF.SchemaArg[]): this { for (const arg of args) { - const inputField = buildInputField(arg, this.context.genericArgsInfo) + const inputField = buildInputField(arg, this.context) const docComment = getArgFieldJSDoc(this.type, this.action, arg) if (docComment) { @@ -80,9 +73,6 @@ export class ArgsTypeBuilder { } addOmitArg(): this { - if (!this.context.isPreviewFeatureOn('omitApi')) { - return this - } this.addProperty( ts .property( @@ -110,13 +100,6 @@ export class ArgsTypeBuilder { } createExport() { - if (!this.action && this.hasDefaultName) { - this.context.defaultArgsAliases.addPossibleAlias( - getModelArgName(this.type.name), - getLegacyModelArgName(this.type.name), - ) - } - this.context.defaultArgsAliases.registerArgName(this.moduleExport.declaration.name) return this.moduleExport } } diff --git a/packages/client/src/generation/TSClient/DefaultArgsAliases.ts b/packages/client/src/generation/TSClient/DefaultArgsAliases.ts index c289592e9f97..10fbce77d9ef 100644 --- a/packages/client/src/generation/TSClient/DefaultArgsAliases.ts +++ b/packages/client/src/generation/TSClient/DefaultArgsAliases.ts @@ -1,46 +1,7 @@ -import * as ts from '../ts-builders' -import { extArgsParam } from '../utils' - -type AliasDefinition = { - newName: string - legacyName: string -} - export class DefaultArgsAliases { private existingArgTypes = new Set() - private possibleAliases: AliasDefinition[] = [] - - addPossibleAlias(newName: string, legacyName: string) { - this.possibleAliases.push({ newName, legacyName }) - } registerArgName(name: string) { this.existingArgTypes.add(name) } - - generateAliases() { - const aliases: string[] = [] - for (const { newName, legacyName } of this.possibleAliases) { - if (this.existingArgTypes.has(legacyName)) { - // alias to and old name is not created if there - // is already existing arg type with the same name - continue - } - - aliases.push( - ts.stringify( - ts - .moduleExport( - ts - .typeDeclaration(legacyName, ts.namedType(newName).addGenericArgument(extArgsParam.toArgument())) - .addGenericParameter(extArgsParam), - ) - .setDocComment(ts.docComment(`@deprecated Use ${newName} instead`)), - { indentLevel: 1 }, - ), - ) - } - - return aliases.join('\n') - } } diff --git a/packages/client/src/generation/TSClient/GenerateContext.ts b/packages/client/src/generation/TSClient/GenerateContext.ts index c9db483f4fd1..d8dd5cc411fa 100644 --- a/packages/client/src/generation/TSClient/GenerateContext.ts +++ b/packages/client/src/generation/TSClient/GenerateContext.ts @@ -2,25 +2,21 @@ import { GeneratorConfig } from '@prisma/generator-helper' import { DMMFHelper } from '../dmmf' import { GenericArgsInfo } from '../GenericsArgsInfo' -import { DefaultArgsAliases } from './DefaultArgsAliases' export interface GenerateContextOptions { dmmf: DMMFHelper genericArgsInfo: GenericArgsInfo - defaultArgsAliases: DefaultArgsAliases generator?: GeneratorConfig } export class GenerateContext implements GenerateContextOptions { dmmf: DMMFHelper genericArgsInfo: GenericArgsInfo - defaultArgsAliases: DefaultArgsAliases generator?: GeneratorConfig - constructor({ dmmf, genericArgsInfo, defaultArgsAliases, generator }: GenerateContextOptions) { + constructor({ dmmf, genericArgsInfo, generator }: GenerateContextOptions) { this.dmmf = dmmf this.genericArgsInfo = genericArgsInfo - this.defaultArgsAliases = defaultArgsAliases this.generator = generator } diff --git a/packages/client/src/generation/TSClient/Input.ts b/packages/client/src/generation/TSClient/Input.ts index 91373b135d71..f8c78e37a74b 100644 --- a/packages/client/src/generation/TSClient/Input.ts +++ b/packages/client/src/generation/TSClient/Input.ts @@ -4,26 +4,28 @@ import { uniqueBy } from '../../runtime/utils/uniqueBy' import type { DMMF } from '../dmmf-types' import { GenericArgsInfo } from '../GenericsArgsInfo' import * as ts from '../ts-builders' +import { appendSkipType } from '../utils' import { GraphQLScalarToJSTypeTable, JSOutputTypeToInputType } from '../utils/common' import { TAB_SIZE } from './constants' import type { Generable } from './Generable' +import { GenerateContext } from './GenerateContext' export class InputField implements Generable { constructor( protected readonly field: DMMF.SchemaArg, - protected readonly genericsInfo: GenericArgsInfo, + protected readonly context: GenerateContext, protected readonly source?: string, ) {} public toTS(): string { - const property = buildInputField(this.field, this.genericsInfo, this.source) + const property = buildInputField(this.field, this.context, this.source) return ts.stringify(property) } } -export function buildInputField(field: DMMF.SchemaArg, genericsInfo: GenericArgsInfo, source?: string): ts.Property { - const tsType = buildAllFieldTypes(field.inputTypes, genericsInfo, source) +export function buildInputField(field: DMMF.SchemaArg, context: GenerateContext, source?: string): ts.Property { + const tsType = buildAllFieldTypes(field.inputTypes, context, source) - const tsProperty = ts.property(field.name, tsType) + const tsProperty = ts.property(field.name, field.isRequired ? tsType : appendSkipType(context, tsType)) if (!field.isRequired) { tsProperty.optional() } @@ -93,16 +95,16 @@ function namedInputType(typeName: string) { */ function buildAllFieldTypes( inputTypes: readonly DMMF.InputTypeRef[], - genericsInfo: GenericArgsInfo, + context: GenerateContext, source?: string, ): ts.TypeBuilder { const inputObjectTypes = inputTypes.filter((t) => t.location === 'inputObjectTypes' && !t.isList) const otherTypes = inputTypes.filter((t) => t.location !== 'inputObjectTypes' || t.isList) - const tsInputObjectTypes = inputObjectTypes.map((type) => buildSingleFieldType(type, genericsInfo, source)) + const tsInputObjectTypes = inputObjectTypes.map((type) => buildSingleFieldType(type, context.genericArgsInfo, source)) - const tsOtherTypes = otherTypes.map((type) => buildSingleFieldType(type, genericsInfo, source)) + const tsOtherTypes = otherTypes.map((type) => buildSingleFieldType(type, context.genericArgsInfo, source)) if (tsOtherTypes.length === 0) { return xorTypes(tsInputObjectTypes) @@ -121,7 +123,7 @@ function xorTypes(types: ts.TypeBuilder[]) { export class InputType implements Generable { private generatedName: string - constructor(protected readonly type: DMMF.InputType, protected readonly genericsInfo: GenericArgsInfo) { + constructor(protected readonly type: DMMF.InputType, protected readonly context: GenerateContext) { this.generatedName = type.name } @@ -135,7 +137,7 @@ export class InputType implements Generable { ${indent( fields .map((arg) => { - return new InputField(arg, this.genericsInfo, source).toTS() + return new InputField(arg, this.context, source).toTS() }) .join('\n'), TAB_SIZE, @@ -151,7 +153,7 @@ export type ${this.getTypeName()} = ${wrapWithAtLeast(body, type)}` } private getTypeName() { - if (this.genericsInfo.typeNeedsGenericModelArg(this.type)) { + if (this.context.genericArgsInfo.typeNeedsGenericModelArg(this.type)) { return `${this.generatedName}<$PrismaModel = never>` } return this.generatedName diff --git a/packages/client/src/generation/TSClient/Model.ts b/packages/client/src/generation/TSClient/Model.ts index 497a9d1e68a3..286460030260 100644 --- a/packages/client/src/generation/TSClient/Model.ts +++ b/packages/client/src/generation/TSClient/Model.ts @@ -3,7 +3,6 @@ import { klona } from 'klona' import type { DMMFHelper } from '../dmmf' import { DMMF } from '../dmmf-types' -import { GenericArgsInfo } from '../GenericsArgsInfo' import * as ts from '../ts-builders' import { extArgsParam, @@ -21,13 +20,16 @@ import { getGroupByName, getGroupByPayloadName, getIncludeCreateManyAndReturnName, + getIncludeUpdateManyAndReturnName, getMaxAggregateName, getMinAggregateName, getModelArgName, getModelFieldArgsName, getPayloadName, getSelectCreateManyAndReturnName, + getSelectUpdateManyAndReturnName, getSumAggregateName, + getUpdateManyAndReturnOutputType, } from '../utils' import { InputField } from './../TSClient' import { ArgsTypeBuilder } from './Args' @@ -45,15 +47,15 @@ import { getModelActions } from './utils/getModelActions' export class Model implements Generable { protected type: DMMF.OutputType protected createManyAndReturnType: undefined | DMMF.OutputType + protected updateManyAndReturnType: undefined | DMMF.OutputType protected mapping?: DMMF.ModelMapping private dmmf: DMMFHelper - private genericsInfo: GenericArgsInfo constructor(protected readonly model: DMMF.Model, protected readonly context: GenerateContext) { this.dmmf = context.dmmf - this.genericsInfo = context.genericArgsInfo this.type = this.context.dmmf.outputTypeMap.model[model.name] this.createManyAndReturnType = this.context.dmmf.outputTypeMap.model[getCreateManyAndReturnOutputType(model.name)] + this.updateManyAndReturnType = this.context.dmmf.outputTypeMap.model[getUpdateManyAndReturnOutputType(model.name)] this.mapping = this.context.dmmf.mappings.modelOperations.find((m) => m.model === model.name)! } @@ -94,6 +96,19 @@ export class Model implements Generable { ) } argsTypes.push(args.createExport()) + } else if (action === 'updateManyAndReturn') { + const args = new ArgsTypeBuilder(this.type, this.context, action as DMMF.ModelAction) + .addSelectArg(getSelectUpdateManyAndReturnName(this.type.name)) + .addOmitArg() + .addSchemaArgs(field.args) + + if (this.updateManyAndReturnType) { + args.addIncludeArgIfHasRelations( + getIncludeUpdateManyAndReturnName(this.model.name), + this.updateManyAndReturnType, + ) + } + argsTypes.push(args.createExport()) } else if (action !== 'groupBy' && action !== 'aggregate') { argsTypes.push( new ArgsTypeBuilder(this.type, this.context, action as DMMF.ModelAction) @@ -155,7 +170,6 @@ export class Model implements Generable { } const groupByArgsName = getGroupByArgsName(model.name) - this.context.defaultArgsAliases.registerArgName(groupByArgsName) return ` @@ -165,7 +179,7 @@ ${indent( groupByRootField.args .map((arg) => { const updatedArg = { ...arg, comment: getArgFieldJSDoc(this.type, DMMF.ModelAction.groupBy, arg) } - return new InputField(updatedArg, this.genericsInfo).toTS() + return new InputField(updatedArg, this.context).toTS() }) .concat( groupByType.fields @@ -238,7 +252,6 @@ type ${getGroupByPayloadName(model.name)} = Prisma } const aggregateArgsName = getAggregateArgsName(model.name) - this.context.defaultArgsAliases.registerArgName(aggregateArgsName) const aggregateName = getAggregateName(model.name) @@ -272,7 +285,7 @@ ${ ], })), } - return new InputType(newType, this.genericsInfo).toTS() + return new InputType(newType, this.context).toTS() }) .join('\n') : '' @@ -283,7 +296,7 @@ ${indent( aggregateRootField.args .map((arg) => { const updatedArg = { ...arg, comment: getArgFieldJSDoc(this.type, DMMF.ModelAction.aggregate, arg) } - return new InputField(updatedArg, this.genericsInfo).toTS() + return new InputField(updatedArg, this.context).toTS() }) .concat( aggregateType.fields.map((f) => { @@ -333,17 +346,21 @@ export type ${getAggregateGetName(model.name)} f.kind === 'object') const includeType = hasRelationField - ? ts.stringify(buildIncludeType({ modelName: this.model.name, dmmf: this.dmmf, fields: this.type.fields }), { - newLine: 'leading', - }) + ? ts.stringify( + buildIncludeType({ modelName: this.model.name, context: this.context, fields: this.type.fields }), + { + newLine: 'leading', + }, + ) : '' const createManyAndReturnIncludeType = @@ -352,7 +369,7 @@ export type ${getAggregateGetName(model.name)} `'${name}'`).join(' | ') return `\ ${ availableActions.includes(DMMF.ModelAction.aggregate) - ? `type ${countArgsName} = + ? `type ${countArgsName} = Omit<${getModelArgName(name, DMMF.ModelAction.findMany)}, ${excludedArgsForCountType}> & { select?: ${getCountAggregateInputName(name)} | true } ` : '' } -export interface ${name}Delegate { +export interface ${name}Delegate<${genericDelegateParams.map((param) => ts.stringify(param)).join(', ')}> { ${indent(`[K: symbol]: { types: Prisma.TypeMap['model']['${name}'], meta: { name: '${name}' } }`, TAB_SIZE)} ${nonAggregateActions .map((action) => { @@ -557,60 +602,8 @@ ${ readonly fields: ${getFieldRefsTypeName(name)}; } -/** - * The delegate class that acts as a "Promise-like" for ${name}. - * Why is this prefixed with \`Prisma__\`? - * Because we want to prevent naming conflicts as mentioned in - * https://github.com/prisma/prisma-client-js/issues/707 - */ -export interface Prisma__${name}Client extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise'; -${indent( - fields - .filter((f) => { - return ( - f.outputType.location === 'outputObjectTypes' && !dmmf.isComposite(f.outputType.type) && f.name !== '_count' - ) - }) - .map((f) => { - return ` -${f.name} = {}>(args?: Subset>): ${ts.stringify( - getReturnType({ - modelName: f.outputType.type, - actionName: f.outputType.isList ? DMMF.ModelAction.findMany : DMMF.ModelAction.findUniqueOrThrow, - isChaining: true, - isNullable: f.isNullable, - }), - )};` - }) - .join('\n'), - 2, -)} - - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise; - /** - * Attaches a callback for only the rejection of the Promise. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of the callback. - */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise; - /** - * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The - * resolved value cannot be modified from the callback. - * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). - * @returns A Promise for the completion of the callback. - */ - finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise; -}` +${ts.stringify(buildFluentWrapperDefinition(name, this.outputType, this.context))} +` } } @@ -632,7 +625,6 @@ function buildModelDelegateMethod(modelName: string, actionName: DMMF.ModelActio } function getNonAggregateMethodArgs(modelName: string, actionName: DMMF.ModelAction) { - getReturnType const makeParameter = (type: ts.TypeBuilder) => ts.parameter('args', type) if (actionName === DMMF.ModelAction.count) { const type = ts.omit( @@ -722,7 +714,10 @@ export function getReturnType({ return ts.prismaPromise(ts.namedType('BatchPayload')) } - const isList = actionName === DMMF.ModelAction.findMany || actionName === DMMF.ModelAction.createManyAndReturn + const isList = + actionName === DMMF.ModelAction.findMany || + actionName === DMMF.ModelAction.createManyAndReturn || + actionName === DMMF.ModelAction.updateManyAndReturn /** * Important: We handle findMany or isList special, as we don't want chaining from there @@ -752,10 +747,11 @@ export function getReturnType({ function getFluentWrapper(modelName: string, resultType: ts.TypeBuilder, nullType: ts.TypeBuilder = ts.neverType) { return ts - .namedType(`Prisma__${modelName}Client`) + .namedType(fluentWrapperName(modelName)) .addGenericArgument(resultType) .addGenericArgument(nullType) .addGenericArgument(extArgsParam.toArgument()) + .addGenericArgument(ts.namedType('ClientOptions')) } function getResultType(modelName: string, actionName: DMMF.ModelAction) { @@ -764,4 +760,127 @@ function getResultType(modelName: string, actionName: DMMF.ModelAction) { .addGenericArgument(ts.namedType(getPayloadName(modelName)).addGenericArgument(extArgsParam.toArgument())) .addGenericArgument(ts.namedType('T')) .addGenericArgument(ts.stringLiteral(actionName)) + .addGenericArgument(ts.namedType('ClientOptions')) +} + +function buildFluentWrapperDefinition(modelName: string, outputType: DMMF.OutputType, context: GenerateContext) { + const definition = ts.interfaceDeclaration(fluentWrapperName(modelName)) + definition + .addGenericParameter(ts.genericParameter('T')) + .addGenericParameter(ts.genericParameter('Null').default(ts.neverType)) + .addGenericParameter(extArgsParam) + .addGenericParameter(ts.genericParameter('ClientOptions').default(ts.objectType())) + .extends(ts.prismaPromise(ts.namedType('T'))) + + definition.add(ts.property(ts.toStringTag, ts.stringLiteral('PrismaPromise')).readonly()) + definition.addMultiple( + outputType.fields + .filter( + (field) => + field.outputType.location === 'outputObjectTypes' && + !context.dmmf.isComposite(field.outputType.type) && + field.name !== '_count', + ) + .map((field) => { + const fieldArgType = ts + .namedType(getFieldArgName(field, modelName)) + .addGenericArgument(extArgsParam.toArgument()) + + const argsParam = ts.genericParameter('T').extends(fieldArgType).default(ts.objectType()) + return ts + .method(field.name) + .addGenericParameter(argsParam) + .addParameter(ts.parameter('args', subset(argsParam.toArgument(), fieldArgType)).optional()) + .setReturnType( + getReturnType({ + modelName: field.outputType.type, + actionName: field.outputType.isList ? DMMF.ModelAction.findMany : DMMF.ModelAction.findUniqueOrThrow, + isChaining: true, + isNullable: field.isNullable, + }), + ) + }), + ) + + definition.add( + ts + .method('then') + .setDocComment( + ts.docComment` + Attaches callbacks for the resolution and/or rejection of the Promise. + @param onfulfilled The callback to execute when the Promise is resolved. + @param onrejected The callback to execute when the Promise is rejected. + @returns A Promise for the completion of which ever callback is executed. + `, + ) + .addGenericParameter(ts.genericParameter('TResult1').default(ts.namedType('T'))) + .addGenericParameter(ts.genericParameter('TResult2').default(ts.neverType)) + .addParameter(promiseCallback('onfulfilled', ts.parameter('value', ts.namedType('T')), ts.namedType('TResult1'))) + .addParameter(promiseCallback('onrejected', ts.parameter('reason', ts.anyType), ts.namedType('TResult2'))) + .setReturnType(ts.promise(ts.unionType([ts.namedType('TResult1'), ts.namedType('TResult2')]))), + ) + + definition.add( + ts + .method('catch') + .setDocComment( + ts.docComment` + Attaches a callback for only the rejection of the Promise. + @param onrejected The callback to execute when the Promise is rejected. + @returns A Promise for the completion of the callback. + `, + ) + .addGenericParameter(ts.genericParameter('TResult').default(ts.neverType)) + .addParameter(promiseCallback('onrejected', ts.parameter('reason', ts.anyType), ts.namedType('TResult'))) + .setReturnType(ts.promise(ts.unionType([ts.namedType('T'), ts.namedType('TResult')]))), + ) + + definition.add( + ts + .method('finally') + .setDocComment( + ts.docComment` + Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + resolved value cannot be modified from the callback. + @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + @returns A Promise for the completion of the callback. + `, + ) + .addParameter( + ts.parameter('onfinally', ts.unionType([ts.functionType(), ts.undefinedType, ts.nullType])).optional(), + ) + .setReturnType(ts.promise(ts.namedType('T'))), + ) + + return ts.moduleExport(definition).setDocComment(ts.docComment` + The delegate class that acts as a "Promise-like" for ${modelName}. + Why is this prefixed with \`Prisma__\`? + Because we want to prevent naming conflicts as mentioned in + https://github.com/prisma/prisma-client-js/issues/707 + `) +} + +function promiseCallback(name: string, callbackParam: ts.Parameter, returnType: ts.TypeBuilder) { + return ts + .parameter( + name, + ts.unionType([ + ts.functionType().addParameter(callbackParam).setReturnType(typeOrPromiseLike(returnType)), + ts.undefinedType, + ts.nullType, + ]), + ) + .optional() +} + +function typeOrPromiseLike(type: ts.TypeBuilder) { + return ts.unionType([type, ts.namedType('PromiseLike').addGenericArgument(type)]) +} + +function subset(arg: ts.TypeBuilder, baseType: ts.TypeBuilder) { + return ts.namedType('Subset').addGenericArgument(arg).addGenericArgument(baseType) +} + +function fluentWrapperName(modelName: string) { + return `Prisma__${modelName}Client` } diff --git a/packages/client/src/generation/TSClient/Payload.ts b/packages/client/src/generation/TSClient/Payload.ts index 64dd3eb04a38..e240203c120d 100644 --- a/packages/client/src/generation/TSClient/Payload.ts +++ b/packages/client/src/generation/TSClient/Payload.ts @@ -1,12 +1,12 @@ -import { DMMFHelper } from '../dmmf' import { DMMF } from '../dmmf-types' import * as ts from '../ts-builders' import { extArgsParam, getPayloadName } from '../utils' import { lowerCase } from '../utils/common' +import { GenerateContext } from './GenerateContext' import { buildModelOutputProperty } from './Output' -export function buildModelPayload(model: DMMF.Model, dmmf: DMMFHelper) { - const isComposite = dmmf.isComposite(model.name) +export function buildModelPayload(model: DMMF.Model, context: GenerateContext) { + const isComposite = context.dmmf.isComposite(model.name) const objects = ts.objectType() const scalars = ts.objectType() @@ -14,13 +14,13 @@ export function buildModelPayload(model: DMMF.Model, dmmf: DMMFHelper) { for (const field of model.fields) { if (field.kind === 'object') { - if (dmmf.isComposite(field.type)) { - composites.add(buildModelOutputProperty(field, dmmf)) + if (context.dmmf.isComposite(field.type)) { + composites.add(buildModelOutputProperty(field, context.dmmf)) } else { - objects.add(buildModelOutputProperty(field, dmmf)) + objects.add(buildModelOutputProperty(field, context.dmmf)) } } else if (field.kind === 'enum' || field.kind === 'scalar') { - scalars.add(buildModelOutputProperty(field, dmmf)) + scalars.add(buildModelOutputProperty(field, context.dmmf)) } } diff --git a/packages/client/src/generation/TSClient/PrismaClient.ts b/packages/client/src/generation/TSClient/PrismaClient.ts index 9cdef78f6571..0a5a88f55c21 100644 --- a/packages/client/src/generation/TSClient/PrismaClient.ts +++ b/packages/client/src/generation/TSClient/PrismaClient.ts @@ -1,12 +1,13 @@ -import type { DataSource, DMMF, GeneratorConfig } from '@prisma/generator-helper' +import type { DataSource, DMMF } from '@prisma/generator-helper' import { assertNever } from '@prisma/internals' import indent from 'indent-string' +import { ClientOtherOps } from '../../runtime' import { Operation } from '../../runtime/core/types/exported/Result' -import { DMMFHelper } from '../dmmf' import * as ts from '../ts-builders' import { capitalize, + extArgsParam, getAggregateName, getCountAggregateOutputName, getFieldRefsTypeName, @@ -15,74 +16,104 @@ import { getPayloadName, } from '../utils' import { lowerCase } from '../utils/common' -import { runtimeImport } from '../utils/runtimeImport' +import { runtimeImport, runtimeImportedType } from '../utils/runtimeImport' import { TAB_SIZE } from './constants' import { Datasources } from './Datasources' import type { Generable } from './Generable' +import { GenerateContext } from './GenerateContext' +import { globalOmitConfig } from './globalOmit' import { TSClientOptions } from './TSClient' import { getModelActions } from './utils/getModelActions' -function clientTypeMapModelsDefinition(this: PrismaClientClass) { - const modelNames = this.dmmf.datamodel.models.map((m) => m.name) +function clientTypeMapModelsDefinition(context: GenerateContext) { + const meta = ts.objectType() - return `{ - meta: { - modelProps: ${modelNames.map((mn) => `'${lowerCase(mn)}'`).join(' | ')} - txIsolationLevel: ${ - this.dmmf.hasEnumInNamespace('TransactionIsolationLevel', 'prisma') ? 'Prisma.TransactionIsolationLevel' : 'never' - } - }, - model: {${modelNames.reduce((acc, modelName) => { - const actions = getModelActions(this.dmmf, modelName) - - return `${acc} - ${modelName}: { - payload: ${getPayloadName(modelName)} - fields: Prisma.${getFieldRefsTypeName(modelName)} - operations: {${actions.reduce((acc, action) => { - return `${acc} - ${action}: { - args: Prisma.${getModelArgName(modelName, action)}, - result: ${clientTypeMapModelsResultDefinition(modelName, action)} - }` - }, '')} - } - }` - }, '')} + const modelNames = context.dmmf.datamodel.models.map((m) => m.name) + + // `modelNames` can be empty if `generate --allow-no-models` is used. + if (modelNames.length === 0) { + meta.add(ts.property('modelProps', ts.neverType)) + } else { + meta.add(ts.property('modelProps', ts.unionType(modelNames.map((name) => ts.stringLiteral(lowerCase(name)))))) } -}` + + const isolationLevel = context.dmmf.hasEnumInNamespace('TransactionIsolationLevel', 'prisma') + ? ts.namedType('Prisma.TransactionIsolationLevel') + : ts.neverType + meta.add(ts.property('txIsolationLevel', isolationLevel)) + + const model = ts.objectType() + + model.addMultiple( + modelNames.map((modelName) => { + const entry = ts.objectType() + entry.add( + ts.property('payload', ts.namedType(getPayloadName(modelName)).addGenericArgument(extArgsParam.toArgument())), + ) + entry.add(ts.property('fields', ts.namedType(`Prisma.${getFieldRefsTypeName(modelName)}`))) + const actions = getModelActions(context.dmmf, modelName) + const operations = ts.objectType() + operations.addMultiple( + actions.map((action) => { + const operationType = ts.objectType() + const argsType = `Prisma.${getModelArgName(modelName, action)}` + operationType.add(ts.property('args', ts.namedType(argsType).addGenericArgument(extArgsParam.toArgument()))) + operationType.add(ts.property('result', clientTypeMapModelsResultDefinition(modelName, action))) + return ts.property(action, operationType) + }), + ) + entry.add(ts.property('operations', operations)) + return ts.property(modelName, entry) + }), + ) + + return ts.objectType().add(ts.property('meta', meta)).add(ts.property('model', model)) } -function clientTypeMapModelsResultDefinition(modelName: string, action: Exclude) { - if (action === 'count') return `$Utils.Optional<${getCountAggregateOutputName(modelName)}> | number` - if (action === 'groupBy') return `$Utils.Optional<${getGroupByName(modelName)}>[]` - if (action === 'aggregate') return `$Utils.Optional<${getAggregateName(modelName)}>` - if (action === 'findRaw') return `Prisma.JsonObject` - if (action === 'aggregateRaw') return `Prisma.JsonObject` - if (action === 'deleteMany') return `Prisma.BatchPayload` - if (action === 'createMany') return `Prisma.BatchPayload` - if (action === 'createManyAndReturn') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>[]` - if (action === 'updateMany') return `Prisma.BatchPayload` - if (action === 'findMany') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>[]` - if (action === 'findFirst') return `$Utils.PayloadToResult<${getPayloadName(modelName)}> | null` - if (action === 'findUnique') return `$Utils.PayloadToResult<${getPayloadName(modelName)}> | null` - if (action === 'findFirstOrThrow') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>` - if (action === 'findUniqueOrThrow') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>` - if (action === 'create') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>` - if (action === 'update') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>` - if (action === 'upsert') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>` - if (action === 'delete') return `$Utils.PayloadToResult<${getPayloadName(modelName)}>` +function clientTypeMapModelsResultDefinition( + modelName: string, + action: Exclude, +): ts.TypeBuilder { + if (action === 'count') + return ts.unionType([ts.optional(ts.namedType(getCountAggregateOutputName(modelName))), ts.numberType]) + if (action === 'groupBy') return ts.array(ts.optional(ts.namedType(getGroupByName(modelName)))) + if (action === 'aggregate') return ts.optional(ts.namedType(getAggregateName(modelName))) + if (action === 'findRaw') return ts.namedType('JsonObject') + if (action === 'aggregateRaw') return ts.namedType('JsonObject') + if (action === 'deleteMany') return ts.namedType('BatchPayload') + if (action === 'createMany') return ts.namedType('BatchPayload') + if (action === 'createManyAndReturn') return ts.array(payloadToResult(modelName)) + if (action === 'updateMany') return ts.namedType('BatchPayload') + if (action === 'updateManyAndReturn') return ts.array(payloadToResult(modelName)) + if (action === 'findMany') return ts.array(payloadToResult(modelName)) + if (action === 'findFirst') return ts.unionType([payloadToResult(modelName), ts.nullType]) + if (action === 'findUnique') return ts.unionType([payloadToResult(modelName), ts.nullType]) + if (action === 'findFirstOrThrow') return payloadToResult(modelName) + if (action === 'findUniqueOrThrow') return payloadToResult(modelName) + if (action === 'create') return payloadToResult(modelName) + if (action === 'update') return payloadToResult(modelName) + if (action === 'upsert') return payloadToResult(modelName) + if (action === 'delete') return payloadToResult(modelName) assertNever(action, `Unknown action: ${action}`) } -function clientTypeMapOthersDefinition(this: PrismaClientClass) { - const otherOperationsNames = this.dmmf.getOtherOperationNames().flatMap((n) => { - if (n === 'executeRaw' || n === 'queryRaw') { - return [`$${n}Unsafe`, `$${n}`] +function payloadToResult(modelName: string) { + return ts.namedType('$Utils.PayloadToResult').addGenericArgument(ts.namedType(getPayloadName(modelName))) +} + +function clientTypeMapOthersDefinition(context: GenerateContext) { + const otherOperationsNames = context.dmmf.getOtherOperationNames().flatMap((name) => { + const results = [`$${name}`] + if (name === 'executeRaw' || name === 'queryRaw') { + results.push(`$${name}Unsafe`) } - return `$${n}` + if (name === 'queryRaw' && context.isPreviewFeatureOn('typedSql')) { + results.push(`$queryRawTyped`) + } + + return results }) const argsResultMap = { @@ -91,7 +122,8 @@ function clientTypeMapOthersDefinition(this: PrismaClientClass) { $executeRawUnsafe: { args: '[query: string, ...values: any[]]', result: 'any' }, $queryRawUnsafe: { args: '[query: string, ...values: any[]]', result: 'any' }, $runCommandRaw: { args: 'Prisma.InputJsonObject', result: 'Prisma.JsonObject' }, - } + $queryRawTyped: { args: 'runtime.UnknownTypedSql', result: 'Prisma.JsonObject' }, + } satisfies Record return `{ other: { @@ -108,31 +140,50 @@ function clientTypeMapOthersDefinition(this: PrismaClientClass) { }` } -function clientTypeMapDefinition(this: PrismaClientClass) { - const typeMap = `${clientTypeMapModelsDefinition.bind(this)()} & ${clientTypeMapOthersDefinition.bind(this)()}` +function clientTypeMapDefinition(context: GenerateContext) { + const typeMap = `${ts.stringify(clientTypeMapModelsDefinition(context))} & ${clientTypeMapOthersDefinition(context)}` return ` -interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs}, $Utils.Record> { - returns: Prisma.TypeMap +interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { + returns: Prisma.TypeMap } -export type TypeMap = ${typeMap}` +export type TypeMap = ${typeMap}` } -function clientExtensionsDefinitions(this: PrismaClientClass) { - const typeMap = clientTypeMapDefinition.call(this) - const define = `export const defineExtension: $Extensions.ExtendsHook<'define', Prisma.TypeMapCb, $Extensions.DefaultArgs>` - const extend = ` $extends: $Extensions.ExtendsHook<'extends', Prisma.TypeMapCb, ExtArgs>` +function clientExtensionsDefinitions(context: GenerateContext) { + const typeMap = clientTypeMapDefinition(context) + const define = ts.moduleExport( + ts.constDeclaration( + 'defineExtension', + ts + .namedType('$Extensions.ExtendsHook') + .addGenericArgument(ts.stringLiteral('define')) + .addGenericArgument(ts.namedType('Prisma.TypeMapCb')) + .addGenericArgument(ts.namedType('$Extensions.DefaultArgs')), + ), + ) + + return [typeMap, ts.stringify(define)].join('\n') +} - return { - prismaNamespaceDefinitions: ` -${typeMap} -${define}`, - prismaClientDefinitions: `${extend}`, - } +function extendsPropertyDefinition() { + const extendsDefinition = ts + .namedType('$Extensions.ExtendsHook') + .addGenericArgument(ts.stringLiteral('extends')) + .addGenericArgument(ts.namedType('Prisma.TypeMapCb')) + .addGenericArgument(ts.namedType('ExtArgs')) + .addGenericArgument( + ts + .namedType('$Utils.Call') + .addGenericArgument(ts.namedType('Prisma.TypeMapCb')) + .addGenericArgument(ts.objectType().add(ts.property('extArgs', ts.namedType('ExtArgs')))), + ) + .addGenericArgument(ts.namedType('ClientOptions')) + return ts.stringify(ts.property('$extends', extendsDefinition), { indentLevel: 1 }) } -function batchingTransactionDefinition(this: PrismaClientClass) { +function batchingTransactionDefinition(context: GenerateContext) { const method = ts .method('$transaction') .setDocComment( @@ -154,7 +205,7 @@ function batchingTransactionDefinition(this: PrismaClientClass) { .addParameter(ts.parameter('arg', ts.arraySpread(ts.namedType('P')))) .setReturnType(ts.promise(ts.namedType('runtime.Types.Utils.UnwrapTuple').addGenericArgument(ts.namedType('P')))) - if (this.dmmf.hasEnumInNamespace('TransactionIsolationLevel', 'prisma')) { + if (context.dmmf.hasEnumInNamespace('TransactionIsolationLevel', 'prisma')) { const options = ts .objectType() .formatInline() @@ -165,14 +216,14 @@ function batchingTransactionDefinition(this: PrismaClientClass) { return ts.stringify(method, { indentLevel: 1, newLine: 'leading' }) } -function interactiveTransactionDefinition(this: PrismaClientClass) { +function interactiveTransactionDefinition(context: GenerateContext) { const options = ts .objectType() .formatInline() .add(ts.property('maxWait', ts.numberType).optional()) .add(ts.property('timeout', ts.numberType).optional()) - if (this.dmmf.hasEnumInNamespace('TransactionIsolationLevel', 'prisma')) { + if (context.dmmf.hasEnumInNamespace('TransactionIsolationLevel', 'prisma')) { const isolationLevel = ts.property('isolationLevel', ts.namedType('Prisma.TransactionIsolationLevel')).optional() options.add(isolationLevel) } @@ -196,9 +247,9 @@ function interactiveTransactionDefinition(this: PrismaClientClass) { return ts.stringify(method, { indentLevel: 1, newLine: 'leading' }) } -function queryRawDefinition(this: PrismaClientClass) { +function queryRawDefinition(context: GenerateContext) { // we do not generate `$queryRaw...` definitions if not supported - if (!this.dmmf.mappings.otherOperations.write.includes('queryRaw')) { + if (!context.dmmf.mappings.otherOperations.write.includes('queryRaw')) { return '' // https://github.com/prisma/prisma/issues/8189 } @@ -209,7 +260,7 @@ function queryRawDefinition(this: PrismaClientClass) { * \`\`\` * const result = await prisma.$queryRaw\`SELECT * FROM User WHERE id = \${1} OR email = \${'user@email.com'};\` * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; @@ -221,15 +272,15 @@ function queryRawDefinition(this: PrismaClientClass) { * \`\`\` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise;` } -function executeRawDefinition(this: PrismaClientClass) { +function executeRawDefinition(context: GenerateContext) { // we do not generate `$executeRaw...` definitions if not supported - if (!this.dmmf.mappings.otherOperations.write.includes('executeRaw')) { + if (!context.dmmf.mappings.otherOperations.write.includes('executeRaw')) { return '' // https://github.com/prisma/prisma/issues/8189 } @@ -240,7 +291,7 @@ function executeRawDefinition(this: PrismaClientClass) { * \`\`\` * const result = await prisma.$executeRaw\`UPDATE User SET cool = \${true} WHERE email = \${'user@email.com'};\` * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; @@ -252,14 +303,50 @@ function executeRawDefinition(this: PrismaClientClass) { * \`\`\` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * \`\`\` - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise;` } -function metricDefinition(this: PrismaClientClass) { - if (!this.generator?.previewFeatures.includes('metrics')) { +function queryRawTypedDefinition(context: GenerateContext) { + if (!context.isPreviewFeatureOn('typedSql')) { + return '' + } + if (!context.dmmf.mappings.otherOperations.write.includes('queryRaw')) { + return '' + } + + const param = ts.genericParameter('T') + const method = ts + .method('$queryRawTyped') + .setDocComment( + ts.docComment` + Executes a typed SQL query and returns a typed result + @example + \`\`\` + import { myQuery } from '@prisma/client/sql' + + const result = await prisma.$queryRawTyped(myQuery()) + \`\`\` + `, + ) + .addGenericParameter(param) + .addParameter( + ts.parameter( + 'typedSql', + runtimeImportedType('TypedSql') + .addGenericArgument(ts.array(ts.unknownType)) + .addGenericArgument(param.toArgument()), + ), + ) + .setReturnType(ts.prismaPromise(ts.array(param.toArgument()))) + + return ts.stringify(method, { indentLevel: 1, newLine: 'leading' }) +} + +function metricDefinition(context: GenerateContext) { + if (!context.isPreviewFeatureOn('metrics')) { return '' } @@ -268,7 +355,7 @@ function metricDefinition(this: PrismaClientClass) { .setDocComment( ts.docComment` Gives access to the client metrics in json or prometheus format. - + @example \`\`\` const metrics = await prisma.$metrics.json() @@ -282,9 +369,9 @@ function metricDefinition(this: PrismaClientClass) { return ts.stringify(property, { indentLevel: 1, newLine: 'leading' }) } -function runCommandRawDefinition(this: PrismaClientClass) { +function runCommandRawDefinition(context: GenerateContext) { // we do not generate `$runCommandRaw` definitions if not supported - if (!this.dmmf.mappings.otherOperations.write.includes('runCommandRaw')) { + if (!context.dmmf.mappings.otherOperations.write.includes('runCommandRaw')) { return '' // https://github.com/prisma/prisma/issues/8189 } @@ -301,7 +388,7 @@ function runCommandRawDefinition(this: PrismaClientClass) { explain: false, }) \`\`\` - + Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). `) @@ -332,23 +419,15 @@ function eventRegistrationMethodDeclaration(runtimeNameTs: TSClientOptions['runt } export class PrismaClientClass implements Generable { - protected clientExtensionsDefinitions: { - prismaNamespaceDefinitions: string - prismaClientDefinitions: string - } constructor( - protected readonly dmmf: DMMFHelper, + protected readonly context: GenerateContext, protected readonly internalDatasources: DataSource[], protected readonly outputDir: string, protected readonly runtimeNameTs: TSClientOptions['runtimeNameTs'], protected readonly browser?: boolean, - protected readonly generator?: GeneratorConfig, - protected readonly cwd?: string, - ) { - this.clientExtensionsDefinitions = clientExtensionsDefinitions.bind(this)() - } + ) {} private get jsDoc(): string { - const { dmmf } = this + const { dmmf } = this.context let example: DMMF.ModelMapping @@ -364,7 +443,7 @@ export class PrismaClientClass implements Generable { return `/** * ## Prisma Client ʲˢ - * + * * Type-safe database client for TypeScript & Node.js * @example * \`\`\` @@ -373,23 +452,24 @@ export class PrismaClientClass implements Generable { * const ${lowerCase(example.plural)} = await prisma.${lowerCase(example.model)}.findMany() * \`\`\` * - * + * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */` } public toTSWithoutNamespace(): string { - const { dmmf } = this + const { dmmf } = this.context + return `${this.jsDoc} export class PrismaClient< - T extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, - U = 'log' extends keyof T ? T['log'] extends Array ? Prisma.GetEvents : never : never, + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } ${indent(this.jsDoc, TAB_SIZE)} - constructor(optionsArg ?: Prisma.Subset); + constructor(optionsArg ?: Prisma.Subset); ${eventRegistrationMethodDeclaration(this.runtimeNameTs)} /** @@ -410,14 +490,15 @@ export class PrismaClient< $use(cb: Prisma.Middleware): void ${[ - executeRawDefinition.bind(this)(), - queryRawDefinition.bind(this)(), - batchingTransactionDefinition.bind(this)(), - interactiveTransactionDefinition.bind(this)(), - runCommandRawDefinition.bind(this)(), - metricDefinition.bind(this)(), + executeRawDefinition(this.context), + queryRawDefinition(this.context), + queryRawTypedDefinition(this.context), + batchingTransactionDefinition(this.context), + interactiveTransactionDefinition(this.context), + runCommandRawDefinition(this.context), + metricDefinition(this.context), applyPendingMigrationsDefinition.bind(this)(), - this.clientExtensionsDefinitions.prismaClientDefinitions, + extendsPropertyDefinition(), ] .filter((d) => d !== null) .join('\n') @@ -431,6 +512,7 @@ ${[ if (methodName === 'constructor') { methodName = '["constructor"]' } + const generics = ['ExtArgs', 'ClientOptions'] return `\ /** * \`prisma.${methodName}\`: Exposes CRUD operations for the **${m.model}** model. @@ -440,7 +522,7 @@ ${[ * const ${lowerCase(m.plural)} = await prisma.${methodName}.findMany() * \`\`\` */ -get ${methodName}(): Prisma.${m.model}Delegate;` +get ${methodName}(): Prisma.${m.model}Delegate<${generics.join(', ')}>;` }) .join('\n\n'), 2, @@ -451,10 +533,11 @@ get ${methodName}(): Prisma.${m.model}Delegate;` const clientOptions = this.buildClientOptions() return `${new Datasources(this.internalDatasources).toTS()} -${this.clientExtensionsDefinitions.prismaNamespaceDefinitions} +${clientExtensionsDefinitions(this.context)} export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' ${ts.stringify(ts.moduleExport(clientOptions))} +${ts.stringify(globalOmitConfig(this.context.dmmf))} /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' @@ -495,6 +578,7 @@ export type PrismaAction = | 'createManyAndReturn' | 'update' | 'updateMany' + | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' @@ -563,7 +647,7 @@ export type TransactionClient = Omit( fields .filter( (field) => field.outputType.location === 'scalar' || field.outputType.location === 'enumTypes' || - dmmf.isComposite(field.outputType.type), + context.dmmf.isComposite(field.outputType.type), ) .map((field) => ts.stringLiteral(field.name)), ) @@ -45,17 +46,27 @@ export function buildOmitType({ modelName, fields, dmmf }: BuildOmitTypeParams) .addGenericArgument(keysType) .addGenericArgument(modelResultExtensionsType(modelName)) + if (context.isPreviewFeatureOn('strictUndefinedChecks')) { + omitType.addGenericArgument(ts.namedType('$Types.Skip')) + } + return buildExport(getOmitName(modelName), omitType) } type BuildSelectTypeParams = { modelName: string fields: readonly DMMF.SchemaField[] + context: GenerateContext typeName?: string } -export function buildSelectType({ modelName, typeName = getSelectName(modelName), fields }: BuildSelectTypeParams) { - const objectType = buildSelectOrIncludeObject(modelName, fields) +export function buildSelectType({ + modelName, + typeName = getSelectName(modelName), + fields, + context, +}: BuildSelectTypeParams) { + const objectType = buildSelectOrIncludeObject(modelName, fields, context) const selectType = ts .namedType('$Extensions.GetSelect') .addGenericArgument(objectType) @@ -68,16 +79,17 @@ function modelResultExtensionsType(modelName: string) { return extArgsParam.toArgument().subKey('result').subKey(lowerCase(modelName)) } -export function buildScalarSelectType({ modelName, fields }: BuildSelectTypeParams) { +export function buildScalarSelectType({ modelName, fields, context }: BuildSelectTypeParams) { const object = buildSelectOrIncludeObject( modelName, fields.filter((field) => field.outputType.location === 'scalar' || field.outputType.location === 'enumTypes'), + context, ) return ts.moduleExport(ts.typeDeclaration(`${getSelectName(modelName)}Scalar`, object)) } -function buildSelectOrIncludeObject(modelName: string, fields: readonly DMMF.SchemaField[]) { +function buildSelectOrIncludeObject(modelName: string, fields: readonly DMMF.SchemaField[], context: GenerateContext) { const objectType = ts.objectType() for (const field of fields) { @@ -88,8 +100,10 @@ function buildSelectOrIncludeObject(modelName: string, fields: readonly DMMF.Sch fieldType.addVariant(subSelectType) } - objectType.add(ts.property(field.name, fieldType).optional()) + objectType.add(ts.property(field.name, appendSkipType(context, fieldType)).optional()) } + + return objectType } diff --git a/packages/client/src/generation/TSClient/TSClient.ts b/packages/client/src/generation/TSClient/TSClient.ts index 9e43e3f9e58a..7e8f09e24737 100644 --- a/packages/client/src/generation/TSClient/TSClient.ts +++ b/packages/client/src/generation/TSClient/TSClient.ts @@ -4,10 +4,10 @@ import ciInfo from 'ci-info' import crypto from 'crypto' import indent from 'indent-string' import path from 'path' -import { O } from 'ts-toolbelt' +import type { O } from 'ts-toolbelt' import type { GetPrismaClientConfig } from '../../runtime/getPrismaClient' -import { DMMFHelper } from '../dmmf' +import { datamodelEnumToSchemaEnum, DMMFHelper } from '../dmmf' // eslint-disable-next-line @typescript-eslint/no-unused-vars -- used in jsdoc import type { buildClient } from '../generateClient' import { GenerateClientOptions } from '../generateClient' @@ -16,6 +16,7 @@ import * as ts from '../ts-builders' import { buildDebugInitialization } from '../utils/buildDebugInitialization' import { buildDirname } from '../utils/buildDirname' import { buildRuntimeDataModel } from '../utils/buildDMMF' +import { buildQueryCompilerWasmModule } from '../utils/buildGetQueryCompilerWasmModule' import { buildQueryEngineWasmModule } from '../utils/buildGetQueryEngineWasmModule' import { buildInjectableEdgeEnv } from '../utils/buildInjectableEdgeEnv' import { buildNFTAnnotations } from '../utils/buildNFTAnnotations' @@ -23,7 +24,6 @@ import { buildRequirePath } from '../utils/buildRequirePath' import { buildWarnEnvConflicts } from '../utils/buildWarnEnvConflicts' import { commonCodeJS, commonCodeTS } from './common' import { Count } from './Count' -import { DefaultArgsAliases } from './DefaultArgsAliases' import { Enum } from './Enum' import { FieldRefInput } from './FieldRefInput' import { type Generable } from './Generable' @@ -32,11 +32,22 @@ import { InputType } from './Input' import { Model } from './Model' import { PrismaClientClass } from './PrismaClient' +type RuntimeName = + | 'binary' + | 'library' + | 'wasm' + | 'edge' + | 'edge-esm' + | 'index-browser' + | 'react-native' + | 'client' + | (string & {}) // workaround to also allow other strings while keeping auto-complete intact + export type TSClientOptions = O.Required & { /** More granular way to define JS runtime name */ - runtimeNameJs: 'binary' | 'library' | 'wasm' | 'edge' | 'edge-esm' | 'index-browser' | 'react-native' | String + runtimeNameJs: RuntimeName /** More granular way to define TS runtime name */ - runtimeNameTs: 'binary' | 'library' | 'wasm' | 'edge' | 'edge-esm' | 'index-browser' | 'react-native' | String + runtimeNameTs: RuntimeName /** When generating the browser client */ browser: boolean /** When generating via the Deno CLI */ @@ -70,7 +81,6 @@ export class TSClient implements Generable { binaryPaths, generator, outputDir, - schemaPath, datamodel: inlineSchema, runtimeBase, runtimeNameJs, @@ -103,10 +113,12 @@ export class TSClient implements Generable { .createHash('sha256') .update(Buffer.from(inlineSchema, 'utf8').toString('base64')) .digest('hex') + + const datasourceFilePath = datasources[0].sourceFilePath const config: Omit = { generator, relativeEnvPaths, - relativePath: pathToPosix(path.relative(outputDir, path.dirname(schemaPath))), + relativePath: pathToPosix(path.relative(outputDir, path.dirname(datasourceFilePath))), clientVersion: this.options.clientVersion, engineVersion: this.options.engineVersion, datasourceNames: datasources.map((d) => d.name), @@ -132,7 +144,9 @@ ${buildRequirePath(edge)} * Enums */ ${this.dmmf.schema.enumTypes.prisma?.map((type) => new Enum(type, true).toJS()).join('\n\n')} -${this.dmmf.schema.enumTypes.model?.map((type) => new Enum(type, false).toJS()).join('\n\n') ?? ''} +${this.dmmf.datamodel.enums + .map((datamodelEnum) => new Enum(datamodelEnumToSchemaEnum(datamodelEnum), false).toJS()) + .join('\n\n')} ${new Enum( { @@ -148,6 +162,7 @@ const config = ${JSON.stringify(config, null, 2)} ${buildDirname(edge, relativeOutdir)} ${buildRuntimeDataModel(this.dmmf.datamodel, runtimeNameJs)} ${buildQueryEngineWasmModule(wasm, copyEngine, runtimeNameJs)} +${buildQueryCompilerWasmModule(wasm, copyEngine, runtimeNameJs)} ${buildInjectableEdgeEnv(edge, datasources)} ${buildWarnEnvConflicts(edge, runtimeBase, runtimeNameJs)} ${buildDebugInitialization(edge)} @@ -158,12 +173,13 @@ ${buildNFTAnnotations(edge || !copyEngine, clientEngineType, binaryTargets, rela ` return code } + public toTS(): string { const { reusedTs } = this.options // in some cases, we just re-export the existing types if (reusedTs) { - const topExports = ts.moduleExportFrom('*', `./${reusedTs}`) + const topExports = ts.moduleExportFrom(`./${reusedTs}`) return ts.stringify(topExports) } @@ -172,17 +188,14 @@ ${buildNFTAnnotations(edge || !copyEngine, clientEngineType, binaryTargets, rela dmmf: this.dmmf, genericArgsInfo: this.genericsInfo, generator: this.options.generator, - defaultArgsAliases: new DefaultArgsAliases(), }) const prismaClientClass = new PrismaClientClass( - this.dmmf, + context, this.options.datasources, this.options.outputDir, this.options.runtimeNameTs, this.options.browser, - this.options.generator, - path.dirname(this.options.schemaPath), ) const commonCode = commonCodeTS(this.options) @@ -199,12 +212,14 @@ ${buildNFTAnnotations(edge || !copyEngine, clientEngineType, binaryTargets, rela const modelEnums: string[] = [] const modelEnumsAliases: string[] = [] - for (const enumType of this.dmmf.schema.enumTypes.model ?? []) { - modelEnums.push(new Enum(enumType, false).toTS()) + for (const datamodelEnum of this.dmmf.datamodel.enums) { + modelEnums.push(new Enum(datamodelEnumToSchemaEnum(datamodelEnum), false).toTS()) modelEnumsAliases.push( - ts.stringify(ts.moduleExport(ts.typeDeclaration(enumType.name, ts.namedType(`$Enums.${enumType.name}`)))), ts.stringify( - ts.moduleExport(ts.constDeclaration(enumType.name, ts.namedType(`typeof $Enums.${enumType.name}`))), + ts.moduleExport(ts.typeDeclaration(datamodelEnum.name, ts.namedType(`$Enums.${datamodelEnum.name}`))), + ), + ts.stringify( + ts.moduleExport(ts.constDeclaration(datamodelEnum.name, ts.namedType(`typeof $Enums.${datamodelEnum.name}`))), ), ) } @@ -299,23 +314,15 @@ ${this.dmmf.inputObjectTypes.prisma ${baseName} > | OptionalFlat>`) - acc.push(new InputType(inputType, this.genericsInfo).overrideName(`${inputType.name}Base`).toTS()) + acc.push(new InputType(inputType, context).overrideName(`${inputType.name}Base`).toTS()) } else { - acc.push(new InputType(inputType, this.genericsInfo).toTS()) + acc.push(new InputType(inputType, context).toTS()) } return acc }, [] as string[]) .join('\n')} -${ - this.dmmf.inputObjectTypes.model?.map((inputType) => new InputType(inputType, this.genericsInfo).toTS()).join('\n') ?? - '' -} - -/** - * Aliases for legacy arg types - */ -${context.defaultArgsAliases.generateAliases()} +${this.dmmf.inputObjectTypes.model?.map((inputType) => new InputType(inputType, context).toTS()).join('\n') ?? ''} /** * Batch Payload for updateMany & deleteMany & createMany diff --git a/packages/client/src/generation/TSClient/common.ts b/packages/client/src/generation/TSClient/common.ts index 54bd4d11cd69..67ee5505b456 100644 --- a/packages/client/src/generation/TSClient/common.ts +++ b/packages/client/src/generation/TSClient/common.ts @@ -9,6 +9,7 @@ export const commonCodeJS = ({ browser, clientVersion, engineVersion, + generator, deno, }: TSClientOptions): string => `${deno ? 'const exports = {}' : ''} Object.defineProperty(exports, "__esModule", { value: true }); @@ -21,7 +22,6 @@ import { PrismaClientRustPanicError, PrismaClientInitializationError, PrismaClientValidationError, - NotFoundError, getPrismaClient, sqltag, empty, @@ -35,6 +35,7 @@ import { defineDmmfProperty, Public, getRuntime, + skip } from '${runtimeBase}/${runtimeNameJs}.js'` : browser ? ` @@ -44,6 +45,7 @@ const { makeStrictEnum, Public, getRuntime, + skip } = require('${runtimeBase}/${runtimeNameJs}.js') ` : ` @@ -53,12 +55,12 @@ const { PrismaClientRustPanicError, PrismaClientInitializationError, PrismaClientValidationError, - NotFoundError, getPrismaClient, sqltag, empty, join, raw, + skip, Decimal, Debug, objectEnumValues, @@ -67,7 +69,8 @@ const { warnOnce, defineDmmfProperty, Public, - getRuntime + getRuntime, + createParam, } = require('${runtimeBase}/${runtimeNameJs}.js') ` } @@ -91,7 +94,6 @@ Prisma.PrismaClientUnknownRequestError = ${notSupportOnBrowser('PrismaClientUnkn Prisma.PrismaClientRustPanicError = ${notSupportOnBrowser('PrismaClientRustPanicError', browser)} Prisma.PrismaClientInitializationError = ${notSupportOnBrowser('PrismaClientInitializationError', browser)} Prisma.PrismaClientValidationError = ${notSupportOnBrowser('PrismaClientValidationError', browser)} -Prisma.NotFoundError = ${notSupportOnBrowser('NotFoundError', browser)} Prisma.Decimal = Decimal /** @@ -121,6 +123,8 @@ Prisma.NullTypes = { JsonNull: objectEnumValues.classes.JsonNull, AnyNull: objectEnumValues.classes.AnyNull } + +${buildPrismaSkipJs(generator.previewFeatures)} ` export const notSupportOnBrowser = (fnc: string, browser?: boolean) => { @@ -134,7 +138,13 @@ In case this error is unexpected for you, please report it in https://pris.ly/pr return fnc } -export const commonCodeTS = ({ runtimeBase, runtimeNameTs, clientVersion, engineVersion }: TSClientOptions) => ({ +export const commonCodeTS = ({ + runtimeBase, + runtimeNameTs, + clientVersion, + engineVersion, + generator, +}: TSClientOptions) => ({ tsWithoutNamespace: () => `import * as runtime from '${runtimeBase}/${runtimeNameTs}'; import $Types = runtime.Types // general types import $Public = runtime.Types.Public @@ -161,7 +171,6 @@ export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownReque export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError -export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag @@ -172,6 +181,8 @@ export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql +${buildPrismaSkipTs(generator.previewFeatures)} + /** * Decimal.js */ @@ -180,7 +191,7 @@ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** - * Metrics + * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric @@ -205,61 +216,23 @@ export type PrismaVersion = { client: string } -export const prismaVersion: PrismaVersion +export const prismaVersion: PrismaVersion /** * Utility Types */ -/** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON object. - * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. - */ -export type JsonObject = {[Key in string]?: JsonValue} - -/** - * From https://github.com/sindresorhus/type-fest/ - * Matches a JSON array. - */ -export interface JsonArray extends Array {} - -/** - * From https://github.com/sindresorhus/type-fest/ - * Matches any valid JSON value. - */ -export type JsonValue = string | number | boolean | JsonObject | JsonArray | null - -/** - * Matches a JSON object. - * Unlike \`JsonObject\`, this type allows undefined and read-only properties. - */ -export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null} - -/** - * Matches a JSON array. - * Unlike \`JsonArray\`, readonly arrays are assignable to this type. - */ -export interface InputJsonArray extends ReadonlyArray {} -/** - * Matches any valid value that can be used as an input for operations like - * create and update as the value of a JSON field. Unlike \`JsonValue\`, this - * type allows read-only arrays and read-only object properties and disallows - * \`null\` at the top level. - * - * \`null\` cannot be used as the value of a JSON field because its meaning - * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or - * \`Prisma.DbNull\` to clear the JSON value and set the field to the database - * NULL value instead. - * - * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values - */ -export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown } +export import JsonObject = runtime.JsonObject +export import JsonArray = runtime.JsonArray +export import JsonValue = runtime.JsonValue +export import InputJsonObject = runtime.InputJsonObject +export import InputJsonArray = runtime.InputJsonArray +export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of \`null\` values when working with JSON fields. - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { @@ -272,21 +245,21 @@ ${buildNullClass('AnyNull')} /** * Helper for filtering JSON entries that have \`null\` on the database (empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON \`null\` values (not empty on the db) - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are \`Prisma.DbNull\` or \`Prisma.JsonNull\` - * + * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull @@ -592,9 +565,9 @@ type FieldRefInputType = Model extends never ? never : FieldRe function buildNullClass(name: string) { const source = `/** * Type of \`Prisma.${name}\`. -* +* * You cannot use other instances of this class. Please use the \`Prisma.${name}\` value. -* +* * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class ${name} { @@ -603,3 +576,26 @@ class ${name} { }` return indent(source, TAB_SIZE) } + +function buildPrismaSkipTs(previewFeatures: string[]) { + if (previewFeatures.includes('strictUndefinedChecks')) { + return ` +/** + * Prisma.skip + */ +export import skip = runtime.skip +` + } + + return '' +} + +function buildPrismaSkipJs(previewFeatures: string[]) { + if (previewFeatures.includes('strictUndefinedChecks')) { + return ` +Prisma.skip = skip +` + } + + return '' +} diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/b/schema.prisma b/packages/client/src/generation/TSClient/getReturnType.ts similarity index 100% rename from packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/b/schema.prisma rename to packages/client/src/generation/TSClient/getReturnType.ts diff --git a/packages/client/src/generation/TSClient/globalOmit.ts b/packages/client/src/generation/TSClient/globalOmit.ts new file mode 100644 index 000000000000..1362893d0ce2 --- /dev/null +++ b/packages/client/src/generation/TSClient/globalOmit.ts @@ -0,0 +1,15 @@ +import { DMMFHelper } from '../dmmf' +import * as ts from '../ts-builders' +import { getOmitName } from '../utils' +import { lowerCase } from '../utils/common' + +export function globalOmitConfig(dmmf: DMMFHelper) { + const objectType = ts.objectType().addMultiple( + dmmf.datamodel.models.map((model) => { + const type = ts.namedType(getOmitName(model.name)) + return ts.property(lowerCase(model.name), type).optional() + }), + ) + + return ts.moduleExport(ts.typeDeclaration('GlobalOmitConfig', objectType)) +} diff --git a/packages/client/src/generation/TSClient/jsdoc.ts b/packages/client/src/generation/TSClient/jsdoc.ts index 70a31caea4a9..93b66a8cda8a 100644 --- a/packages/client/src/generation/TSClient/jsdoc.ts +++ b/packages/client/src/generation/TSClient/jsdoc.ts @@ -110,7 +110,7 @@ const ${lowerCase(ctx.mapping.model)} = await ${ctx.method}({ body: (ctx) => { const onlySelect = ctx.firstScalar ? `\n// Create many ${ctx.plural} and only return the \`${ctx.firstScalar.name}\` -const ${lowerCase(ctx.mapping.model)}With${capitalize(ctx.firstScalar.name)}Only = await ${ctx.method}({ +const ${lowerCase(ctx.mapping.model)}With${capitalize(ctx.firstScalar.name)}Only = await ${ctx.method}({ select: { ${ctx.firstScalar.name}: true }, data: [ // ... provide data here @@ -152,7 +152,7 @@ const ${lowerCase(ctx.mapping.model)} = await ${ctx.method}({ }, findUniqueOrThrow: { body: (ctx) => - `Find one ${ctx.singular} that matches the filter or throw an error with \`error.code='P2025'\` + `Find one ${ctx.singular} that matches the filter or throw an error with \`error.code='P2025'\` if no matches were found. @param {${getModelArgName(ctx.model.name, ctx.action)}} args - Arguments to find a ${ctx.singular} @example @@ -376,6 +376,44 @@ const ${lowerCase(ctx.mapping.model)} = await ${ctx.method}({ fields: { data: (singular, plural) => `The data used to update ${plural}.`, where: (singular, plural) => `Filter which ${plural} to update`, + limit: (singular, plural) => `Limit how many ${plural} to update.`, + }, + }, + updateManyAndReturn: { + body: (ctx) => { + const onlySelect = ctx.firstScalar + ? `\n// Update zero or more ${ctx.plural} and only return the \`${ctx.firstScalar.name}\` +const ${lowerCase(ctx.mapping.model)}With${capitalize(ctx.firstScalar.name)}Only = await ${ctx.method}({ + select: { ${ctx.firstScalar.name}: true }, + where: { + // ... provide filter here + }, + data: [ + // ... provide data here + ] +})` + : '' + + return `Update zero or more ${ctx.plural} and returns the data updated in the database. +@param {${getModelArgName(ctx.model.name, ctx.action)}} args - Arguments to update many ${ctx.plural}. +@example +// Update many ${ctx.plural} +const ${lowerCase(ctx.mapping.model)} = await ${ctx.method}({ + where: { + // ... provide filter here + }, + data: [ + // ... provide data here + ] +}) +${onlySelect} +${undefinedNote} +` + }, + fields: { + data: (singular, plural) => `The data used to update ${plural}.`, + where: (singular, plural) => `Filter which ${plural} to update`, + limit: (singular, plural) => `Limit how many ${plural} to update.`, }, }, deleteMany: { @@ -392,6 +430,7 @@ const { count } = await ${ctx.method}({ `, fields: { where: (singular, plural) => `Filter which ${plural} to delete`, + limit: (singular, plural) => `Limit how many ${plural} to delete.`, }, }, aggregateRaw: { @@ -418,7 +457,7 @@ const ${lowerCase(ctx.mapping.model)} = await ${ctx.method}({ @param {${getModelArgName(ctx.model.name, ctx.action)}} args - Select which filters you would like to apply. @example const ${lowerCase(ctx.mapping.model)} = await ${ctx.method}({ - filter: { age: { $gt: 25 } } + filter: { age: { $gt: 25 } } })`, fields: { filter: () => diff --git a/packages/client/src/generation/dmmf-types.ts b/packages/client/src/generation/dmmf-types.ts index e1c4735a49e7..ddf6a3080902 100644 --- a/packages/client/src/generation/dmmf-types.ts +++ b/packages/client/src/generation/dmmf-types.ts @@ -2,4 +2,6 @@ import { DMMF } from '@prisma/generator-helper' export { DMMF } -export type BaseDMMF = Pick +export type BaseDMMF = { + readonly datamodel: Omit +} diff --git a/packages/client/src/generation/dmmf.ts b/packages/client/src/generation/dmmf.ts index 6241bfc54c15..e880fb0ee826 100644 --- a/packages/client/src/generation/dmmf.ts +++ b/packages/client/src/generation/dmmf.ts @@ -1,8 +1,10 @@ -import type { DMMF } from '@prisma/generator-helper' +import { type DMMF } from '@prisma/generator-helper' -import type { Dictionary } from './utils/common' +import { type Dictionary } from './utils/common' import { keyBy } from './utils/common' +export { datamodelEnumToSchemaEnum } from '@prisma/generator-helper' + type NamespacedTypeMap = { prisma: Record model: Record diff --git a/packages/client/src/generation/generateClient.ts b/packages/client/src/generation/generateClient.ts index e1acc6d8735c..488d23a93557 100644 --- a/packages/client/src/generation/generateClient.ts +++ b/packages/client/src/generation/generateClient.ts @@ -1,6 +1,14 @@ import Debug from '@prisma/debug' import { overwriteFile } from '@prisma/fetch-engine' -import type { BinaryPaths, ConnectorType, DataSource, DMMF, GeneratorConfig } from '@prisma/generator-helper' +import type { + ActiveConnectorType, + BinaryPaths, + ConnectorType, + DataSource, + DMMF, + GeneratorConfig, + SqlQueryOutput, +} from '@prisma/generator-helper' import { assertNever, ClientEngineType, @@ -17,14 +25,14 @@ import { ensureDir } from 'fs-extra' import { bold, dim, green, red } from 'kleur/colors' import path from 'path' import pkgUp from 'pkg-up' -import { type O } from 'ts-toolbelt' +import type { O } from 'ts-toolbelt' import clientPkg from '../../package.json' import type { DMMF as PrismaClientDMMF } from './dmmf-types' import { getPrismaClientDMMF } from './getDMMF' import { BrowserJS, JS, TS, TSClient } from './TSClient' import { TSClientOptions } from './TSClient/TSClient' -import type { Dictionary } from './utils/common' +import { buildTypedSql } from './typedSql/typedSql' const debug = Debug('prisma:client:generateClient') @@ -56,16 +64,21 @@ export interface GenerateClientOptions { copyRuntimeSourceMaps?: boolean engineVersion: string clientVersion: string - activeProvider: string + activeProvider: ActiveConnectorType envPaths?: EnvPaths /** When --postinstall is passed via CLI */ postinstall?: boolean /** When --no-engine is passed via CLI */ copyEngine?: boolean + typedSql?: SqlQueryOutput[] +} + +export interface FileMap { + [name: string]: string | FileMap } export interface BuildClientResult { - fileMap: Dictionary + fileMap: FileMap prismaClientDmmf: PrismaClientDMMF.Document } @@ -85,6 +98,7 @@ export async function buildClient({ postinstall, copyEngine, envPaths, + typedSql, }: O.Required): Promise { // we define the basic options for the client generation const clientEngineType = getClientEngineType(generator) @@ -180,7 +194,7 @@ export async function buildClient({ } // we store the generated contents here - const fileMap: Record = {} + const fileMap: FileMap = {} fileMap['index.js'] = JS(nodeClient) fileMap['index.d.ts'] = TS(nodeClient) fileMap['default.js'] = JS(defaultClient) @@ -194,7 +208,13 @@ export async function buildClient({ fileMap['react-native.d.ts'] = TS(rnTsClient) } - if (generator.previewFeatures.includes('driverAdapters')) { + const usesWasmRuntime = generator.previewFeatures.includes('driverAdapters') + + // TODO: adjust below code + + if (usesWasmRuntime) { + const usesClientEngine = clientEngineType === ClientEngineType.Client + // The trampoline client points to #main-entry-point (see below). We use // imports similar to an exports map to ensure correct imports.❗ Before // going GA, please notify @millsp as some things can be cleaned up: @@ -210,35 +230,40 @@ export async function buildClient({ // In short: A lot can be simplified, but can only happen in GA & P6. fileMap['default.js'] = JS(trampolineTsClient) fileMap['default.d.ts'] = TS(trampolineTsClient) - fileMap['wasm-worker-loader.js'] = `export default import('./query_engine_bg.wasm')` - fileMap['wasm-edge-light-loader.js'] = `export default import('./query_engine_bg.wasm?module')` + if (usesClientEngine) { + fileMap['wasm-worker-loader.mjs'] = `export default import('./query_compiler_bg.wasm')` + fileMap['wasm-edge-light-loader.mjs'] = `export default import('./query_compiler_bg.wasm?module')` + } else { + fileMap['wasm-worker-loader.mjs'] = `export default import('./query_engine_bg.wasm')` + fileMap['wasm-edge-light-loader.mjs'] = `export default import('./query_engine_bg.wasm?module')` + } pkgJson['browser'] = 'default.js' // also point to the trampoline client otherwise it is picked up by cfw pkgJson['imports'] = { - // when `import('#wasm-engine-loader')` is called, it will be resolved to the correct file - '#wasm-engine-loader': { + // when `import('#wasm-engine-loader')` or `import('#wasm-compiler-loader')` is called, it will be resolved to the correct file + [usesClientEngine ? '#wasm-compiler-loader' : '#wasm-engine-loader']: { // Keys reference: https://runtime-keys.proposal.wintercg.org/#keys /** * Vercel Edge Functions / Next.js Middlewares */ - 'edge-light': './wasm-edge-light-loader.js', + 'edge-light': './wasm-edge-light-loader.mjs', /** * Cloudflare Workers, Cloudflare Pages */ - workerd: './wasm-worker-loader.js', + workerd: './wasm-worker-loader.mjs', /** * (Old) Cloudflare Workers * @millsp It's a fallback, in case both other keys didn't work because we could be on a different edge platform. It's a hypothetical case rather than anything actually tested. */ - worker: './wasm-worker-loader.js', + worker: './wasm-worker-loader.mjs', /** * Fallback for every other JavaScript runtime */ - default: './wasm-worker-loader.js', + default: './wasm-worker-loader.mjs', }, // when `require('#main-entry-point')` is called, it will be resolved to the correct file '#main-entry-point': exportsMapDefault, @@ -280,6 +305,37 @@ export * from './edge.js'` fileMap['deno/polyfill.js'] = 'globalThis.process = { env: Deno.env.toObject() }; globalThis.global = globalThis' } + if (typedSql && typedSql.length > 0) { + const edgeRuntimeName = usesWasmRuntime ? 'wasm' : 'edge' + const cjsEdgeIndex = `./sql/index.${edgeRuntimeName}.js` + const esmEdgeIndex = `./sql/index.${edgeRuntimeName}.mjs` + pkgJson.exports['./sql'] = { + require: { + types: './sql/index.d.ts', + 'edge-light': cjsEdgeIndex, + workerd: cjsEdgeIndex, + worker: cjsEdgeIndex, + node: './sql/index.js', + default: './sql/index.js', + }, + import: { + types: './sql/index.d.ts', + 'edge-light': esmEdgeIndex, + workerd: esmEdgeIndex, + worker: esmEdgeIndex, + node: './sql/index.mjs', + default: './sql/index.mjs', + }, + default: './sql/index.js', + } as any + fileMap['sql'] = buildTypedSql({ + dmmf, + runtimeBase: getTypedSqlRuntimeBase(runtimeBase), + mainRuntimeName: getNodeRuntimeName(clientEngineType), + queries: typedSql, + edgeRuntimeName, + }) + } fileMap['package.json'] = JSON.stringify(pkgJson, null, 2) return { @@ -288,6 +344,22 @@ export * from './edge.js'` } } +// relativizes runtime import base for typed sql +// absolute path stays unmodified, relative goes up a level +function getTypedSqlRuntimeBase(runtimeBase: string) { + if (!runtimeBase.startsWith('.')) { + // absolute path + return runtimeBase + } + + if (runtimeBase.startsWith('./')) { + // replace ./ with ../ + return `.${runtimeBase}` + } + + return `../${runtimeBase}` +} + // TODO: explore why we have a special case for excluding pnpm async function getDefaultOutdir(outputDir: string): Promise { if (outputDir.endsWith('node_modules/@prisma/client')) { @@ -330,6 +402,7 @@ export async function generateClient(options: GenerateClientOptions): Promise { - const filePath = path.join(outputDir, fileName) - // The deletion of the file is necessary, so VSCode - // picks up the changes. - if (existsSync(filePath)) { - await fs.unlink(filePath) - } - await fs.writeFile(filePath, file) - }), - ) + await writeFileMap(outputDir, fileMap) const runtimeDir = path.join(__dirname, `${testMode ? '../' : ''}../runtime`) @@ -452,12 +516,9 @@ export async function generateClient(options: GenerateClientOptions): Promise { + const absolutePath = path.join(outputDir, fileName) + // The deletion of the file is necessary, so VSCode + // picks up the changes. + await fs.rm(absolutePath, { recursive: true, force: true }) + if (typeof content === 'string') { + // file + await fs.writeFile(absolutePath, content) + } else { + // subdirectory + await fs.mkdir(absolutePath) + await writeFileMap(absolutePath, content) + } + }), + ) +} + function isWasmEngineSupported(provider: ConnectorType) { return provider === 'postgresql' || provider === 'postgres' || provider === 'mysql' || provider === 'sqlite' } @@ -484,6 +564,8 @@ function validateDmmfAgainstDenylists(prismaClientDmmf: PrismaClientDMMF.Documen 'PrismaClient', 'Prisma', // JavaScript keywords + 'async', + 'await', 'break', 'case', 'catch', @@ -522,6 +604,7 @@ function validateDmmfAgainstDenylists(prismaClientDmmf: PrismaClientDMMF.Documen 'throw', 'true', 'try', + 'using', 'typeof', 'var', 'void', @@ -651,6 +734,16 @@ function getNodeRuntimeName(engineType: ClientEngineType) { return 'library' } + if (engineType === ClientEngineType.Client) { + if (!process.env.PRISMA_UNSTABLE_CLIENT_ENGINE_TYPE) { + throw new Error( + 'Unstable Feature: engineType="client" is in a proof of concept phase and not ready to be used publicly yet!', + ) + } + + return 'client' + } + assertNever(engineType, 'Unknown engine type') } diff --git a/packages/client/src/generation/generator.ts b/packages/client/src/generation/generator.ts index 6764a6212d17..d5351bfcb82a 100755 --- a/packages/client/src/generation/generator.ts +++ b/packages/client/src/generation/generator.ts @@ -37,6 +37,7 @@ if (process.argv[1] === __filename) { schemaPath: options.schemaPath, binaryPaths: options.binaryPaths!, datasources: options.datasources, + envPaths: options.envPaths, outputDir, copyRuntime: Boolean(options.generator.config.copyRuntime), // TODO: is this needed/valid? copyRuntimeSourceMaps: Boolean(process.env.PRISMA_COPY_RUNTIME_SOURCEMAPS), @@ -47,6 +48,7 @@ if (process.argv[1] === __filename) { activeProvider: options.datasources[0]?.activeProvider, postinstall: options.postinstall, copyEngine: !options.noEngine, + typedSql: options.typedSql, }) }, }) diff --git a/packages/client/src/generation/ts-builders/AnyDeclarationBuilder.ts b/packages/client/src/generation/ts-builders/AnyDeclarationBuilder.ts index 213cc7a6924b..c729e23e9731 100644 --- a/packages/client/src/generation/ts-builders/AnyDeclarationBuilder.ts +++ b/packages/client/src/generation/ts-builders/AnyDeclarationBuilder.ts @@ -1,7 +1,13 @@ import { ClassDeclaration } from './Class' import { ConstDeclaration } from './ConstDeclaration' import { InterfaceDeclaration } from './Interface' +import { NamespaceDeclaration } from './NamespaceDeclaration' import { TypeDeclaration } from './TypeDeclaration' // TODO: enum -export type AnyDeclarationBuilder = TypeDeclaration | ConstDeclaration | InterfaceDeclaration | ClassDeclaration +export type AnyDeclarationBuilder = + | TypeDeclaration + | ConstDeclaration + | InterfaceDeclaration + | ClassDeclaration + | NamespaceDeclaration diff --git a/packages/client/src/generation/ts-builders/DocComment.test.ts b/packages/client/src/generation/ts-builders/DocComment.test.ts index a5bb435b222e..1e6970d1e8aa 100644 --- a/packages/client/src/generation/ts-builders/DocComment.test.ts +++ b/packages/client/src/generation/ts-builders/DocComment.test.ts @@ -72,3 +72,17 @@ test('tagged template - with content', () => { " `) }) + +test('tagged template - with substitutions', () => { + const name = 'World' + const comment = docComment` + Hello, ${name}! + ` + + expect(stringify(comment)).toMatchInlineSnapshot(` + "/** + * Hello, World! + */ + " + `) +}) diff --git a/packages/client/src/generation/ts-builders/DocComment.ts b/packages/client/src/generation/ts-builders/DocComment.ts index 2673f55946f2..487e4ae1835f 100644 --- a/packages/client/src/generation/ts-builders/DocComment.ts +++ b/packages/client/src/generation/ts-builders/DocComment.ts @@ -25,18 +25,26 @@ export class DocComment implements BasicBuilder { } } -function docComment(strings: TemplateStringsArray): DocComment +function docComment(strings: TemplateStringsArray, ...args: string[]): DocComment function docComment(startingText?: string): DocComment -function docComment(firstParameter: string | TemplateStringsArray | undefined): DocComment { +function docComment(firstParameter: string | TemplateStringsArray | undefined, ...args: string[]): DocComment { if (typeof firstParameter === 'string' || typeof firstParameter === 'undefined') { return new DocComment(firstParameter) } - return docCommentTag(firstParameter) + return docCommentTag(firstParameter, args) } -function docCommentTag(strings: TemplateStringsArray) { +function docCommentTag(strings: TemplateStringsArray, args: string[]) { const docComment = new DocComment() - const lines = trimEmptyLines(strings.join('').split('\n')) + const fullText = strings + .flatMap((str, i) => { + if (i < args.length) { + return [str, args[i]] + } + return [str] + }) + .join('') + const lines = trimEmptyLines(fullText.split('\n')) if (lines.length === 0) { return docComment } diff --git a/packages/client/src/generation/ts-builders/ExportFrom.test.ts b/packages/client/src/generation/ts-builders/ExportFrom.test.ts new file mode 100644 index 000000000000..3580dc23856f --- /dev/null +++ b/packages/client/src/generation/ts-builders/ExportFrom.test.ts @@ -0,0 +1,31 @@ +import { moduleExportFrom, namedExport } from './ExportFrom' +import { stringify } from './stringify' + +test('module name only', () => { + expect(stringify(moduleExportFrom('someModule'))).toMatchInlineSnapshot(`"export * from "someModule""`) +}) + +test('namespace', () => { + const exportDecl = moduleExportFrom('myModule').asNamespace('ns') + expect(stringify(exportDecl)).toMatchInlineSnapshot(`"export * as ns from 'myModule'"`) +}) + +test('named', () => { + const exportDecl = moduleExportFrom('myModule').named('func') + expect(stringify(exportDecl)).toMatchInlineSnapshot(`"export { func } from "myModule""`) +}) + +test('named with alias', () => { + const exportDecl = moduleExportFrom('myModule').named(namedExport('func').as('myFunc')) + expect(stringify(exportDecl)).toMatchInlineSnapshot(`"export { func as myFunc } from "myModule""`) +}) + +test('multiple named', () => { + const exportDecl = moduleExportFrom('myModule') + .named('func1') + .named('func2') + .named(namedExport('func3').as('aliasedFunc3')) + expect(stringify(exportDecl)).toMatchInlineSnapshot( + `"export { func1, func2, func3 as aliasedFunc3 } from "myModule""`, + ) +}) diff --git a/packages/client/src/generation/ts-builders/ExportFrom.ts b/packages/client/src/generation/ts-builders/ExportFrom.ts index f5e276a89484..de91bed21377 100644 --- a/packages/client/src/generation/ts-builders/ExportFrom.ts +++ b/packages/client/src/generation/ts-builders/ExportFrom.ts @@ -1,18 +1,76 @@ import { BasicBuilder } from './BasicBuilder' import { Writer } from './Writer' -export class ExportFrom implements BasicBuilder { - constructor(private modules: '*' | string[], private from: string) {} +export type ExportFrom = NamespaceExport | BindingsExport | ExportAllFrom + +export class NamespaceExport implements BasicBuilder { + constructor(private from: string, private namespace: string) {} + + write(writer: Writer): void { + writer.write(`export * as ${this.namespace} from '${this.from}'`) + } +} + +export class BindingsExport implements BasicBuilder { + private namedExports: NamedExport[] = [] + constructor(private from: string) {} + + named(namedExport: string | NamedExport) { + if (typeof namedExport === 'string') { + namedExport = new NamedExport(namedExport) + } + this.namedExports.push(namedExport) + return this + } + + write(writer: Writer): void { + writer + .write('export ') + .write('{ ') + .writeJoined(', ', this.namedExports) + .write(' }') + + .write(` from "${this.from}"`) + } +} + +export class NamedExport implements BasicBuilder { + private alias: string | undefined + constructor(readonly name: string) {} + + as(alias: string) { + this.alias = alias + return this + } write(writer: Writer): void { - if (this.modules === '*') { - writer.write(`export * from '${this.from}'`) - } else { - writer.write(`export { ${this.modules.join(', ')} } from '${this.from}'`) + writer.write(this.name) + if (this.alias) { + writer.write(' as ').write(this.alias) } } } -export function moduleExportFrom(modules: '*' | string[], from: string) { - return new ExportFrom(modules, from) +export class ExportAllFrom implements BasicBuilder { + constructor(private from: string) {} + + asNamespace(namespace: string) { + return new NamespaceExport(this.from, namespace) + } + + named(binding: string | NamedExport) { + return new BindingsExport(this.from).named(binding) + } + + write(writer: Writer): void { + writer.write(`export * from "${this.from}"`) + } +} + +export function moduleExportFrom(from: string) { + return new ExportAllFrom(from) +} + +export function namedExport(name: string) { + return new NamedExport(name) } diff --git a/packages/client/src/generation/ts-builders/File.ts b/packages/client/src/generation/ts-builders/File.ts new file mode 100644 index 000000000000..c9e7a5ad0393 --- /dev/null +++ b/packages/client/src/generation/ts-builders/File.ts @@ -0,0 +1,39 @@ +import { AnyDeclarationBuilder } from './AnyDeclarationBuilder' +import { BasicBuilder } from './BasicBuilder' +import { Export } from './Export' +import { ExportFrom } from './ExportFrom' +import { Import } from './Import' +import { Writer } from './Writer' + +export type FileItem = AnyDeclarationBuilder | Export | ExportFrom +export class File implements BasicBuilder { + private imports: Import[] = [] + private declarations: FileItem[] = [] + + addImport(moduleImport: Import) { + this.imports.push(moduleImport) + return this + } + add(declaration: FileItem) { + this.declarations.push(declaration) + } + + write(writer: Writer): void { + for (const moduleImport of this.imports) { + writer.writeLine(moduleImport) + } + if (this.imports.length > 0) { + writer.newLine() + } + for (const [i, declaration] of this.declarations.entries()) { + writer.writeLine(declaration) + if (i < this.declarations.length - 1) { + writer.newLine() + } + } + } +} + +export function file(): File { + return new File() +} diff --git a/packages/client/src/generation/ts-builders/FunctionType.ts b/packages/client/src/generation/ts-builders/FunctionType.ts index 85cbf67056fa..5854800f95c3 100644 --- a/packages/client/src/generation/ts-builders/FunctionType.ts +++ b/packages/client/src/generation/ts-builders/FunctionType.ts @@ -7,6 +7,7 @@ import { Writer } from './Writer' export class FunctionType extends TypeBuilder { needsParenthesisWhenIndexed = true needsParenthesisInKeyof = true + needsParenthesisInUnion = true private returnType: TypeBuilder = voidType private parameters: Parameter[] = [] private genericParameters: GenericParameter[] = [] diff --git a/packages/client/src/generation/ts-builders/Import.test.ts b/packages/client/src/generation/ts-builders/Import.test.ts new file mode 100644 index 000000000000..15ef074fe052 --- /dev/null +++ b/packages/client/src/generation/ts-builders/Import.test.ts @@ -0,0 +1,41 @@ +import { moduleImport, namedImport } from './Import' +import { stringify } from './stringify' + +test('module name only', () => { + expect(stringify(moduleImport('someModule'))).toMatchInlineSnapshot(`"import "someModule""`) +}) + +test('default', () => { + const importDecl = moduleImport('myModule').default('mod') + expect(stringify(importDecl)).toMatchInlineSnapshot(`"import mod from "myModule""`) +}) + +test('namespace', () => { + const importDecl = moduleImport('myModule').asNamespace('ns') + expect(stringify(importDecl)).toMatchInlineSnapshot(`"import * as ns from "myModule""`) +}) + +test('named', () => { + const importDecl = moduleImport('myModule').named('func') + expect(stringify(importDecl)).toMatchInlineSnapshot(`"import { func } from "myModule""`) +}) + +test('named with alias', () => { + const importDecl = moduleImport('myModule').named(namedImport('func').as('myFunc')) + expect(stringify(importDecl)).toMatchInlineSnapshot(`"import { func as myFunc } from "myModule""`) +}) + +test('multiple named', () => { + const importDecl = moduleImport('myModule') + .named('func1') + .named('func2') + .named(namedImport('func3').as('aliasedFunc3')) + expect(stringify(importDecl)).toMatchInlineSnapshot( + `"import { func1, func2, func3 as aliasedFunc3 } from "myModule""`, + ) +}) + +test('default and named', () => { + const importDecl = moduleImport('myModule').default('mod').named('func1').named('func2') + expect(stringify(importDecl)).toMatchInlineSnapshot(`"import mod, { func1, func2 } from "myModule""`) +}) diff --git a/packages/client/src/generation/ts-builders/Import.ts b/packages/client/src/generation/ts-builders/Import.ts index fa9abab945f3..66d4cdb292f4 100644 --- a/packages/client/src/generation/ts-builders/Import.ts +++ b/packages/client/src/generation/ts-builders/Import.ts @@ -1,14 +1,95 @@ import { BasicBuilder } from './BasicBuilder' import { Writer } from './Writer' -export class Import implements BasicBuilder { - constructor(private modules: string[], private from: string) {} +export type Import = NamespaceImport | BindingsImport | ModuleImport + +export class NamespaceImport implements BasicBuilder { + constructor(readonly alias: string, readonly from: string) {} + write(writer: Writer): void { + writer.write('import * as ').write(this.alias).write(` from "${this.from}"`) + } +} + +export class BindingsImport implements BasicBuilder { + private defaultImport: string | undefined + private namedImports: NamedImport[] = [] + constructor(readonly from: string) {} + + default(name: string) { + this.defaultImport = name + return this + } + + named(namedImport: string | NamedImport) { + if (typeof namedImport === 'string') { + namedImport = new NamedImport(namedImport) + } + this.namedImports.push(namedImport) + return this + } + + write(writer: Writer): void { + writer.write('import ') + if (this.defaultImport) { + writer.write(this.defaultImport) + if (this.hasNamedImports()) { + writer.write(', ') + } + } + + if (this.hasNamedImports()) { + writer.write('{ ').writeJoined(', ', this.namedImports).write(' }') + } + + writer.write(` from "${this.from}"`) + } + + private hasNamedImports() { + return this.namedImports.length > 0 + } +} + +export class NamedImport implements BasicBuilder { + private alias: string | undefined + constructor(readonly name: string) {} + + as(alias: string) { + this.alias = alias + return this + } + + write(writer: Writer): void { + writer.write(this.name) + if (this.alias) { + writer.write(' as ').write(this.alias) + } + } +} + +export class ModuleImport implements BasicBuilder { + constructor(readonly from: string) {} + + asNamespace(alias: string): NamespaceImport { + return new NamespaceImport(alias, this.from) + } + + default(alias: string): BindingsImport { + return new BindingsImport(this.from).default(alias) + } + + named(namedImport: string | NamedImport) { + return new BindingsImport(this.from).named(namedImport) + } write(writer: Writer): void { - writer.write(`import { ${this.modules.join(', ')} } from '${this.from}'`) + writer.write('import ').write(`"${this.from}"`) } } -export function moduleImport(modules: string[], from: string) { - return new Import(modules, from) +export function moduleImport(from: string) { + return new ModuleImport(from) +} + +export function namedImport(name: string) { + return new NamedImport(name) } diff --git a/packages/client/src/generation/ts-builders/NamespaceDeclaration.ts b/packages/client/src/generation/ts-builders/NamespaceDeclaration.ts new file mode 100644 index 000000000000..5cc4a35a2aaf --- /dev/null +++ b/packages/client/src/generation/ts-builders/NamespaceDeclaration.ts @@ -0,0 +1,29 @@ +import { AnyDeclarationBuilder } from './AnyDeclarationBuilder' +import { BasicBuilder } from './BasicBuilder' +import { Export } from './Export' +import { Writer } from './Writer' + +export type NamespaceItem = AnyDeclarationBuilder | Export +export class NamespaceDeclaration implements BasicBuilder { + private items: NamespaceItem[] = [] + constructor(readonly name: string) {} + + add(declaration: NamespaceItem) { + this.items.push(declaration) + } + + write(writer: Writer): void { + writer + .writeLine(`namespace ${this.name} {`) + .withIndent(() => { + for (const item of this.items) { + writer.writeLine(item) + } + }) + .write('}') + } +} + +export function namespace(name: string): NamespaceDeclaration { + return new NamespaceDeclaration(name) +} diff --git a/packages/client/src/generation/ts-builders/Property.test.ts b/packages/client/src/generation/ts-builders/Property.test.ts index f3eeaca8ee7f..b1cec3558f28 100644 --- a/packages/client/src/generation/ts-builders/Property.test.ts +++ b/packages/client/src/generation/ts-builders/Property.test.ts @@ -2,6 +2,7 @@ import { docComment } from './DocComment' import { namedType } from './NamedType' import { property } from './Property' import { stringify } from './stringify' +import { toStringTag } from './WellKnownSymbol' const A = namedType('A') @@ -11,6 +12,18 @@ test('name and type', () => { expect(stringify(prop)).toMatchInlineSnapshot(`"foo: A"`) }) +test('invalid identifier', () => { + const prop = property('this is not a valid JS identifier', A) + + expect(stringify(prop)).toMatchInlineSnapshot(`"["this is not a valid JS identifier"]: A"`) +}) + +test('well-known symbol', () => { + const prop = property(toStringTag, A) + + expect(stringify(prop)).toMatchInlineSnapshot(`"[Symbol.toStringTag]: A"`) +}) + test('optional', () => { const prop = property('foo', A).optional() diff --git a/packages/client/src/generation/ts-builders/Property.ts b/packages/client/src/generation/ts-builders/Property.ts index 2108a24fe3f2..246f2839efe1 100644 --- a/packages/client/src/generation/ts-builders/Property.ts +++ b/packages/client/src/generation/ts-builders/Property.ts @@ -1,6 +1,9 @@ +import { isValidJsIdentifier } from '@prisma/internals' + import { BasicBuilder } from './BasicBuilder' import { DocComment } from './DocComment' import { TypeBuilder } from './TypeBuilder' +import { WellKnownSymbol } from './WellKnownSymbol' import { Writer } from './Writer' export class Property implements BasicBuilder { @@ -8,7 +11,7 @@ export class Property implements BasicBuilder { private isReadonly = false private docComment?: DocComment - constructor(private name: string, private type: TypeBuilder) {} + constructor(private name: string | WellKnownSymbol, private type: TypeBuilder) {} optional(): this { this.isOptional = true @@ -32,7 +35,17 @@ export class Property implements BasicBuilder { if (this.isReadonly) { writer.write('readonly ') } - writer.write(this.name) + + if (typeof this.name === 'string') { + if (isValidJsIdentifier(this.name)) { + writer.write(this.name) + } else { + writer.write('[').write(JSON.stringify(this.name)).write(']') + } + } else { + writer.write('[').write(this.name).write(']') + } + if (this.isOptional) { writer.write('?') } @@ -40,6 +53,6 @@ export class Property implements BasicBuilder { } } -export function property(name: string, type: TypeBuilder) { +export function property(name: string | WellKnownSymbol, type: TypeBuilder) { return new Property(name, type) } diff --git a/packages/client/src/generation/ts-builders/TupleType.test.ts b/packages/client/src/generation/ts-builders/TupleType.test.ts new file mode 100644 index 000000000000..9aca10e92218 --- /dev/null +++ b/packages/client/src/generation/ts-builders/TupleType.test.ts @@ -0,0 +1,23 @@ +import { namedType } from './NamedType' +import { stringify } from './stringify' +import { tupleItem, tupleType } from './TupleType' + +test('empty', () => { + const tuple = tupleType() + expect(stringify(tuple)).toMatchInlineSnapshot(`"[]"`) +}) + +test('one item', () => { + const tuple = tupleType().add(namedType('A')) + expect(stringify(tuple)).toMatchInlineSnapshot(`"[A]"`) +}) + +test('with named item', () => { + const tuple = tupleType().add(tupleItem(namedType('A')).setName('foo')) + expect(stringify(tuple)).toMatchInlineSnapshot(`"[foo: A]"`) +}) + +test('multiple items', () => { + const tuple = tupleType().add(namedType('A')).add(namedType('B')).add(namedType('C')) + expect(stringify(tuple)).toMatchInlineSnapshot(`"[A, B, C]"`) +}) diff --git a/packages/client/src/generation/ts-builders/TupleType.ts b/packages/client/src/generation/ts-builders/TupleType.ts new file mode 100644 index 000000000000..019d3eebeecc --- /dev/null +++ b/packages/client/src/generation/ts-builders/TupleType.ts @@ -0,0 +1,44 @@ +import { BasicBuilder } from './BasicBuilder' +import { TypeBuilder } from './TypeBuilder' +import { Writer } from './Writer' + +export class TupleItem implements BasicBuilder { + private name: string | undefined + constructor(readonly type: TypeBuilder) {} + + setName(name: string) { + this.name = name + return this + } + + write(writer: Writer): void { + if (this.name) { + writer.write(this.name).write(': ') + } + writer.write(this.type) + } +} + +export class TupleType extends TypeBuilder { + readonly items: TupleItem[] = [] + + add(item: TypeBuilder | TupleItem) { + if (item instanceof TypeBuilder) { + item = new TupleItem(item) + } + this.items.push(item) + return this + } + + override write(writer: Writer): void { + writer.write('[').writeJoined(', ', this.items).write(']') + } +} + +export function tupleType() { + return new TupleType() +} + +export function tupleItem(type: TypeBuilder) { + return new TupleItem(type) +} diff --git a/packages/client/src/generation/ts-builders/TypeBuilder.ts b/packages/client/src/generation/ts-builders/TypeBuilder.ts index 8cdd9d5ab647..1de81b8cf2b5 100644 --- a/packages/client/src/generation/ts-builders/TypeBuilder.ts +++ b/packages/client/src/generation/ts-builders/TypeBuilder.ts @@ -7,6 +7,7 @@ export abstract class TypeBuilder implements BasicBuilder { // automatically add parenthesis where they are needed needsParenthesisWhenIndexed = false needsParenthesisInKeyof = false + needsParenthesisInUnion = false abstract write(writer: Writer): void diff --git a/packages/client/src/generation/ts-builders/UnionType.test.ts b/packages/client/src/generation/ts-builders/UnionType.test.ts index f8b8cb16e995..3ef5f5ff70fb 100644 --- a/packages/client/src/generation/ts-builders/UnionType.test.ts +++ b/packages/client/src/generation/ts-builders/UnionType.test.ts @@ -1,4 +1,5 @@ import { array } from './ArrayType' +import { functionType } from './FunctionType' import {} from './GenericParameter' import { namedType } from './NamedType' import { stringify } from './stringify' @@ -19,6 +20,10 @@ test('from array', () => { expect(stringify(unionType([A, B]))).toMatchInlineSnapshot(`"A | B"`) }) +test('with function type', () => { + expect(stringify(unionType([A, B, functionType()]))).toMatchInlineSnapshot(`"A | B | (() => void)"`) +}) + test('fails with empty array', () => { expect(() => unionType([])).toThrowErrorMatchingInlineSnapshot(`"Union types array can not be empty"`) }) diff --git a/packages/client/src/generation/ts-builders/UnionType.ts b/packages/client/src/generation/ts-builders/UnionType.ts index 8e790caa2694..2fa3a0c246db 100644 --- a/packages/client/src/generation/ts-builders/UnionType.ts +++ b/packages/client/src/generation/ts-builders/UnionType.ts @@ -24,7 +24,13 @@ export class UnionType extends Ty } write(writer: Writer): void { - writer.writeJoined(' | ', this.variants) + writer.writeJoined(' | ', this.variants, (variant, writer) => { + if (variant.needsParenthesisInUnion) { + writer.write('(').write(variant).write(')') + } else { + writer.write(variant) + } + }) } mapVariants( diff --git a/packages/client/src/generation/ts-builders/WellKnownSymbol.ts b/packages/client/src/generation/ts-builders/WellKnownSymbol.ts new file mode 100644 index 000000000000..65dc73235d3f --- /dev/null +++ b/packages/client/src/generation/ts-builders/WellKnownSymbol.ts @@ -0,0 +1,15 @@ +import { BasicBuilder } from './BasicBuilder' +import { Writer } from './Writer' + +export class WellKnownSymbol implements BasicBuilder { + constructor(readonly name: string) {} + write(writer: Writer): void { + writer.write('Symbol.').write(this.name) + } +} + +export function wellKnownSymbol(name: string) { + return new WellKnownSymbol(name) +} + +export const toStringTag = wellKnownSymbol('toStringTag') diff --git a/packages/client/src/generation/ts-builders/Writer.ts b/packages/client/src/generation/ts-builders/Writer.ts index 9a48f0e9a4c7..3ba8a45b562d 100644 --- a/packages/client/src/generation/ts-builders/Writer.ts +++ b/packages/client/src/generation/ts-builders/Writer.ts @@ -37,12 +37,17 @@ export class Writer { * * @param separator * @param values + * @param writeItem allow to customize how individual item is written * @returns */ - writeJoined(separator: string | BasicBuilder, values: Array>): this { + writeJoined>( + separator: string | BasicBuilder, + values: T[], + writeItem: (item: T, writer: this) => void = (item, w) => w.write(item), + ): this { const last = values.length - 1 for (let i = 0; i < values.length; i++) { - this.write(values[i]) + writeItem(values[i], this) if (i !== last) { this.write(separator) } diff --git a/packages/client/src/generation/ts-builders/helpers.ts b/packages/client/src/generation/ts-builders/helpers.ts index ea1231801839..0a2abee61961 100644 --- a/packages/client/src/generation/ts-builders/helpers.ts +++ b/packages/client/src/generation/ts-builders/helpers.ts @@ -12,3 +12,7 @@ export function promise(resultType: TypeBuilder): NamedType { export function prismaPromise(resultType: TypeBuilder): NamedType { return new NamedType('Prisma.PrismaPromise').addGenericArgument(resultType) } + +export function optional(innerType: TypeBuilder) { + return new NamedType('$Utils.Optional').addGenericArgument(innerType) +} diff --git a/packages/client/src/generation/ts-builders/index.ts b/packages/client/src/generation/ts-builders/index.ts index a4eab77d8832..23403a3c52f8 100644 --- a/packages/client/src/generation/ts-builders/index.ts +++ b/packages/client/src/generation/ts-builders/index.ts @@ -6,6 +6,7 @@ export * from './ConstDeclaration' export * from './DocComment' export * from './Export' export * from './ExportFrom' +export * from './File' export * from './FunctionType' export * from './GenericParameter' export * from './helpers' @@ -14,12 +15,15 @@ export * from './Interface' export * from './KeyofType' export * from './Method' export * from './NamedType' +export * from './NamespaceDeclaration' export * from './ObjectType' export * from './Parameter' export * from './PrimitiveType' export * from './Property' export * from './stringify' export * from './StringLiteralType' +export * from './TupleType' export * from './TypeBuilder' export * from './TypeDeclaration' export * from './UnionType' +export * from './WellKnownSymbol' diff --git a/packages/client/src/generation/typedSql/buildDbEnums.ts b/packages/client/src/generation/typedSql/buildDbEnums.ts new file mode 100644 index 000000000000..954069466443 --- /dev/null +++ b/packages/client/src/generation/typedSql/buildDbEnums.ts @@ -0,0 +1,80 @@ +import { DMMF, SqlQueryOutput } from '@prisma/generator-helper' +import { isValidJsIdentifier } from '@prisma/internals' + +import * as ts from '../ts-builders' + +type DbEnum = { + name: string + values: string[] +} +export class DbEnumsList { + private enums: DbEnum[] + constructor(enums: readonly DMMF.DatamodelEnum[]) { + this.enums = enums.map((dmmfEnum) => ({ + name: dmmfEnum.dbName ?? dmmfEnum.name, + values: dmmfEnum.values.map((dmmfValue) => dmmfValue.dbName ?? dmmfValue.name), + })) + } + + isEmpty() { + return this.enums.length === 0 + } + + hasEnum(name: string) { + return Boolean(this.enums.find((dbEnum) => dbEnum.name === name)) + } + + *validJsIdentifiers() { + for (const dbEnum of this.enums) { + if (isValidJsIdentifier(dbEnum.name)) { + yield dbEnum + } + } + } + + *invalidJsIdentifiers() { + for (const dbEnum of this.enums) { + if (!isValidJsIdentifier(dbEnum.name)) { + yield dbEnum + } + } + } +} + +export function buildDbEnums(list: DbEnumsList) { + const file = ts.file() + file.add(buildInvalidIdentifierEnums(list)) + file.add(buildValidIdentifierEnums(list)) + + return ts.stringify(file) +} + +function buildValidIdentifierEnums(list: DbEnumsList) { + const namespace = ts.namespace('$DbEnums') + for (const dbEnum of list.validJsIdentifiers()) { + namespace.add(ts.typeDeclaration(dbEnum.name, enumToUnion(dbEnum))) + } + return ts.moduleExport(namespace) +} + +function buildInvalidIdentifierEnums(list: DbEnumsList) { + const iface = ts.interfaceDeclaration('$DbEnums') + for (const dbEnum of list.invalidJsIdentifiers()) { + iface.add(ts.property(dbEnum.name, enumToUnion(dbEnum))) + } + return ts.moduleExport(iface) +} + +function enumToUnion(dbEnum: DbEnum) { + return ts.unionType(dbEnum.values.map(ts.stringLiteral)) +} + +export function queryUsesEnums(query: SqlQueryOutput, enums: DbEnumsList): boolean { + if (enums.isEmpty()) { + return false + } + return ( + query.parameters.some((param) => enums.hasEnum(param.typ)) || + query.resultColumns.some((column) => enums.hasEnum(column.typ)) + ) +} diff --git a/packages/client/src/generation/typedSql/buildIndex.ts b/packages/client/src/generation/typedSql/buildIndex.ts new file mode 100644 index 000000000000..a1987d67d2bb --- /dev/null +++ b/packages/client/src/generation/typedSql/buildIndex.ts @@ -0,0 +1,35 @@ +import { SqlQueryOutput } from '@prisma/generator-helper' + +import * as ts from '../ts-builders' +import { Writer } from '../ts-builders/Writer' +import { DbEnumsList } from './buildDbEnums' + +export function buildIndexTs(queries: SqlQueryOutput[], enums: DbEnumsList) { + const file = ts.file() + if (!enums.isEmpty()) { + file.add(ts.moduleExportFrom('./$DbEnums').named('$DbEnums')) + } + for (const query of queries) { + file.add(ts.moduleExportFrom(`./${query.name}`)) + } + return ts.stringify(file) +} + +export function buildIndexCjs(queries: SqlQueryOutput[], edgeRuntimeSuffix?: 'wasm' | 'edge' | undefined) { + const writer = new Writer(0, undefined) + writer.writeLine('"use strict"') + for (const { name } of queries) { + const fileName = edgeRuntimeSuffix ? `${name}.${edgeRuntimeSuffix}` : name + writer.writeLine(`exports.${name} = require("./${fileName}.js").${name}`) + } + return writer.toString() +} + +export function buildIndexEsm(queries: SqlQueryOutput[], edgeRuntimeSuffix?: 'wasm' | 'edge' | undefined) { + const writer = new Writer(0, undefined) + for (const { name } of queries) { + const fileName = edgeRuntimeSuffix ? `${name}.${edgeRuntimeSuffix}` : name + writer.writeLine(`export * from "./${fileName}.mjs"`) + } + return writer.toString() +} diff --git a/packages/client/src/generation/typedSql/buildTypedQuery.ts b/packages/client/src/generation/typedSql/buildTypedQuery.ts new file mode 100644 index 000000000000..5f2faa813b8a --- /dev/null +++ b/packages/client/src/generation/typedSql/buildTypedQuery.ts @@ -0,0 +1,76 @@ +import { SqlQueryOutput } from '@prisma/generator-helper' + +import * as ts from '../ts-builders' +import { Writer } from '../ts-builders/Writer' +import { DbEnumsList, queryUsesEnums } from './buildDbEnums' +import { getInputType, getOutputType } from './mapTypes' + +type BuildTypedQueryOptions = { + runtimeBase: string + runtimeName: string + query: SqlQueryOutput + enums: DbEnumsList +} + +export function buildTypedQueryTs({ query, runtimeBase, runtimeName, enums }: BuildTypedQueryOptions) { + const file = ts.file() + + file.addImport(ts.moduleImport(`${runtimeBase}/${runtimeName}`).asNamespace('$runtime')) + if (queryUsesEnums(query, enums)) { + file.addImport(ts.moduleImport('./$DbEnums').named('$DbEnums')) + } + + const doc = ts.docComment(query.documentation ?? undefined) + const factoryType = ts.functionType() + const parametersType = ts.tupleType() + + for (const param of query.parameters) { + const paramType = getInputType(param.typ, param.nullable, enums) + factoryType.addParameter(ts.parameter(param.name, paramType)) + parametersType.add(ts.tupleItem(paramType).setName(param.name)) + if (param.documentation) { + doc.addText(`@param ${param.name} ${param.documentation}`) + } else { + doc.addText(`@param ${param.name}`) + } + } + factoryType.setReturnType( + ts + .namedType('$runtime.TypedSql') + .addGenericArgument(ts.namedType(`${query.name}.Parameters`)) + .addGenericArgument(ts.namedType(`${query.name}.Result`)), + ) + file.add(ts.moduleExport(ts.constDeclaration(query.name, factoryType)).setDocComment(doc)) + + const namespace = ts.namespace(query.name) + namespace.add(ts.moduleExport(ts.typeDeclaration('Parameters', parametersType))) + namespace.add(buildResultType(query, enums)) + file.add(ts.moduleExport(namespace)) + return ts.stringify(file) +} + +function buildResultType(query: SqlQueryOutput, enums: DbEnumsList) { + const type = ts + .objectType() + .addMultiple( + query.resultColumns.map((column) => ts.property(column.name, getOutputType(column.typ, column.nullable, enums))), + ) + return ts.moduleExport(ts.typeDeclaration('Result', type)) +} + +export function buildTypedQueryCjs({ query, runtimeBase, runtimeName }: BuildTypedQueryOptions) { + const writer = new Writer(0, undefined) + writer.writeLine('"use strict"') + writer.writeLine(`const { makeTypedQueryFactory: $mkFactory } = require("${runtimeBase}/${runtimeName}")`) + // https://github.com/javascript-compiler-hints/compiler-notations-spec/blob/main/pure-notation-spec.md + writer.writeLine(`exports.${query.name} = /*#__PURE__*/ $mkFactory(${JSON.stringify(query.source)})`) + return writer.toString() +} + +export function buildTypedQueryEsm({ query, runtimeBase, runtimeName }: BuildTypedQueryOptions) { + const writer = new Writer(0, undefined) + writer.writeLine(`import { makeTypedQueryFactory as $mkFactory } from "${runtimeBase}/${runtimeName}"`) + // https://github.com/javascript-compiler-hints/compiler-notations-spec/blob/main/pure-notation-spec.md + writer.writeLine(`export const ${query.name} = /*#__PURE__*/ $mkFactory(${JSON.stringify(query.source)})`) + return writer.toString() +} diff --git a/packages/client/src/generation/typedSql/mapTypes.ts b/packages/client/src/generation/typedSql/mapTypes.ts new file mode 100644 index 000000000000..e11a46534306 --- /dev/null +++ b/packages/client/src/generation/typedSql/mapTypes.ts @@ -0,0 +1,131 @@ +import { QueryIntrospectionBuiltinType, QueryIntrospectionType } from '@prisma/generator-helper' +import { isValidJsIdentifier } from '@prisma/internals' + +import * as ts from '../ts-builders' +import { DbEnumsList } from './buildDbEnums' + +type TypeMappingConfig = { + in: ts.TypeBuilder + out: ts.TypeBuilder +} + +const decimal = ts.namedType('$runtime.Decimal') +const uint8Array = ts.namedType('Uint8Array') +const date = ts.namedType('Date') +const inputJsonValue = ts.namedType('$runtime.InputJsonObject') +const jsonValue = ts.namedType('$runtime.JsonValue') + +const bigintIn = ts.unionType([ts.numberType, ts.bigintType]) +const decimalIn = ts.unionType([ts.numberType, decimal]) + +const typeMappings: Record = { + unknown: ts.unknownType, + string: ts.stringType, + int: ts.numberType, + bigint: { + in: bigintIn, + out: ts.bigintType, + }, + decimal: { + in: decimalIn, + out: decimal, + }, + float: ts.numberType, + double: ts.numberType, + enum: ts.stringType, // TODO: + bytes: uint8Array, + bool: ts.booleanType, + char: ts.stringType, + json: { + in: inputJsonValue, + out: jsonValue, + }, + xml: ts.stringType, + uuid: ts.stringType, + date: date, + datetime: date, + time: date, + null: ts.nullType, + 'int-array': ts.array(ts.numberType), + 'string-array': ts.array(ts.stringType), + 'json-array': { + in: ts.array(inputJsonValue), + out: ts.array(jsonValue), + }, + 'uuid-array': ts.array(ts.stringType), + 'xml-array': ts.array(ts.stringType), + 'bigint-array': { + in: ts.array(bigintIn), + out: ts.array(ts.bigintType), + }, + 'float-array': ts.array(ts.numberType), + 'double-array': ts.array(ts.numberType), + 'char-array': ts.array(ts.stringType), + 'bytes-array': ts.array(uint8Array), + 'bool-array': ts.array(ts.booleanType), + 'date-array': ts.array(date), + 'time-array': ts.array(date), + 'datetime-array': ts.array(date), + 'decimal-array': { + in: ts.array(decimalIn), + out: ts.array(decimal), + }, +} + +export function getInputType( + introspectionType: QueryIntrospectionType, + nullable: boolean, + enums: DbEnumsList, +): ts.TypeBuilder { + const inn = getMappingConfig(introspectionType, enums).in + + if (!nullable) { + return inn + } else { + return new ts.UnionType(inn).addVariant(ts.nullType) + } +} + +export function getOutputType( + introspectionType: QueryIntrospectionType, + nullable: boolean, + enums: DbEnumsList, +): ts.TypeBuilder { + const out = getMappingConfig(introspectionType, enums).out + + if (!nullable) { + return out + } else { + return new ts.UnionType(out).addVariant(ts.nullType) + } +} + +function getMappingConfig( + introspectionType: QueryIntrospectionType, + enums: DbEnumsList, +): { in: ts.TypeBuilder; out: ts.TypeBuilder } { + const config = typeMappings[introspectionType] + + if (!config) { + if (enums.hasEnum(introspectionType)) { + const type = getEnumType(introspectionType) + + return { in: type, out: type } + } + + throw new Error('Unknown type') + } + + if (config instanceof ts.TypeBuilder) { + return { in: config, out: config } + } + + return config +} + +function getEnumType(name: string) { + if (isValidJsIdentifier(name)) { + return ts.namedType(`$DbEnums.${name}`) + } + return ts.namedType('$DbEnums').subKey(name) +} diff --git a/packages/client/src/generation/typedSql/typedSql.ts b/packages/client/src/generation/typedSql/typedSql.ts new file mode 100644 index 000000000000..51c2968caf53 --- /dev/null +++ b/packages/client/src/generation/typedSql/typedSql.ts @@ -0,0 +1,44 @@ +import { DMMF, SqlQueryOutput } from '@prisma/generator-helper' + +import { FileMap } from '../generateClient' +import { buildDbEnums, DbEnumsList } from './buildDbEnums' +import { buildIndexCjs, buildIndexEsm, buildIndexTs } from './buildIndex' +import { buildTypedQueryCjs, buildTypedQueryEsm, buildTypedQueryTs } from './buildTypedQuery' + +type TypeSqlBuildOptions = { + runtimeBase: string + mainRuntimeName: string + edgeRuntimeName: 'wasm' | 'edge' + dmmf: DMMF.Document + queries: SqlQueryOutput[] +} + +export function buildTypedSql({ + queries, + runtimeBase, + edgeRuntimeName, + mainRuntimeName, + dmmf, +}: TypeSqlBuildOptions): FileMap { + const fileMap = {} + + const enums = new DbEnumsList(dmmf.datamodel.enums) + if (!enums.isEmpty()) { + fileMap['$DbEnums.d.ts'] = buildDbEnums(enums) + } + for (const query of queries) { + const options = { query, runtimeBase, runtimeName: mainRuntimeName, enums } + const edgeOptions = { ...options, runtimeName: `${edgeRuntimeName}.js` } + fileMap[`${query.name}.d.ts`] = buildTypedQueryTs(options) + fileMap[`${query.name}.js`] = buildTypedQueryCjs(options) + fileMap[`${query.name}.${edgeRuntimeName}.js`] = buildTypedQueryCjs(edgeOptions) + fileMap[`${query.name}.mjs`] = buildTypedQueryEsm(options) + fileMap[`${query.name}.edge.mjs`] = buildTypedQueryEsm(edgeOptions) + } + fileMap['index.d.ts'] = buildIndexTs(queries, enums) + fileMap['index.js'] = buildIndexCjs(queries) + fileMap['index.mjs'] = buildIndexEsm(queries) + fileMap[`index.${edgeRuntimeName}.mjs`] = buildIndexEsm(queries, edgeRuntimeName) + fileMap[`index.${edgeRuntimeName}.js`] = buildIndexCjs(queries, edgeRuntimeName) + return fileMap +} diff --git a/packages/client/src/generation/utils.ts b/packages/client/src/generation/utils.ts index f28f5332e40b..8fc9b4cc6b6f 100644 --- a/packages/client/src/generation/utils.ts +++ b/packages/client/src/generation/utils.ts @@ -2,6 +2,7 @@ import { assertNever } from '@prisma/internals' import { DMMF } from './dmmf-types' import * as ts from './ts-builders' +import { GenerateContext } from './TSClient/GenerateContext' export function getSelectName(modelName: string): string { return `${modelName}Select` @@ -11,6 +12,10 @@ export function getSelectCreateManyAndReturnName(modelName: string): string { return `${modelName}SelectCreateManyAndReturn` } +export function getSelectUpdateManyAndReturnName(modelName: string): string { + return `${modelName}SelectUpdateManyAndReturn` +} + export function getIncludeName(modelName: string): string { return `${modelName}Include` } @@ -19,10 +24,18 @@ export function getIncludeCreateManyAndReturnName(modelName: string): string { return `${modelName}IncludeCreateManyAndReturn` } +export function getIncludeUpdateManyAndReturnName(modelName: string): string { + return `${modelName}IncludeUpdateManyAndReturn` +} + export function getCreateManyAndReturnOutputType(modelName: string): string { return `CreateMany${modelName}AndReturnOutputType` } +export function getUpdateManyAndReturnOutputType(modelName: string): string { + return `UpdateMany${modelName}AndReturnOutputType` +} + export function getOmitName(modelName: string): string { return `${modelName}Omit` } @@ -96,10 +109,6 @@ export function getModelFieldArgsName(field: DMMF.SchemaField, modelName: string return `${modelName}$${field.name}Args` } -export function getLegacyModelArgName(modelName: string) { - return `${modelName}Args` -} - // we need names for all top level args, // as GraphQL doesn't have the concept of unnamed args export function getModelArgName(modelName: string, action?: DMMF.ModelAction): string { @@ -123,6 +132,8 @@ export function getModelArgName(modelName: string, action?: DMMF.ModelAction): s return `${modelName}UpdateArgs` case DMMF.ModelAction.updateMany: return `${modelName}UpdateManyArgs` + case DMMF.ModelAction.updateManyAndReturn: + return `${modelName}UpdateManyAndReturnArgs` case DMMF.ModelAction.delete: return `${modelName}DeleteArgs` case DMMF.ModelAction.create: @@ -176,6 +187,13 @@ export function getRefAllowedTypeName(type: DMMF.OutputTypeRef) { return `'${typeName}'` } +export function appendSkipType(context: GenerateContext, type: ts.TypeBuilder) { + if (context.isPreviewFeatureOn('strictUndefinedChecks')) { + return ts.unionType([type, ts.namedType('$Types.Skip')]) + } + return type +} + export const extArgsParam = ts .genericParameter('ExtArgs') .extends(ts.namedType('$Extensions.InternalArgs')) diff --git a/packages/client/src/generation/utils/buildGetQueryCompilerWasmModule.ts b/packages/client/src/generation/utils/buildGetQueryCompilerWasmModule.ts new file mode 100644 index 000000000000..acf7eb7c92d8 --- /dev/null +++ b/packages/client/src/generation/utils/buildGetQueryCompilerWasmModule.ts @@ -0,0 +1,44 @@ +import { TSClientOptions } from '../TSClient/TSClient' + +/** + * Builds the necessary glue code to load the query compiler wasm module. + * @returns + */ +export function buildQueryCompilerWasmModule( + wasm: boolean, + copyCompiler: boolean, + runtimeNameJs: TSClientOptions['runtimeNameJs'], +) { + if (copyCompiler && runtimeNameJs === 'client') { + return `config.compilerWasm = { + getRuntime: () => require('./query_compiler_bg.js'), + getQueryCompilerWasmModule: async () => { + const queryCompilerWasmFilePath = require('path').join(config.dirname, 'query_compiler_bg.wasm') + const queryCompilerWasmFileBytes = require('fs').readFileSync(queryCompilerWasmFilePath) + + return new WebAssembly.Module(queryCompilerWasmFileBytes) + } + }` + } + + // For cloudflare (workers) we need to use import in order to load wasm + // so we use a dynamic import which is compatible with both cjs and esm. + // Additionally, we need to append `?module` to the import path for vercel, + // which is incompatible with cloudflare, so we hide it in a template. + // In `getQueryCompilerWasmModule`, we use a `try/catch` block because `vitest` + // isn't able to handle dynamic imports with `import(#MODULE_NAME)`, which used + // to lead to a runtime "No such module .prisma/client/#wasm-compiler-loader" error. + // Related issue: https://github.com/vitest-dev/vitest/issues/5486. + if (copyCompiler && runtimeNameJs === 'client' && wasm === true) { + return `config.compilerWasm = { + getRuntime: () => require('./query_compiler_bg.js'), + getQueryCompilerWasmModule: async () => { + const loader = (await import('#wasm-compiler-loader')).default + const compiler = (await loader).default + return compiler + } +}` + } + + return `config.compilerWasm = undefined` +} diff --git a/packages/client/src/generation/utils/buildGetQueryEngineWasmModule.ts b/packages/client/src/generation/utils/buildGetQueryEngineWasmModule.ts index b5854102c9fe..d3cb3bedb062 100644 --- a/packages/client/src/generation/utils/buildGetQueryEngineWasmModule.ts +++ b/packages/client/src/generation/utils/buildGetQueryEngineWasmModule.ts @@ -21,17 +21,21 @@ export function buildQueryEngineWasmModule( }` } - // for cloudflare (workers) we need to use import in order to load wasm - // so we use a dynamic import which is compatible with both cjs and esm - // additionally we need to append ?module to the import path for vercel - // this is incompatible with cloudflare, so we hide it in a template + // For cloudflare (workers) we need to use import in order to load wasm + // so we use a dynamic import which is compatible with both cjs and esm. + // Additionally, we need to append `?module` to the import path for vercel, + // which is incompatible with cloudflare, so we hide it in a template. + // In `getQueryEngineWasmModule`, we use a `try/catch` block because `vitest` + // isn't able to handle dynamic imports with `import(#MODULE_NAME)`, which used + // to lead to a runtime "No such module .prisma/client/#wasm-engine-loader" error. + // Related issue: https://github.com/vitest-dev/vitest/issues/5486. if (copyEngine && wasm === true) { return `config.engineWasm = { getRuntime: () => require('./query_engine_bg.js'), getQueryEngineWasmModule: async () => { const loader = (await import('#wasm-engine-loader')).default const engine = (await loader).default - return engine + return engine } }` } diff --git a/packages/client/src/generation/utils/common.ts b/packages/client/src/generation/utils/common.ts index 588f9bfa9122..dac08aa76c1c 100644 --- a/packages/client/src/generation/utils/common.ts +++ b/packages/client/src/generation/utils/common.ts @@ -40,7 +40,7 @@ export const GraphQLScalarToJSTypeTable = { ID: 'string', UUID: 'string', Json: 'JsonValue', - Bytes: 'Buffer', + Bytes: 'Uint8Array', Decimal: ['Decimal', 'DecimalJsLike', 'number', 'string'], BigInt: ['bigint', 'number'], } diff --git a/packages/client/src/generation/utils/runtimeImport.ts b/packages/client/src/generation/utils/runtimeImport.ts index 618ef171d6db..fe1c1330f033 100644 --- a/packages/client/src/generation/utils/runtimeImport.ts +++ b/packages/client/src/generation/utils/runtimeImport.ts @@ -1,3 +1,5 @@ +import * as ts from '../ts-builders' + type RuntimeExports = typeof import('../../runtime') /** @@ -9,3 +11,7 @@ type RuntimeExports = typeof import('../../runtime') export function runtimeImport(name: keyof RuntimeExports): string { return name } + +export function runtimeImportedType(name: keyof RuntimeExports): ts.NamedType { + return ts.namedType(`runtime.${name}`) +} diff --git a/packages/client/src/generation/utils/types/dmmfToTypes.ts b/packages/client/src/generation/utils/types/dmmfToTypes.ts index 569e2dc37380..5530197cb32d 100644 --- a/packages/client/src/generation/utils/types/dmmfToTypes.ts +++ b/packages/client/src/generation/utils/types/dmmfToTypes.ts @@ -16,7 +16,7 @@ export function dmmfToTypes(dmmf: DMMF.Document) { runtimeNameTs: 'library', schemaPath: '', outputDir: '', - activeProvider: '', + activeProvider: '' as any, binaryPaths: {}, generator: { binaryTargets: [], @@ -26,6 +26,7 @@ export function dmmfToTypes(dmmf: DMMF.Document) { provider: { value: 'prisma-client-js', fromEnvVar: null }, previewFeatures: [], isCustomOutput: false, + sourceFilePath: 'schema.prisma', }, datamodel: '', browser: false, diff --git a/packages/client/src/runtime/RequestHandler.ts b/packages/client/src/runtime/RequestHandler.ts index 703c7de7e2dd..51b36791c753 100644 --- a/packages/client/src/runtime/RequestHandler.ts +++ b/packages/client/src/runtime/RequestHandler.ts @@ -5,7 +5,6 @@ import stripAnsi from 'strip-ansi' import { EngineValidationError, - Fetch, InteractiveTransactionOptions, JsonQuery, LogEmitter, @@ -17,15 +16,16 @@ import { PrismaClientRustPanicError, PrismaClientUnknownRequestError, } from '.' -import { QueryEngineResult } from './core/engines/common/types/QueryEngine' +import { CustomDataProxyFetch } from './core/engines/common/Engine' +import { QueryEngineResultData } from './core/engines/common/types/QueryEngine' import { throwValidationException } from './core/errorRendering/throwValidationException' import { hasBatchIndex } from './core/errors/ErrorWithBatchIndex' -import { NotFoundError } from './core/errors/NotFoundError' import { createApplyBatchExtensionsFunction } from './core/extensions/applyQueryExtensions' import { MergedExtensionsList } from './core/extensions/MergedExtensionsList' import { deserializeJsonResponse } from './core/jsonProtocol/deserializeJsonResponse' import { getBatchId } from './core/jsonProtocol/getBatchId' import { isWrite } from './core/jsonProtocol/isWrite' +import { GlobalOmitOptions } from './core/jsonProtocol/serializeJsonQuery' import { PrismaPromiseInteractiveTransaction, PrismaPromiseTransaction } from './core/request/PrismaPromise' import { Action, JsArgs } from './core/types/exported/JsApi' import { DataLoader } from './DataLoader' @@ -33,6 +33,7 @@ import type { Client, Unpacker } from './getPrismaClient' import { CallSite } from './utils/CallSite' import { createErrorMessageWithContext } from './utils/createErrorMessageWithContext' import { deepGet } from './utils/deep-set' +import { deserializeRawResult, RawResponse } from './utils/deserializeRawResults' const debug = Debug('prisma:client:request_handler') @@ -50,7 +51,8 @@ export type RequestParams = { unpacker?: Unpacker otelParentCtx?: Context otelChildCtx?: Context - customDataProxyFetch?: (fetch: Fetch) => Fetch + globalOmit?: GlobalOmitOptions + customDataProxyFetch?: CustomDataProxyFetch } export type HandleErrorParams = { @@ -60,6 +62,7 @@ export type HandleErrorParams = { callsite?: CallSite transaction?: PrismaPromiseTransaction modelName?: string + globalOmit?: GlobalOmitOptions } export class RequestHandler { @@ -137,20 +140,27 @@ export class RequestHandler { return await this.dataloader.request(params) } catch (error) { const { clientMethod, callsite, transaction, args, modelName } = params - this.handleAndLogRequestError({ error, clientMethod, callsite, transaction, args, modelName }) + this.handleAndLogRequestError({ + error, + clientMethod, + callsite, + transaction, + args, + modelName, + globalOmit: params.globalOmit, + }) } } - mapQueryEngineResult({ dataPath, unpacker }: RequestParams, response: QueryEngineResult) { + mapQueryEngineResult({ dataPath, unpacker }: RequestParams, response: QueryEngineResultData) { const data = response?.data - const elapsed = response?.elapsed /** * Unpack */ const result = this.unpack(data, dataPath, unpacker) if (process.env.PRISMA_CLIENT_GET_TIME) { - return { data: result, elapsed } + return { data: result } } return result } @@ -170,7 +180,15 @@ export class RequestHandler { } } - handleRequestError({ error, clientMethod, callsite, transaction, args, modelName }: HandleErrorParams): never { + handleRequestError({ + error, + clientMethod, + callsite, + transaction, + args, + modelName, + globalOmit, + }: HandleErrorParams): never { debug(error) if (isMismatchingBatchIndex(error, transaction)) { @@ -179,12 +197,6 @@ export class RequestHandler { throw error } - if (error instanceof NotFoundError) { - // TODO: This is a workaround to keep backwards compatibility with clients - // consuming NotFoundError - throw error - } - if (error instanceof PrismaClientKnownRequestError && isValidationError(error)) { const validationError = convertValidationError(error.meta as EngineValidationError) throwValidationException({ @@ -194,6 +206,7 @@ export class RequestHandler { errorFormat: this.client._errorFormat, originalMethod: clientMethod, clientVersion: this.client._clientVersion, + globalOmit, }) } @@ -254,11 +267,16 @@ export class RequestHandler { if (!data) { return data } + const operation = Object.keys(data)[0] const response = Object.values(data)[0] const pathForGet = dataPath.filter((key) => key !== 'select' && key !== 'include') - const deserializeResponse = deserializeJsonResponse(deepGet(response, pathForGet)) + const extractedResponse = deepGet(response, pathForGet) + const deserializedResponse = + operation === 'queryRaw' + ? deserializeRawResult(extractedResponse as RawResponse) + : (deserializeJsonResponse(extractedResponse) as unknown) - return unpacker ? unpacker(deserializeResponse) : deserializeResponse + return unpacker ? unpacker(deserializedResponse) : deserializedResponse } get [Symbol.toStringTag]() { diff --git a/packages/client/src/runtime/core/compositeProxy/createCompositeProxy.ts b/packages/client/src/runtime/core/compositeProxy/createCompositeProxy.ts index 027aae3d82e8..79e970260813 100644 --- a/packages/client/src/runtime/core/compositeProxy/createCompositeProxy.ts +++ b/packages/client/src/runtime/core/compositeProxy/createCompositeProxy.ts @@ -112,6 +112,8 @@ export function createCompositeProxy(target: T, layers: Compos overwrittenKeys.add(property) return Reflect.defineProperty(target, property, attributes) }, + + getPrototypeOf: () => Object.prototype, }) proxy[customInspect] = function () { diff --git a/packages/client/src/runtime/core/engines/accelerate/AccelerateEngine.ts b/packages/client/src/runtime/core/engines/accelerate/AccelerateEngine.ts index 9a3f61c2f524..c53a1cf15967 100644 --- a/packages/client/src/runtime/core/engines/accelerate/AccelerateEngine.ts +++ b/packages/client/src/runtime/core/engines/accelerate/AccelerateEngine.ts @@ -1,10 +1,9 @@ -/* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ import { PrismaClientInitializationError } from '../../errors/PrismaClientInitializationError' import { BatchQueryEngineResult, Engine, EngineConfig, RequestBatchOptions, RequestOptions } from '../common/Engine' import { JsonQuery } from '../common/types/JsonProtocol' import { Metrics, MetricsOptionsJson, MetricsOptionsPrometheus } from '../common/types/Metrics' -import { QueryEngineResult } from '../common/types/QueryEngine' +import { QueryEngineResultData } from '../common/types/QueryEngine' import { InteractiveTransactionInfo as ITXInfo, Options, TransactionHeaders } from '../common/types/Transaction' const ERROR_MESSAGE = `Accelerate has not been setup correctly. Make sure your client is using \`.$extends(withAccelerate())\`. See https://pris.ly/d/accelerate-getting-started` @@ -55,7 +54,7 @@ export class AccelerateEngine implements Engine { throw new PrismaClientInitializationError(ERROR_MESSAGE, this.config.clientVersion) } - request(_query: JsonQuery, _options: RequestOptions): Promise> { + request(_query: JsonQuery, _options: RequestOptions): Promise> { throw new PrismaClientInitializationError(ERROR_MESSAGE, this.config.clientVersion) } @@ -90,8 +89,8 @@ export type { export type { LogEmitter } from '../common/types/Events' export type { JsonQuery } from '../common/types/JsonProtocol' export type { Metrics, MetricsOptionsJson, MetricsOptionsPrometheus } from '../common/types/Metrics' -export type { QueryEngineResultBatchQueryResult } from '../common/types/QueryEngine' -export type { QueryEngineResult } from '../common/types/QueryEngine' +export type { QueryEngineBatchResult } from '../common/types/QueryEngine' +export type { QueryEngineResultData } from '../common/types/QueryEngine' export type { InteractiveTransactionInfo, Options, TransactionHeaders } from '../common/types/Transaction' export type { LogLevel } from '../common/utils/log' export type { EngineSpan, TracingHelper } from '@prisma/internals' diff --git a/packages/client/src/runtime/core/engines/binary/BinaryEngine.ts b/packages/client/src/runtime/core/engines/binary/BinaryEngine.ts index 7815a3c07f2b..14ace72c7741 100644 --- a/packages/client/src/runtime/core/engines/binary/BinaryEngine.ts +++ b/packages/client/src/runtime/core/engines/binary/BinaryEngine.ts @@ -2,12 +2,12 @@ import Debug from '@prisma/debug' import type { ConnectorType } from '@prisma/generator-helper' import type { BinaryTarget } from '@prisma/get-platform' import { binaryTargets, getBinaryTargetForCurrentPlatform } from '@prisma/get-platform' -import { byline, ClientEngineType, EngineSpanEvent, TracingHelper } from '@prisma/internals' +import { byline, ClientEngineType, EngineTrace, TracingHelper } from '@prisma/internals' import type { ChildProcess, ChildProcessByStdio } from 'child_process' import { spawn } from 'child_process' import execa from 'execa' import fs from 'fs' -import { blue, bold, green, red, yellow } from 'kleur/colors' +import { bold, green, red } from 'kleur/colors' import pRetry from 'p-retry' import type { Readable } from 'stream' @@ -23,7 +23,11 @@ import { resolveEnginePath } from '../common/resolveEnginePath' import type { LogEmitter, LogEventType } from '../common/types/Events' import { JsonQuery } from '../common/types/JsonProtocol' import { EngineMetricsOptions, Metrics, MetricsOptionsJson, MetricsOptionsPrometheus } from '../common/types/Metrics' -import type { QueryEngineResult } from '../common/types/QueryEngine' +import type { + QueryEngineResultData, + QueryEngineResultExtensions, + WithResultExtensions, +} from '../common/types/QueryEngine' import type * as Tx from '../common/types/Transaction' import { getBatchRequestPayload } from '../common/utils/getBatchRequestPayload' import { getErrorMessageWithLink } from '../common/utils/getErrorMessageWithLink' @@ -127,36 +131,6 @@ export class BinaryEngine implements Engine { initHooks() - // See also warnOnDeprecatedFeatureFlag at - // https://github.com/prisma/prisma/blob/9e5cc5bfb9ef0eb8251ab85a56302e835f607711/packages/sdk/src/engine-commands/getDmmf.ts#L179 - const removedFlags = [ - 'middlewares', - 'aggregateApi', - 'distinct', - 'aggregations', - 'insensitiveFilters', - 'atomicNumberOperations', - 'transactionApi', - 'transaction', - 'connectOrCreate', - 'uncheckedScalarInputs', - 'nativeTypes', - 'createMany', - 'groupBy', - 'referentialActions', - 'microsoftSqlServer', - ] - const removedFlagsUsed = this.previewFeatures.filter((e) => removedFlags.includes(e)) - - if (removedFlagsUsed.length > 0 && !process.env.PRISMA_HIDE_PREVIEW_FLAG_WARNINGS) { - console.log( - `${blue(bold('info'))} The preview flags \`${removedFlagsUsed.join( - '`, `', - )}\` were removed, you can now safely remove them from your schema.prisma.`, - ) - } - - this.previewFeatures = this.previewFeatures.filter((e) => !removedFlags.includes(e)) this.engineEndpoint = config.engineEndpoint if (this.binaryTarget) { @@ -176,7 +150,6 @@ You may have to run ${green('prisma generate')} for your changes to take effect. Debug.enable('*') } engines.push(this) - this.checkForTooManyEngines() } // Set error sets an error for async processing, when this doesn't happen in the span of a request @@ -200,19 +173,6 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } } - private checkForTooManyEngines() { - if (engines.length >= 10) { - const runningEngines = engines.filter((e) => e.child) - if (runningEngines.length === 10) { - console.warn( - `${bold( - yellow('warn(prisma-client)'), - )} This is the 10th instance of Prisma Client being started. Make sure this is intentional.`, - ) - } - } - } - private resolveCwd(cwd: string): string { if (fs.existsSync(cwd) && fs.lstatSync(cwd).isDirectory()) { return cwd @@ -236,12 +196,13 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } private async getCurrentBinaryTarget(): Promise { - // eslint-disable-next-line @typescript-eslint/no-misused-promises if (this.binaryTargetPromise) { return this.binaryTargetPromise } - this.binaryTargetPromise = getBinaryTargetForCurrentPlatform() + this.binaryTargetPromise = this.tracingHelper.runInChildSpan('detect_platform', () => + getBinaryTargetForCurrentPlatform(), + ) return this.binaryTargetPromise } @@ -266,7 +227,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. const retries = { times: 10 } const retryInternalStart = async () => { try { - await this.internalStart() + await this.tracingHelper.runInChildSpan('start_engine', () => this.startAndFetchBootSpans()) } catch (e) { if (e.retryable === true && retries.times > 0) { retries.times-- @@ -300,7 +261,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } private getEngineEnvVars() { - const env: any = { + const env: Record = { PRISMA_DML_PATH: this.datamodelPath, } @@ -326,8 +287,18 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } } + private async startAndFetchBootSpans(): Promise { + await this.internalStart() + + const trace = await Connection.onHttpError(this.connection.get('/boot_trace'), (result) => + this.httpErrorHandler(result), + ) + + this.tracingHelper.dispatchEngineSpans(trace.data.spans) + } + private internalStart(): Promise { - // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor + // eslint-disable-next-line no-async-promise-executor return new Promise(async (resolve, reject) => { await new Promise((r) => process.nextTick(r)) if (this.stopPromise) { @@ -438,12 +409,6 @@ You may have to run ${green('prisma generate')} for your changes to take effect. // they could also be a RustError, which has is_panic // these logs can still include error logs if (typeof json.is_panic === 'undefined') { - if (json.span === true) { - this.tracingHelper.createEngineSpan(json as EngineSpanEvent) - - return - } - const log = convertLog(json) // boolean cast needed, because of TS. We return ` is RustLog`, useful in other context, but not here const logIsRustErrorLog: boolean = isRustErrorLog(log) @@ -676,7 +641,7 @@ You very likely have the wrong "binaryTarget" defined in the schema.prisma file. async request( query: JsonQuery, { traceparent, numTry = 1, isWrite, interactiveTransaction }: RequestOptions, - ): Promise> { + ): Promise> { await this.start() const headers: Record = {} if (traceparent) { @@ -694,7 +659,11 @@ You very likely have the wrong "binaryTarget" defined in the schema.prisma file. this.lastQuery = queryStr try { - const { data, headers } = await this.currentRequestPromise + const { data } = await this.currentRequestPromise + + if (data.extensions?.traces) { + this.tracingHelper.dispatchEngineSpans(data.extensions.traces) + } if (data.errors) { if (data.errors.length === 1) { @@ -704,16 +673,13 @@ You very likely have the wrong "binaryTarget" defined in the schema.prisma file. throw new PrismaClientUnknownRequestError(JSON.stringify(data.errors), { clientVersion: this.clientVersion! }) } - // Rust engine returns time in microseconds and we want it in milliseconds - const elapsed = parseInt(headers['x-elapsed']) / 1000 - // reset restart count after successful request if (this.startCount > 0) { this.startCount = 0 } this.currentRequestPromise = undefined - return { data, elapsed } as any + return { data } } catch (e: any) { logger('req - e', e) @@ -753,18 +719,25 @@ You very likely have the wrong "binaryTarget" defined in the schema.prisma file. ) return this.currentRequestPromise - .then(({ data, headers }) => { - // Rust engine returns time in microseconds and we want it in milliseconds - const elapsed = parseInt(headers['x-elapsed']) / 1000 + .then(({ data }) => { + if (data.extensions?.traces) { + this.tracingHelper.dispatchEngineSpans(data.extensions.traces) + } + const { batchResult } = data + if (Array.isArray(batchResult)) { return batchResult.map((result) => { + if (result.extensions?.traces) { + this.tracingHelper.dispatchEngineSpans(result.extensions.traces) + } + if (result.errors && result.errors.length > 0) { return prismaGraphQLToJSError(result.errors[0], this.clientVersion!, this.config.activeProvider!) } + return { data: result, - elapsed, } }) } else { @@ -822,19 +795,37 @@ You very likely have the wrong "binaryTarget" defined in the schema.prisma file. }) const result = await Connection.onHttpError( - this.connection.post>('/transaction/start', jsonOptions, headers), + this.connection.post>>( + '/transaction/start', + jsonOptions, + headers, + ), (result) => this.httpErrorHandler(result), ) + if (result.data.extensions?.traces) { + this.tracingHelper.dispatchEngineSpans(result.data.extensions.traces) + } + return result.data } else if (action === 'commit') { - await Connection.onHttpError(this.connection.post(`/transaction/${arg.id}/commit`), (result) => - this.httpErrorHandler(result), + const result = await Connection.onHttpError( + this.connection.post>(`/transaction/${arg.id}/commit`, undefined, headers), + (result) => this.httpErrorHandler(result), ) + + if (result.data.extensions?.traces) { + this.tracingHelper.dispatchEngineSpans(result.data.extensions.traces) + } } else if (action === 'rollback') { - await Connection.onHttpError(this.connection.post(`/transaction/${arg.id}/rollback`), (result) => - this.httpErrorHandler(result), + const result = await Connection.onHttpError( + this.connection.post>(`/transaction/${arg.id}/rollback`, undefined, headers), + (result) => this.httpErrorHandler(result), ) + + if (result.data.extensions?.traces) { + this.tracingHelper.dispatchEngineSpans(result.data.extensions.traces) + } } return undefined @@ -970,6 +961,12 @@ You very likely have the wrong "binaryTarget" defined in the schema.prisma file. */ httpErrorHandler(result: Result): never { const response = result.data as { [K: string]: unknown } + + const traces = (response.extensions as QueryEngineResultExtensions | undefined)?.traces + if (traces) { + this.tracingHelper.dispatchEngineSpans(traces) + } + throw new PrismaClientKnownRequestError(response.message as string, { code: response.error_code as string, clientVersion: this.clientVersion as string, diff --git a/packages/client/src/runtime/core/engines/client/ClientEngine.ts b/packages/client/src/runtime/core/engines/client/ClientEngine.ts new file mode 100644 index 000000000000..9f85bf59016c --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/ClientEngine.ts @@ -0,0 +1,295 @@ +import Debug from '@prisma/debug' +import { type ErrorCapturingDriverAdapter } from '@prisma/driver-adapter-utils' +import { assertNever, TracingHelper } from '@prisma/internals' + +import { PrismaClientInitializationError } from '../../errors/PrismaClientInitializationError' +import { PrismaClientRustPanicError } from '../../errors/PrismaClientRustPanicError' +import { PrismaClientUnknownRequestError } from '../../errors/PrismaClientUnknownRequestError' +import type { BatchQueryEngineResult, EngineConfig, RequestBatchOptions, RequestOptions } from '../common/Engine' +import { Engine } from '../common/Engine' +import { LogEmitter } from '../common/types/Events' +import { JsonQuery } from '../common/types/JsonProtocol' +import { EngineMetricsOptions, Metrics, MetricsOptionsJson, MetricsOptionsPrometheus } from '../common/types/Metrics' +import { + QueryEngineLogLevel, + QueryEngineResultData, + RustRequestError, + SyncRustError, +} from '../common/types/QueryEngine' +import type * as Tx from '../common/types/Transaction' +import { InteractiveTransactionInfo } from '../common/types/Transaction' +import { getErrorMessageWithLink as genericGetErrorMessageWithLink } from '../common/utils/getErrorMessageWithLink' +import { QueryInterpreter } from './interpreter/QueryInterpreter' +import { QueryPlanNode } from './QueryPlan' +import { TransactionManager } from './transactionManager/TransactionManager' +import { QueryCompiler, QueryCompilerConstructor, QueryCompilerLoader } from './types/QueryCompiler' +import { wasmQueryCompilerLoader } from './WasmQueryCompilerLoader' + +const CLIENT_ENGINE_ERROR = 'P2038' + +const debug = Debug('prisma:client:clientEngine') + +export class ClientEngine implements Engine { + name = 'ClientEngine' as const + + queryCompiler?: QueryCompiler + instantiateQueryCompilerPromise: Promise + QueryCompilerConstructor?: QueryCompilerConstructor + queryCompilerLoader: QueryCompilerLoader + + config: EngineConfig + datamodel: string + + driverAdapter: ErrorCapturingDriverAdapter + transactionManager: TransactionManager + + logEmitter: LogEmitter + logQueries: boolean // TODO: actually implement + logLevel: QueryEngineLogLevel + lastStartedQuery?: string + tracingHelper: TracingHelper + + constructor(config: EngineConfig, queryCompilerLoader?: QueryCompilerLoader) { + if (!config.previewFeatures?.includes('driverAdapters')) { + throw new PrismaClientInitializationError( + 'EngineType `client` requires the driverAdapters preview feature to be enabled.', + config.clientVersion!, + CLIENT_ENGINE_ERROR, + ) + } + const { adapter } = config + if (!adapter) { + throw new PrismaClientInitializationError( + 'Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.', + config.clientVersion!, + CLIENT_ENGINE_ERROR, + ) + } else { + this.driverAdapter = adapter + debug('Using driver adapter: %O', adapter) + } + + if (TARGET_BUILD_TYPE === 'client') { + this.queryCompilerLoader = queryCompilerLoader ?? wasmQueryCompilerLoader + } else { + throw new Error(`Invalid TARGET_BUILD_TYPE: ${TARGET_BUILD_TYPE}`) + } + + this.config = config + this.logQueries = config.logQueries ?? false + this.logLevel = config.logLevel ?? 'error' + this.logEmitter = config.logEmitter + this.datamodel = config.inlineSchema + this.tracingHelper = config.tracingHelper + + if (config.enableDebugLogs) { + this.logLevel = 'debug' + } + + this.transactionManager = new TransactionManager({ + driverAdapter: this.driverAdapter, + clientVersion: this.config.clientVersion, + }) + + this.instantiateQueryCompilerPromise = this.instantiateQueryCompiler() + } + + applyPendingMigrations(): Promise { + throw new Error('Cannot call applyPendingMigrations on engine type client.') + } + + private async instantiateQueryCompiler(): Promise { + if (this.queryCompiler) { + return + } + + if (!this.QueryCompilerConstructor) { + this.QueryCompilerConstructor = await this.queryCompilerLoader.loadQueryCompiler(this.config) + } + + try { + this.queryCompiler = new this.QueryCompilerConstructor({ + datamodel: this.datamodel, + flavour: this.driverAdapter.provider, + connectionInfo: {}, + }) + } catch (e) { + throw this.transformInitError(e) + } + } + + private transformInitError(err: Error): Error { + try { + const error: SyncRustError = JSON.parse(err.message) + return new PrismaClientInitializationError(error.message, this.config.clientVersion!, error.error_code) + } catch (e) { + return err + } + } + + private transformRequestError(err: any): Error { + if (err instanceof PrismaClientInitializationError) return err + if (err.code === 'GenericFailure' && err.message?.startsWith('PANIC:') && TARGET_BUILD_TYPE !== 'wasm') + return new PrismaClientRustPanicError(getErrorMessageWithLink(this, err.message), this.config.clientVersion!) + try { + const error: RustRequestError = JSON.parse(err as string) + return new PrismaClientUnknownRequestError(`${error.message}\n${error.backtrace}`, { + clientVersion: this.config.clientVersion!, + }) + } catch (e) { + return err + } + } + + onBeforeExit() { + throw new Error( + '"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.', + ) + } + + async start(): Promise { + await this.instantiateQueryCompilerPromise + } + + async stop(): Promise { + await this.instantiateQueryCompilerPromise + } + + version(): string { + return 'unknown' + } + + async transaction( + action: 'start', + headers: Tx.TransactionHeaders, + options: Tx.Options, + ): Promise> + async transaction( + action: 'commit', + headers: Tx.TransactionHeaders, + info: Tx.InteractiveTransactionInfo, + ): Promise + async transaction( + action: 'rollback', + headers: Tx.TransactionHeaders, + info: Tx.InteractiveTransactionInfo, + ): Promise + async transaction( + action: 'start' | 'commit' | 'rollback', + _headers: Tx.TransactionHeaders, + arg?: any, + ): Promise | undefined> { + let result: Tx.InteractiveTransactionInfo | undefined + if (action === 'start') { + const options: Tx.Options = arg + result = await this.transactionManager.startTransaction(options) + } else if (action === 'commit') { + const txInfo: Tx.InteractiveTransactionInfo = arg + await this.transactionManager.commitTransaction(txInfo.id) + } else if (action === 'rollback') { + const txInfo: Tx.InteractiveTransactionInfo = arg + await this.transactionManager.rollbackTransaction(txInfo.id) + } else { + assertNever(action, 'Invalid transaction action.') + } + + return result + } + + async request( + query: JsonQuery, + // TODO: support traceparent + { traceparent: _traceparent, interactiveTransaction }: RequestOptions, + ): Promise<{ data: T }> { + debug(`sending request`) + const queryStr = JSON.stringify(query) + this.lastStartedQuery = queryStr + + try { + await this.start() + + const queryPlanString = await this.queryCompiler!.compile(queryStr) + const queryPlan: QueryPlanNode = JSON.parse(queryPlanString) + + debug(`query plan created`, queryPlanString) + + const queryable = interactiveTransaction + ? this.transactionManager.getTransaction(interactiveTransaction, query.action) + : this.driverAdapter + + // TODO: ORM-508 - Implement query plan caching by replacing all scalar values in the query with params automatically. + const placeholderValues = {} + const interpreter = new QueryInterpreter(queryable, placeholderValues) + const result = await interpreter.run(queryPlan) + + debug(`query plan executed`) + + return { data: { [query.action]: result } as T } + } catch (e: any) { + throw this.transformRequestError(e) + } + } + + async requestBatch( + queries: JsonQuery[], + { transaction, traceparent: _traceparent }: RequestBatchOptions, + ): Promise[]> { + this.lastStartedQuery = JSON.stringify(queries) + + try { + await this.start() + + const queriesWithPlans = await Promise.all( + queries.map(async (query) => { + const queryStr = JSON.stringify(query) + const queryPlanString = await this.queryCompiler!.compile(queryStr) + return { query, plan: JSON.parse(queryPlanString) as QueryPlanNode } + }), + ) + + let txInfo: InteractiveTransactionInfo + if (transaction?.kind === 'itx') { + // If we are already in an interactive transaction we do not nest transactions + txInfo = transaction.options + } else { + const txOptions = transaction?.options.isolationLevel + ? { ...this.config.transactionOptions, isolationLevel: transaction.options.isolationLevel } + : this.config.transactionOptions + txInfo = await this.transaction('start', {}, txOptions) + } + + // TODO: potentially could run batch queries in parallel if it's for sure not in a transaction + const results: BatchQueryEngineResult[] = [] + for (const { query, plan } of queriesWithPlans) { + const queryable = this.transactionManager.getTransaction(txInfo, query.action) + const interpreter = new QueryInterpreter(queryable, {}) + results.push((await interpreter.run(plan)) as QueryEngineResultData) + } + + if (transaction?.kind !== 'itx') { + await this.transaction('commit', {}, txInfo) + } + + return results + } catch (e: any) { + throw this.transformRequestError(e) + } + } + + metrics(options: MetricsOptionsJson): Promise + metrics(options: MetricsOptionsPrometheus): Promise + metrics(_options: EngineMetricsOptions): Promise { + throw new Error('Method not implemented.') + } +} + +function getErrorMessageWithLink(engine: ClientEngine, title: string) { + return genericGetErrorMessageWithLink({ + binaryTarget: undefined, + title, + version: engine.config.clientVersion!, + engineVersion: 'unknown', // WASM engines do not export their version info + database: engine.config.activeProvider as any, + query: engine.lastStartedQuery!, + }) +} diff --git a/packages/client/src/runtime/core/engines/client/QueryPlan.ts b/packages/client/src/runtime/core/engines/client/QueryPlan.ts new file mode 100644 index 000000000000..2fd8dd649472 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/QueryPlan.ts @@ -0,0 +1,97 @@ +export type PrismaValuePlaceholder = { prisma__type: 'param'; prisma__value: { name: string; type: string } } + +export function isPrismaValuePlaceholder(value: unknown): value is PrismaValuePlaceholder { + return typeof value === 'object' && value !== null && value['prisma__type'] === 'param' +} + +export type PrismaValue = + | string + | boolean + | number + | PrismaValue[] + | null + | Record + | PrismaValuePlaceholder + +export type QueryPlanBinding = { + name: string + expr: QueryPlanNode +} + +export type QueryPlanDbQuery = { + query: string + params: PrismaValue[] +} + +export type JoinExpression = { + child: QueryPlanNode + on: [left: string, right: string][] + parentField: string +} + +export type QueryPlanNode = + | { + type: 'seq' + args: QueryPlanNode[] + } + | { + type: 'get' + args: { + name: string + } + } + | { + type: 'let' + args: { + bindings: QueryPlanBinding[] + expr: QueryPlanNode + } + } + | { + type: 'getFirstNonEmpty' + args: { + names: string[] + } + } + | { + type: 'query' + args: QueryPlanDbQuery + } + | { + type: 'execute' + args: QueryPlanDbQuery + } + | { + type: 'reverse' + args: QueryPlanNode + } + | { + type: 'sum' + args: QueryPlanNode[] + } + | { + type: 'concat' + args: QueryPlanNode[] + } + | { + type: 'unique' + args: QueryPlanNode + } + | { + type: 'required' + args: QueryPlanNode + } + | { + type: 'join' + args: { + parent: QueryPlanNode + children: JoinExpression[] + } + } + | { + type: 'mapField' + args: { + field: string + records: QueryPlanNode + } + } diff --git a/packages/client/src/runtime/core/engines/client/WasmQueryCompilerLoader.ts b/packages/client/src/runtime/core/engines/client/WasmQueryCompilerLoader.ts new file mode 100644 index 000000000000..638079749fcb --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/WasmQueryCompilerLoader.ts @@ -0,0 +1,52 @@ +// this import points directly to ./query_compiler_bg.js it is generated with >>> +// wasm-bindgen --browser. --browser is the leanest and most agnostic option +// that is also easy to integrate with our bundling. +// import * as wasmBindgenRuntime from '@prisma/query-compiler-wasm/query_compiler_bg.js' +import { getRuntime } from '../../../utils/getRuntime' +import { PrismaClientInitializationError } from '../../errors/PrismaClientInitializationError' +import { QueryCompilerConstructor, QueryCompilerLoader } from './types/QueryCompiler' + +declare const WebAssembly: any // TODO not defined in Node types? + +let loadedWasmInstance: Promise +export const wasmQueryCompilerLoader: QueryCompilerLoader = { + async loadQueryCompiler(config) { + const { clientVersion, adapter, compilerWasm } = config + + if (adapter === undefined) { + throw new PrismaClientInitializationError( + `The \`adapter\` option for \`PrismaClient\` is required in this context (${getRuntime().prettyName})`, + clientVersion, + ) + } + + if (compilerWasm === undefined) { + throw new PrismaClientInitializationError('WASM query compiler was unexpectedly `undefined`', clientVersion) + } + + // we only create the instance once for efficiency and also because wasm + // bindgen keeps an internal cache of its instance already, when the wasm + // compiler is loaded more than once it crashes with `unwrap_throw failed`. + if (loadedWasmInstance === undefined) { + loadedWasmInstance = (async () => { + const runtime = compilerWasm.getRuntime() + const wasmModule = await compilerWasm.getQueryCompilerWasmModule() + + if (wasmModule === undefined || wasmModule === null) { + throw new PrismaClientInitializationError( + 'The loaded wasm module was unexpectedly `undefined` or `null` once loaded', + clientVersion, + ) + } + + // from https://developers.cloudflare.com/workers/runtime-apis/webassembly/rust/#javascript-plumbing-wasm-bindgen + const options = { './query_compiler_bg.js': runtime } + const instance = new WebAssembly.Instance(wasmModule, options) + runtime.__wbg_set_wasm(instance.exports) + return runtime.QueryCompiler + })() + } + + return await loadedWasmInstance + }, +} diff --git a/packages/client/src/runtime/core/engines/client/interpreter/QueryInterpreter.ts b/packages/client/src/runtime/core/engines/client/interpreter/QueryInterpreter.ts new file mode 100644 index 000000000000..86beca239c10 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/interpreter/QueryInterpreter.ts @@ -0,0 +1,205 @@ +import { Queryable } from '@prisma/driver-adapter-utils' + +import { JoinExpression, QueryPlanNode } from '../QueryPlan' +import { Env, PrismaObject, Value } from './env' +import { renderQuery } from './renderQuery' +import { serialize } from './serializer' + +export class QueryInterpreter { + constructor(private queryable: Queryable, private params: Record) {} + + async run(queryPlan: QueryPlanNode): Promise { + return this.interpretNode(queryPlan, this.params) + } + + private async interpretNode(node: QueryPlanNode, env: Env): Promise { + switch (node.type) { + case 'seq': { + const results = await Promise.all(node.args.map((arg) => this.interpretNode(arg, env))) + return results[results.length - 1] + } + + case 'get': { + return env[node.args.name] + } + + case 'let': { + const bindings: Env = Object.create(env) + await Promise.all( + node.args.bindings.map(async (binding) => { + bindings[binding.name] = await this.interpretNode(binding.expr, env) + }), + ) + return this.interpretNode(node.args.expr, bindings) + } + + case 'getFirstNonEmpty': { + for (const name of node.args.names) { + const value = env[name] + if (!isEmpty(value)) { + return value + } + } + return [] + } + + case 'concat': { + const parts = await Promise.all(node.args.map((arg) => this.interpretNode(arg, env))) + return parts.reduce((acc, part) => acc.concat(asList(part)), []) + } + + case 'sum': { + const parts = await Promise.all(node.args.map((arg) => this.interpretNode(arg, env))) + return parts.reduce((acc, part) => asNumber(acc) + asNumber(part)) + } + + case 'execute': { + const result = await this.queryable.executeRaw(renderQuery(node.args, env)) + if (result.ok) { + return result.value + } else { + throw result.error + } + } + + case 'query': { + const result = await this.queryable.queryRaw(renderQuery(node.args, env)) + if (result.ok) { + return serialize(result.value) + } else { + throw result.error + } + } + + case 'reverse': { + const value = await this.interpretNode(node.args, env) + return Array.isArray(value) ? value.reverse() : value + } + + case 'unique': { + const value = await this.interpretNode(node.args, env) + if (!Array.isArray(value)) { + return value + } + if (value.length !== 1) { + throw new Error(`Expected exactly one element, got ${value.length}`) + } + return value[0] + } + + case 'required': { + const value = await this.interpretNode(node.args, env) + if (isEmpty(value)) { + throw new Error('Required value is empty') + } + return value + } + + case 'mapField': { + const value = await this.interpretNode(node.args.records, env) + return mapField(value, node.args.field) + } + + case 'join': { + const parent = await this.interpretNode(node.args.parent, env) + + const children = (await Promise.all( + node.args.children.map(async (joinExpr) => ({ + joinExpr, + childRecords: await this.interpretNode(joinExpr.child, env), + })), + )) satisfies JoinExpressionWithRecords[] + + if (Array.isArray(parent)) { + for (const record of parent) { + attachChildrenToParent(asRecord(record), children) + } + return parent + } + + return attachChildrenToParent(asRecord(parent), children) + } + + default: { + node satisfies never + throw new Error(`Unexpected node type: ${(node as { type: unknown }).type}`) + } + } + } +} + +function isEmpty(value: Value): boolean { + if (Array.isArray(value)) { + return value.length === 0 + } + return value == null +} + +function asList(value: Value): Value[] { + return Array.isArray(value) ? value : [value] +} + +function asNumber(value: Value): number { + if (typeof value === 'number') { + return value + } + + if (typeof value === 'string') { + return Number(value) + } + + throw new Error(`Expected number, got ${typeof value}`) +} + +function asRecord(value: Value): PrismaObject { + if (typeof value === 'object' && value !== null) { + return value as PrismaObject + } + throw new Error(`Expected object, got ${typeof value}`) +} + +function mapField(value: Value, field: string): Value { + if (Array.isArray(value)) { + return value.map((element) => mapField(element, field)) + } + + if (typeof value === 'object' && value !== null) { + return value[field] ?? null + } + + return value +} + +type JoinExpressionWithRecords = { + joinExpr: JoinExpression + childRecords: Value +} + +function attachChildrenToParent(parentRecord: PrismaObject, children: JoinExpressionWithRecords[]) { + for (const { joinExpr, childRecords } of children) { + parentRecord[joinExpr.parentField] = filterChildRecords(childRecords, parentRecord, joinExpr) + } + return parentRecord +} + +function filterChildRecords(records: Value, parentRecord: PrismaObject, joinExpr: JoinExpression) { + if (Array.isArray(records)) { + return records.filter((record) => childRecordMatchesParent(asRecord(record), parentRecord, joinExpr)) + } else { + const record = asRecord(records) + return childRecordMatchesParent(record, parentRecord, joinExpr) ? record : null + } +} + +function childRecordMatchesParent( + childRecord: PrismaObject, + parentRecord: PrismaObject, + joinExpr: JoinExpression, +): boolean { + for (const [parentField, childField] of joinExpr.on) { + if (parentRecord[parentField] !== childRecord[childField]) { + return false + } + } + return true +} diff --git a/packages/client/src/runtime/core/engines/client/interpreter/env.ts b/packages/client/src/runtime/core/engines/client/interpreter/env.ts new file mode 100644 index 000000000000..c3e89546a537 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/interpreter/env.ts @@ -0,0 +1,15 @@ +/** + * An object like a record from the database. + */ +export type PrismaObject = Record + +/** + * The general type of values each node can evaluate to. + */ +export type Value = unknown + +/** + * Environment in which a query plan node is interpreted. The names may come + * from the query placeholders or from let bindings introduced in the query plan. + */ +export type Env = Record diff --git a/packages/client/src/runtime/core/engines/client/interpreter/renderQuery.ts b/packages/client/src/runtime/core/engines/client/interpreter/renderQuery.ts new file mode 100644 index 000000000000..0aae363d8bf0 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/interpreter/renderQuery.ts @@ -0,0 +1,84 @@ +import { ArgType, Query } from '@prisma/driver-adapter-utils' + +import { isPrismaValuePlaceholder, PrismaValue, QueryPlanDbQuery } from '../QueryPlan' +import { Env } from './env' +import { renderQueryTemplate } from './renderQueryTemplate' + +export function renderQuery({ query, params }: QueryPlanDbQuery, env: Env): Query { + const substitutedParams = params.map((param) => { + if (!isPrismaValuePlaceholder(param)) { + return param + } + + const value = env[param.prisma__value.name] + if (value === undefined) { + throw new Error(`Missing value for query variable ${param.prisma__value.name}`) + } + + return value + }) + + const { query: renderedQuery, params: expandedParams } = renderQueryTemplate({ query, params: substitutedParams }) + + const argTypes = expandedParams.map((param) => toArgType(param as PrismaValue)) + + return { + sql: renderedQuery, + args: expandedParams, + argTypes, + } +} + +function toArgType(value: PrismaValue): ArgType { + if (value === null) { + // TODO: either introduce Unknown or Null type in driver adapters, + // or change PrismaValue to be able to represent typed nulls. + return 'Int32' + } + + if (typeof value === 'string') { + return 'Text' + } + + if (typeof value === 'number') { + return 'Numeric' + } + + if (typeof value === 'boolean') { + return 'Boolean' + } + + if (Array.isArray(value)) { + return 'Array' + } + + if (isPrismaValuePlaceholder(value)) { + return placeholderTypeToArgType(value.prisma__value.type) + } + + return 'Json' +} + +function placeholderTypeToArgType(type: string): ArgType { + const typeMap = { + Any: 'Json', + String: 'Text', + Int: 'Int32', + BigInt: 'Int64', + Float: 'Double', + Boolean: 'Boolean', + Decimal: 'Numeric', + Date: 'DateTime', + Object: 'Json', + Bytes: 'Bytes', + Array: 'Array', + } satisfies Record + + const mappedType = typeMap[type] as ArgType | undefined + + if (!mappedType) { + throw new Error(`Unknown placeholder type: ${type}`) + } + + return mappedType +} diff --git a/packages/client/src/runtime/core/engines/client/interpreter/renderQueryTemplate.ts b/packages/client/src/runtime/core/engines/client/interpreter/renderQueryTemplate.ts new file mode 100644 index 000000000000..18858b73e48e --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/interpreter/renderQueryTemplate.ts @@ -0,0 +1,87 @@ +import { Value } from './env' + +/** + * A `QueryPlanDbQuery` in which all placeholders have been substituted with + * their values from the environment. + */ +export type QueryWithSubstitutedPlaceholders = { + query: string + params: Value[] +} + +const BEGIN_REPEAT = '/* prisma-comma-repeatable-start */' +const END_REPEAT = '/* prisma-comma-repeatable-end */' + +// Renders a query template by expanding the repetition macros, renumbering +// the SQL parameters accordingly, and flattening the corresponding array +// parameter values into scalars. +// +// For example, given the following query template: +// ``` +// SELECT * WHERE "userId" IN /* prisma-comma-repeatable-start */$1/* prisma-comma-repeatable-end */ OFFSET $2 +// ``` +// and the following parameters: +// ``` +// [[1, 2, 3], 0] +// ``` +// it will produce the following query: +// ``` +// SELECT * WHERE "userId" IN ($1, $2, $3) OFFSET $4 +// ``` +// and the following parameters: +// ``` +// [1, 2, 3, 0] +// ``` +// +// This is a temporary solution for the proof-of-concept. We will change quaint to write structured templates instead. +export function renderQueryTemplate({ + query, + params, +}: QueryWithSubstitutedPlaceholders): QueryWithSubstitutedPlaceholders { + const flattened: Value[] = [] + let lastParamId = 1 + let result = '' + let templatePos = 0 + + while (templatePos < query.length) { + if (query.slice(templatePos, templatePos + BEGIN_REPEAT.length) === BEGIN_REPEAT) { + templatePos += BEGIN_REPEAT.length + result += '(' + + const paramNum = parseInt(query.slice(templatePos).match(/^\$(\d+)/)?.[1] ?? '0') + const arrParam = params[paramNum - 1] as Value[] + + const expanded = arrParam.map((_, idx) => '$' + (lastParamId + idx)).join(', ') + result += expanded + flattened.push(...arrParam) + lastParamId += arrParam.length + + templatePos += query.slice(templatePos).indexOf(END_REPEAT) + END_REPEAT.length + result += ')' + } else if (query[templatePos] === '$') { + const paramMatch = query.slice(templatePos + 1).match(/^\d+/) + if (paramMatch) { + const paramNum = parseInt(paramMatch[0]) + const paramValue = params[paramNum - 1] + + if (!Array.isArray(paramValue)) { + result += '$' + lastParamId + flattened.push(paramValue) + lastParamId++ + templatePos += paramMatch[0].length + 1 + } + } else { + result += query[templatePos] + templatePos++ + } + } else { + result += query[templatePos] + templatePos++ + } + } + + return { + query: result, + params: flattened, + } +} diff --git a/packages/client/src/runtime/core/engines/client/interpreter/serializer.ts b/packages/client/src/runtime/core/engines/client/interpreter/serializer.ts new file mode 100644 index 000000000000..b0caabe42372 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/interpreter/serializer.ts @@ -0,0 +1,10 @@ +import { ResultSet } from '@prisma/driver-adapter-utils' + +export function serialize(resultSet: ResultSet): Record[] { + return resultSet.rows.map((row) => + row.reduce>((acc, value, index) => { + acc[resultSet.columnNames[index]] = value + return acc + }, {}), + ) +} diff --git a/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManager.test.ts b/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManager.test.ts new file mode 100644 index 000000000000..750ba00e8669 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManager.test.ts @@ -0,0 +1,240 @@ +import type { + DriverAdapter, + Query, + Queryable, + Result, + ResultSet, + Transaction, + TransactionContext, +} from '@prisma/driver-adapter-utils' +import { ok } from '@prisma/driver-adapter-utils' + +import { PrismaClientKnownRequestError } from '../../../errors/PrismaClientKnownRequestError' +import type * as Tx from '../../common/types/Transaction' +import { IsolationLevel } from '../../common/types/Transaction' +import { TransactionManager } from './TransactionManager' +import { + InvalidTransactionIsolationLevelError, + TransactionClosedError, + TransactionExecutionTimeoutError, + TransactionManagerError, + TransactionNotFoundError, + TransactionRolledBackError, + TransactionStartTimoutError, +} from './TransactionManagerErrors' + +jest.useFakeTimers() + +const START_TRANSACTION_TIME = 200 +const TRANSACTION_EXECUTION_TIMEOUT = 500 + +class MockDriverAdapter implements DriverAdapter { + adapterName = 'mock-adapter' + provider: Queryable['provider'] + private readonly usePhantomQuery: boolean + + executeRawMock: jest.MockedFn<(params: Query) => Promise>> = jest.fn().mockResolvedValue(ok(1)) + commitMock: jest.MockedFn<() => Promise>> = jest.fn().mockResolvedValue(ok(undefined)) + rollbackMock: jest.MockedFn<() => Promise>> = jest.fn().mockResolvedValue(ok(undefined)) + + constructor({ provider = 'postgres' as Queryable['provider'], usePhantomQuery = false } = {}) { + this.usePhantomQuery = usePhantomQuery + this.provider = provider + } + + executeRaw(params: Query): Promise> { + return this.executeRawMock(params) + } + + queryRaw(_params: Query): Promise> { + throw new Error('Not implemented for test') + } + + transactionContext(): Promise> { + const executeRawMock = this.executeRawMock + const commitMock = this.commitMock + const rollbackMock = this.rollbackMock + const usePhantomQuery = this.usePhantomQuery + + const mockTransactionContext: TransactionContext = { + adapterName: this.adapterName, + provider: this.provider, + queryRaw: jest.fn().mockRejectedValue('Not implemented for test'), + executeRaw: executeRawMock, + startTransaction(): Promise> { + const mockTransaction: Transaction = { + adapterName: 'mock-adapter', + provider: 'postgres', + options: { usePhantomQuery }, + queryRaw: jest.fn().mockRejectedValue('Not implemented for test'), + executeRaw: executeRawMock, + commit: commitMock, + rollback: rollbackMock, + } + + return new Promise((resolve) => + setTimeout(() => { + resolve(ok(mockTransaction)) + }, START_TRANSACTION_TIME), + ) + }, + } + return Promise.resolve(ok(mockTransactionContext)) + } +} + +async function startTransaction(transactionManager: TransactionManager, options: Partial = {}) { + const [{ id }] = await Promise.all([ + transactionManager.startTransaction({ + timeout: TRANSACTION_EXECUTION_TIMEOUT, + maxWait: START_TRANSACTION_TIME * 2, + ...options, + }), + jest.advanceTimersByTimeAsync(START_TRANSACTION_TIME + 100), + ]) + return id +} + +test('transaction executes normally', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + const id = await startTransaction(transactionManager) + + expect(driverAdapter.executeRawMock.mock.calls[0][0].sql).toEqual('BEGIN') + + await transactionManager.commitTransaction(id) + + expect(driverAdapter.commitMock).toHaveBeenCalled() + expect(driverAdapter.executeRawMock.mock.calls[1][0].sql).toEqual('COMMIT') + expect(driverAdapter.rollbackMock).not.toHaveBeenCalled() + + await expect(transactionManager.commitTransaction(id)).rejects.toBeInstanceOf(TransactionClosedError) + await expect(transactionManager.rollbackTransaction(id)).rejects.toBeInstanceOf(TransactionClosedError) +}) + +test('transaction is rolled back', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + const id = await startTransaction(transactionManager) + + expect(driverAdapter.executeRawMock.mock.calls[0][0].sql).toEqual('BEGIN') + + await transactionManager.rollbackTransaction(id) + + expect(driverAdapter.rollbackMock).toHaveBeenCalled() + expect(driverAdapter.executeRawMock.mock.calls[1][0].sql).toEqual('ROLLBACK') + expect(driverAdapter.commitMock).not.toHaveBeenCalled() + + await expect(transactionManager.commitTransaction(id)).rejects.toBeInstanceOf(TransactionRolledBackError) + await expect(transactionManager.rollbackTransaction(id)).rejects.toBeInstanceOf(TransactionRolledBackError) +}) + +test('when driver adapter requires phantom queries does not execute transaction statements', async () => { + const driverAdapter = new MockDriverAdapter({ usePhantomQuery: true }) + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + const id = await startTransaction(transactionManager) + + await transactionManager.commitTransaction(id) + + expect(driverAdapter.commitMock).toHaveBeenCalled() + expect(driverAdapter.executeRawMock).not.toHaveBeenCalled() + expect(driverAdapter.rollbackMock).not.toHaveBeenCalled() + + await expect(transactionManager.commitTransaction(id)).rejects.toBeInstanceOf(TransactionClosedError) + await expect(transactionManager.rollbackTransaction(id)).rejects.toBeInstanceOf(TransactionClosedError) +}) + +test('with explicit isolation level', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + const id = await startTransaction(transactionManager, { isolationLevel: IsolationLevel.Serializable }) + + expect(driverAdapter.executeRawMock.mock.calls[0][0].sql).toEqual('BEGIN') + expect(driverAdapter.executeRawMock.mock.calls[1][0].sql).toEqual('SET TRANSACTION ISOLATION LEVEL SERIALIZABLE') + + await transactionManager.commitTransaction(id) + + expect(driverAdapter.commitMock).toHaveBeenCalled() + expect(driverAdapter.executeRawMock.mock.calls[2][0].sql).toEqual('COMMIT') + expect(driverAdapter.rollbackMock).not.toHaveBeenCalled() + + await expect(transactionManager.commitTransaction(id)).rejects.toBeInstanceOf(TransactionClosedError) + await expect(transactionManager.rollbackTransaction(id)).rejects.toBeInstanceOf(TransactionClosedError) +}) + +test('for MySQL with explicit isolation level requires isolation level set before BEGIN', async () => { + const driverAdapter = new MockDriverAdapter({ provider: 'mysql' }) + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + const id = await startTransaction(transactionManager, { isolationLevel: IsolationLevel.Serializable }) + + expect(driverAdapter.executeRawMock.mock.calls[0][0].sql).toEqual('SET TRANSACTION ISOLATION LEVEL SERIALIZABLE') + expect(driverAdapter.executeRawMock.mock.calls[1][0].sql).toEqual('BEGIN') + + await transactionManager.commitTransaction(id) +}) + +test('for SQLite with unsupported isolation level', async () => { + const driverAdapter = new MockDriverAdapter({ provider: 'sqlite' }) + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + await expect( + startTransaction(transactionManager, { isolationLevel: IsolationLevel.RepeatableRead }), + ).rejects.toBeInstanceOf(InvalidTransactionIsolationLevelError) +}) + +test('with isolation level only supported in MS SQL Server, "snapshot"', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + await expect( + startTransaction(transactionManager, { isolationLevel: IsolationLevel.Snapshot }), + ).rejects.toBeInstanceOf(InvalidTransactionIsolationLevelError) +}) + +test('transaction times out during starting', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + await expect(startTransaction(transactionManager, { maxWait: START_TRANSACTION_TIME / 2 })).rejects.toBeInstanceOf( + TransactionStartTimoutError, + ) +}) + +test('transaction times out during execution', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + const id = await startTransaction(transactionManager) + + await jest.advanceTimersByTimeAsync(TRANSACTION_EXECUTION_TIMEOUT + 100) + + await expect(transactionManager.commitTransaction(id)).rejects.toBeInstanceOf(TransactionExecutionTimeoutError) + await expect(transactionManager.rollbackTransaction(id)).rejects.toBeInstanceOf(TransactionExecutionTimeoutError) +}) + +test('trying to commit or rollback invalid transaction id fails with TransactionNotFoundError', async () => { + const driverAdapter = new MockDriverAdapter() + const transactionManager = new TransactionManager({ driverAdapter, clientVersion: '1.0.0' }) + + await expect(transactionManager.commitTransaction('invalid-tx-id')).rejects.toBeInstanceOf(TransactionNotFoundError) + await expect(transactionManager.rollbackTransaction('invalid-tx-id')).rejects.toBeInstanceOf(TransactionNotFoundError) + + expect(driverAdapter.executeRawMock).not.toHaveBeenCalled() + expect(driverAdapter.commitMock).not.toHaveBeenCalled() + expect(driverAdapter.rollbackMock).not.toHaveBeenCalled() +}) + +test('TransactionManagerErrors are PrismaClientKnownRequestError', () => { + const error = new TransactionManagerError('test message', { clientVersion: '1.0.0', meta: { foo: 'bar' } }) + + expect(error).toBeInstanceOf(PrismaClientKnownRequestError) + expect(error.code).toEqual('P2028') + expect(error.message).toEqual('Transaction API error: test message') + expect(error.clientVersion).toEqual('1.0.0') + expect(error.meta).toEqual({ foo: 'bar' }) +}) diff --git a/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManager.ts b/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManager.ts new file mode 100644 index 000000000000..adfdb205340c --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManager.ts @@ -0,0 +1,272 @@ +import Debug from '@prisma/debug' +import { DriverAdapter, Query, Transaction } from '@prisma/driver-adapter-utils' +import { assertNever } from '@prisma/internals' +import crypto from 'crypto' + +import type * as Tx from '../../common/types/Transaction' +import { IsolationLevel } from '../../common/types/Transaction' +import { + InvalidTransactionIsolationLevelError, + TransactionClosedError, + TransactionDriverAdapterError, + TransactionExecutionTimeoutError, + TransactionInternalConsistencyError, + TransactionManagerError, + TransactionNotFoundError, + TransactionRolledBackError, + TransactionStartTimoutError, +} from './TransactionManagerErrors' + +const MAX_CLOSED_TRANSACTIONS = 100 + +const isolationLevelMap = { + ReadUncommitted: 'READ UNCOMMITTED', + ReadCommitted: 'READ COMMITTED', + RepeatableRead: 'REPEATABLE READ', + Snapshot: 'SNAPSHOT', + Serializable: 'SERIALIZABLE', +} + +type TransactionWrapper = { + id: string + status: 'waiting' | 'running' | 'committed' | 'rolled_back' | 'timed_out' + timer?: NodeJS.Timeout + timeout: number + startedAt: number + transaction?: Transaction +} + +const debug = Debug('prisma:client:transactionManager') + +const COMMIT_QUERY = (): Query => ({ sql: 'COMMIT', args: [], argTypes: [] }) +const ROLLBACK_QUERY = (): Query => ({ sql: 'ROLLBACK', args: [], argTypes: [] }) +const ISOLATION_LEVEL_QUERY = (isolationLevel: IsolationLevel): Query => ({ + sql: 'SET TRANSACTION ISOLATION LEVEL ' + isolationLevelMap[isolationLevel], + args: [], + argTypes: [], +}) + +export class TransactionManager { + // The map of active transactions. + private transactions: Map = new Map() + // List of last closed transactions. Max MAX_CLOSED_TRANSACTIONS entries. + // Used to provide better error messages than a generic "transaction not found". + private closedTransactions: TransactionWrapper[] = [] + private readonly driverAdapter: DriverAdapter + private readonly clientVersion: string + + constructor({ driverAdapter, clientVersion }: { driverAdapter: DriverAdapter; clientVersion: string }) { + this.driverAdapter = driverAdapter + this.clientVersion = clientVersion + } + + async startTransaction(options: Tx.Options): Promise> { + const validatedOptions = this.validateOptions(options) + + const transaction: TransactionWrapper = { + id: crypto.randomUUID(), + status: 'waiting', + timer: undefined, + timeout: validatedOptions.timeout, + startedAt: Date.now(), + transaction: undefined, + } + this.transactions.set(transaction.id, transaction) + + // Start timeout to wait for transaction to be started. + transaction.timer = this.startTransactionTimeout(transaction.id, validatedOptions.maxWait) + + const txContext = await this.driverAdapter.transactionContext() + if (!txContext.ok) + throw new TransactionDriverAdapterError('Failed to start transaction.', { + driverAdapterError: txContext.error, + clientVersion: this.clientVersion, + }) + + if (this.requiresSettingIsolationLevelFirst() && validatedOptions.isolationLevel) { + await txContext.value.executeRaw(ISOLATION_LEVEL_QUERY(validatedOptions.isolationLevel)) + } + + const startedTransaction = await txContext.value.startTransaction() + if (!startedTransaction.ok) + throw new TransactionDriverAdapterError('Failed to start transaction.', { + driverAdapterError: startedTransaction.error, + clientVersion: this.clientVersion, + }) + + if (!startedTransaction.value.options.usePhantomQuery) { + await startedTransaction.value.executeRaw({ sql: 'BEGIN', args: [], argTypes: [] }) + + if (!this.requiresSettingIsolationLevelFirst() && validatedOptions.isolationLevel) { + await txContext.value.executeRaw(ISOLATION_LEVEL_QUERY(validatedOptions.isolationLevel)) + } + } + + // Transaction status might have changed to timed_out while waiting for transaction to start. => Check for it! + switch (transaction.status) { + case 'waiting': + transaction.transaction = startedTransaction.value + clearTimeout(transaction.timer) + transaction.timer = undefined + transaction.status = 'running' + + // Start timeout to wait for transaction to be finished. + transaction.timer = this.startTransactionTimeout(transaction.id, validatedOptions.timeout) + + return { id: transaction.id, payload: undefined } + case 'timed_out': + throw new TransactionStartTimoutError({ clientVersion: this.clientVersion }) + case 'running': + case 'committed': + case 'rolled_back': + throw new TransactionInternalConsistencyError( + `Transaction in invalid state ${transaction.status} although it just finished startup.`, + { + clientVersion: this.clientVersion, + }, + ) + default: + assertNever(transaction.status, 'Unknown transaction status.') + } + } + + async commitTransaction(transactionId: string): Promise { + const txw = this.getActiveTransaction(transactionId, 'commit') + await this.closeTransaction(txw, 'committed') + } + + async rollbackTransaction(transactionId: string): Promise { + const txw = this.getActiveTransaction(transactionId, 'rollback') + await this.closeTransaction(txw, 'rolled_back') + } + + getTransaction(txInfo: Tx.InteractiveTransactionInfo, operation: string): Transaction { + const tx = this.getActiveTransaction(txInfo.id, operation) + if (!tx.transaction) throw new TransactionNotFoundError({ clientVersion: this.clientVersion }) + return tx.transaction + } + + private getActiveTransaction(transactionId: string, operation: string): TransactionWrapper { + const transaction = this.transactions.get(transactionId) + + if (!transaction) { + const closedTransaction = this.closedTransactions.find((tx) => tx.id === transactionId) + if (closedTransaction) { + debug('Transaction already closed.', { transactionId, status: closedTransaction.status }) + switch (closedTransaction.status) { + case 'waiting': + case 'running': + throw new TransactionInternalConsistencyError('Active transaction found in closed transactions list.', { + clientVersion: this.clientVersion, + }) + case 'committed': + throw new TransactionClosedError(operation, { clientVersion: this.clientVersion }) + case 'rolled_back': + throw new TransactionRolledBackError(operation, { clientVersion: this.clientVersion }) + case 'timed_out': + throw new TransactionExecutionTimeoutError(operation, { + timeout: closedTransaction.timeout, + timeTaken: Date.now() - closedTransaction.startedAt, + clientVersion: this.clientVersion, + }) + } + } else { + debug(`Transaction not found.`, transactionId) + throw new TransactionNotFoundError({ clientVersion: this.clientVersion }) + } + } + + if (['committed', 'rolled_back', 'timed_out'].includes(transaction.status)) { + throw new TransactionInternalConsistencyError('Closed transaction found in active transactions map.', { + clientVersion: this.clientVersion, + }) + } + + return transaction + } + + private startTransactionTimeout(transactionId: string, timeout: number): NodeJS.Timeout { + const timeoutStartedAt = Date.now() + return setTimeout(async () => { + debug('Transaction timed out.', { transactionId, timeoutStartedAt, timeout }) + + const tx = this.transactions.get(transactionId) + if (tx && ['running', 'waiting'].includes(tx.status)) { + await this.closeTransaction(tx, 'timed_out') + } else { + // Transaction was already committed or rolled back when timeout happened. + // Should normally not happen as timeout is cancelled when transaction is committed or rolled back. + // No further action needed though. + debug('Transaction already committed or rolled back when timeout happened.', transactionId) + } + }, timeout) + } + + private async closeTransaction(tx: TransactionWrapper, status: 'committed' | 'rolled_back' | 'timed_out') { + debug('Closing transaction.', { transactionId: tx.id, status }) + + tx.status = status + + if (tx.transaction && status === 'committed') { + const result = await tx.transaction.commit() + if (!result.ok) + throw new TransactionDriverAdapterError('Failed to commit transaction.', { + driverAdapterError: result.error, + clientVersion: this.clientVersion, + }) + if (!tx.transaction.options.usePhantomQuery) { + await tx.transaction.executeRaw(COMMIT_QUERY()) + } + } else if (tx.transaction) { + const result = await tx.transaction.rollback() + if (!result.ok) + throw new TransactionDriverAdapterError('Failed to rollback transaction.', { + driverAdapterError: result.error, + clientVersion: this.clientVersion, + }) + if (!tx.transaction.options.usePhantomQuery) { + await tx.transaction.executeRaw(ROLLBACK_QUERY()) + } + } + + clearTimeout(tx.timer) + tx.timer = undefined + + this.transactions.delete(tx.id) + + this.closedTransactions.push(tx) + if (this.closedTransactions.length > MAX_CLOSED_TRANSACTIONS) { + this.closedTransactions.shift() + } + } + + private validateOptions(options: Tx.Options) { + // Supplying timeout default values is cared for upstream already. + if (!options.timeout) + throw new TransactionManagerError('timeout is required', { clientVersion: this.clientVersion }) + if (!options.maxWait) + throw new TransactionManagerError('maxWait is required', { clientVersion: this.clientVersion }) + + // Snapshot level only supported for MS SQL Server, which is not supported via driver adapters so far. + if (options.isolationLevel === IsolationLevel.Snapshot) + throw new InvalidTransactionIsolationLevelError(options.isolationLevel, { clientVersion: this.clientVersion }) + + // SQLite only has serializable isolation level. + if ( + this.driverAdapter.provider === 'sqlite' && + options.isolationLevel && + options.isolationLevel !== IsolationLevel.Serializable + ) + throw new InvalidTransactionIsolationLevelError(options.isolationLevel, { clientVersion: this.clientVersion }) + + return { + ...options, + timeout: options.timeout, + maxWait: options.maxWait, + } + } + + private requiresSettingIsolationLevelFirst() { + return this.driverAdapter.provider === 'mysql' + } +} diff --git a/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManagerErrors.ts b/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManagerErrors.ts new file mode 100644 index 000000000000..4138a7ce4644 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/transactionManager/TransactionManagerErrors.ts @@ -0,0 +1,87 @@ +import { Error } from '@prisma/driver-adapter-utils' + +import { PrismaClientKnownRequestError } from '../../../errors/PrismaClientKnownRequestError' + +type ErrorParams = { clientVersion: string } + +export class TransactionManagerError extends PrismaClientKnownRequestError { + constructor( + message: string, + { + clientVersion, + meta, + }: { + clientVersion: string + meta?: Record + }, + ) { + super('Transaction API error: ' + message, { + code: 'P2028', + clientVersion, + meta, + }) + } +} + +export class TransactionDriverAdapterError extends TransactionManagerError { + constructor(message: string, errorParams: ErrorParams & { driverAdapterError: Error }) { + // TODO: map all known non-transaction manager specific database based error codes properly - currently full mapping only exists in rust engine + super(`Error from Driver Adapter: ${message}`, { + clientVersion: errorParams.clientVersion, + meta: { + ...errorParams.driverAdapterError, + }, + }) + } +} + +export class TransactionNotFoundError extends TransactionManagerError { + constructor(errorParams: ErrorParams) { + super( + "Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.", + errorParams, + ) + } +} + +export class TransactionClosedError extends TransactionManagerError { + constructor(operation: string, errorParams: ErrorParams) { + super(`Transaction already closed: A ${operation} cannot be executed on a committed transaction`, errorParams) + } +} + +export class TransactionRolledBackError extends TransactionManagerError { + constructor(operation: string, errorParams: ErrorParams) { + super(`Transaction already closed: A ${operation} cannot be executed on a committed transaction`, errorParams) + } +} + +export class TransactionStartTimoutError extends TransactionManagerError { + constructor(errorParams: ErrorParams) { + super('Unable to start a transaction in the given time.', errorParams) + } +} + +export class TransactionExecutionTimeoutError extends TransactionManagerError { + constructor(operation, { clientVersion, timeout, timeTaken }: ErrorParams & { timeout: number; timeTaken: number }) { + super( + `A ${operation} cannot be executed on an expired transaction. \ +The timeout for this transaction was ${timeout} ms, however ${timeTaken} ms passed since the start \ +of the transaction. Consider increasing the interactive transaction timeout \ +or doing less work in the transaction`, + { clientVersion }, + ) + } +} + +export class TransactionInternalConsistencyError extends TransactionManagerError { + constructor(message: string, errorParams: ErrorParams) { + super(`Internal Consistency Error: ${message}`, errorParams) + } +} + +export class InvalidTransactionIsolationLevelError extends TransactionManagerError { + constructor(isolationLevel: string, errorParams: ErrorParams) { + super(`Invalid isolation level: ${isolationLevel}`, errorParams) + } +} diff --git a/packages/client/src/runtime/core/engines/client/types/QueryCompiler.ts b/packages/client/src/runtime/core/engines/client/types/QueryCompiler.ts new file mode 100644 index 000000000000..02d0bd3af531 --- /dev/null +++ b/packages/client/src/runtime/core/engines/client/types/QueryCompiler.ts @@ -0,0 +1,21 @@ +import { ConnectionInfo, Flavour } from '@prisma/driver-adapter-utils' + +import { EngineConfig } from '../../common/Engine' + +export type QueryCompiler = { + compile(request: string): Promise +} + +export type QueryCompilerOptions = { + datamodel: string + flavour: Flavour + connectionInfo: ConnectionInfo +} + +export interface QueryCompilerConstructor { + new (options: QueryCompilerOptions): QueryCompiler +} + +export interface QueryCompilerLoader { + loadQueryCompiler(config: EngineConfig): Promise +} diff --git a/packages/client/src/runtime/core/engines/common/Engine.ts b/packages/client/src/runtime/core/engines/common/Engine.ts index d871044f49ef..1b525d511d9e 100644 --- a/packages/client/src/runtime/core/engines/common/Engine.ts +++ b/packages/client/src/runtime/core/engines/common/Engine.ts @@ -8,12 +8,12 @@ import { PrismaClientKnownRequestError } from '../../errors/PrismaClientKnownReq import { PrismaClientUnknownRequestError } from '../../errors/PrismaClientUnknownRequestError' import type { prismaGraphQLToJSError } from '../../errors/utils/prismaGraphQLToJSError' import type { resolveDatasourceUrl } from '../../init/resolveDatasourceUrl' -import { Fetch } from '../data-proxy/utils/request' +import { QueryCompilerConstructor } from '../client/types/QueryCompiler' import { QueryEngineConstructor } from '../library/types/Library' import type { LogEmitter } from './types/Events' import { JsonQuery } from './types/JsonProtocol' import type { Metrics, MetricsOptionsJson, MetricsOptionsPrometheus } from './types/Metrics' -import type { QueryEngineResult } from './types/QueryEngine' +import type { QueryEngineResultData } from './types/QueryEngine' import type * as Transaction from './types/Transaction' import type { getBatchRequestPayload } from './utils/getBatchRequestPayload' @@ -40,13 +40,44 @@ export type GraphQLQuery = { export type EngineProtocol = 'graphql' | 'json' +/** + * Custom fetch function for `DataProxyEngine`. + * + * We can't use the actual type of `globalThis.fetch` because this will result + * in API Extractor referencing Node.js type definitions in the `.d.ts` bundle + * for the client runtime. We can only use such types in internal types that + * don't end up exported anywhere. + + * It's also not possible to write a definition of `fetch` that would accept the + * actual `fetch` function from different environments such as Node.js and + * Cloudflare Workers (with their extensions to `RequestInit` and `Response`). + * `fetch` is used in both covariant and contravariant positions in + * `CustomDataProxyFetch`, making it invariant, so we need the exact same type. + * Even if we removed the argument and left `fetch` in covariant position only, + * then for an extension-supplied function to be assignable to `customDataProxyFetch`, + * the platform-specific (or custom) `fetch` function needs to be assignable + * to our `fetch` definition. This, in turn, requires the third-party `Response` + * to be a subtype of our `Response` (which is not a problem, we could declare + * a minimal `Response` type that only includes what we use) *and* requires the + * third-party `RequestInit` to be a supertype of our `RequestInit` (i.e. we + * have to declare all properties any `RequestInit` implementation in existence + * could possibly have), which is not possible. + * + * Since `@prisma/extension-accelerate` redefines the type of + * `__internalParams.customDataProxyFetch` to its own type anyway (probably for + * exactly this reason), our definition is never actually used and is completely + * ignored, so it doesn't matter, and we can just use `unknown` as the type of + * `fetch` here. + */ +export type CustomDataProxyFetch = (fetch: unknown) => unknown + export type RequestOptions = { traceparent?: string numTry?: number interactiveTransaction?: InteractiveTransactionOptions isWrite: boolean // only used by the data proxy engine - customDataProxyFetch?: (fetch: Fetch) => Fetch + customDataProxyFetch?: CustomDataProxyFetch } export type RequestBatchOptions = { @@ -55,10 +86,10 @@ export type RequestBatchOptions = { numTry?: number containsWrite: boolean // only used by the data proxy engine - customDataProxyFetch?: (fetch: Fetch) => Fetch + customDataProxyFetch?: CustomDataProxyFetch } -export type BatchQueryEngineResult = QueryEngineResult | Error +export type BatchQueryEngineResult = QueryEngineResultData | Error export interface Engine { /** The name of the engine. This is meant to be consumed externally */ @@ -67,7 +98,10 @@ export interface Engine { start(): Promise stop(): Promise version(forceRun?: boolean): Promise | string - request(query: JsonQuery, options: RequestOptions): Promise> + request( + query: JsonQuery, + options: RequestOptions, + ): Promise> requestBatch( queries: JsonQuery[], options: RequestBatchOptions, @@ -157,7 +191,8 @@ export interface EngineConfig { /** * Web Assembly module loading configuration */ - engineWasm?: WasmLoadingConfig + engineWasm?: EngineWasmLoadingConfig + compilerWasm?: CompilerWasmLoadingConfig /** * Allows Accelerate to use runtime utilities from the client. These are @@ -176,7 +211,7 @@ export interface EngineConfig { } } -export type WasmLoadingConfig = { +export type EngineWasmLoadingConfig = { /** * WASM-bindgen runtime for corresponding module */ @@ -189,11 +224,29 @@ export type WasmLoadingConfig = { * generated specifically for each type of client, eg. Node.js client and Edge * clients will have different implementations. * @remarks this is a callback on purpose, we only load the wasm if needed. - * @remarks only used by LibraryEngine.ts + * @remarks only used by LibraryEngine */ getQueryEngineWasmModule: () => Promise } +export type CompilerWasmLoadingConfig = { + /** + * WASM-bindgen runtime for corresponding module + */ + getRuntime: () => { + __wbg_set_wasm(exports: unknown) + QueryCompiler: QueryCompilerConstructor + } + /** + * Loads the raw wasm module for the wasm compiler engine. This configuration is + * generated specifically for each type of client, eg. Node.js client and Edge + * clients will have different implementations. + * @remarks this is a callback on purpose, we only load the wasm if needed. + * @remarks only used by ClientEngine + */ + getQueryCompilerWasmModule: () => Promise +} + export type GetConfigResult = { datasources: DataSource[] generators: GeneratorConfig[] diff --git a/packages/client/src/runtime/core/engines/common/types/JsonProtocol.ts b/packages/client/src/runtime/core/engines/common/types/JsonProtocol.ts index 83dba5c1c67b..e3c0dfdcca19 100644 --- a/packages/client/src/runtime/core/engines/common/types/JsonProtocol.ts +++ b/packages/client/src/runtime/core/engines/common/types/JsonProtocol.ts @@ -22,6 +22,7 @@ export type JsonQueryAction = | 'createManyAndReturn' | 'updateOne' | 'updateMany' + | 'updateManyAndReturn' | 'deleteOne' | 'deleteMany' | 'upsertOne' diff --git a/packages/client/src/runtime/core/engines/common/types/QueryEngine.ts b/packages/client/src/runtime/core/engines/common/types/QueryEngine.ts index 442e46d1733e..7a7416c6024a 100644 --- a/packages/client/src/runtime/core/engines/common/types/QueryEngine.ts +++ b/packages/client/src/runtime/core/engines/common/types/QueryEngine.ts @@ -1,5 +1,5 @@ import type { DataSource, GeneratorConfig } from '@prisma/generator-helper' -import { EngineSpanEvent } from '@prisma/internals' +import { EngineSpan, EngineTraceEvent } from '@prisma/internals' import { EngineProtocol } from '../Engine' import { JsonBatchQuery } from './JsonProtocol' @@ -7,7 +7,7 @@ import { RequestError } from './RequestError' import * as Transaction from './Transaction' // Events -export type QueryEngineEvent = QueryEngineLogEvent | QueryEngineQueryEvent | QueryEnginePanicEvent | EngineSpanEvent +export type QueryEngineEvent = QueryEngineLogEvent | QueryEngineQueryEvent | QueryEnginePanicEvent export type QueryEngineLogEvent = { level: string @@ -48,8 +48,8 @@ export type QueryEngineConfig = { datasourceOverrides: Record env: Record logLevel: QueryEngineLogLevel - telemetry?: QueryEngineTelemetry engineProtocol: EngineProtocol + enableTracing: boolean } export type QueryEngineTelemetry = { @@ -62,20 +62,33 @@ export type QueryEngineRequest = { variables: Object } -export type QueryEngineResult = { - data: T - elapsed: number +export type WithResultExtensions = T & { + extensions?: QueryEngineResultExtensions } -export type QueryEngineResultBatchQueryResult = - | { - data: T - elapsed: number - } +type WithErrors = + | T | { errors: RequestError[] } +type WithErrorsAndResultExtensions = WithResultExtensions> + +export type QueryEngineResultData = { + data: T +} + +export type QueryEngineResult = WithErrorsAndResultExtensions> + +export type QueryEngineBatchResult = WithErrorsAndResultExtensions<{ + batchResult: QueryEngineResult[] +}> + +export type QueryEngineResultExtensions = { + logs?: EngineTraceEvent[] + traces?: EngineSpan[] +} + export type QueryEngineBatchRequest = QueryEngineBatchGraphQLRequest | JsonBatchQuery export type QueryEngineBatchGraphQLRequest = { diff --git a/packages/client/src/runtime/core/engines/data-proxy/DataProxyEngine.ts b/packages/client/src/runtime/core/engines/data-proxy/DataProxyEngine.ts index b94482d0ac97..9125578baf0c 100644 --- a/packages/client/src/runtime/core/engines/data-proxy/DataProxyEngine.ts +++ b/packages/client/src/runtime/core/engines/data-proxy/DataProxyEngine.ts @@ -1,11 +1,13 @@ import Debug from '@prisma/debug' -import { EngineSpan, TracingHelper } from '@prisma/internals' +import { PRISMA_POSTGRES_PROTOCOL, TracingHelper } from '@prisma/internals' +import { PrismaClientKnownRequestError } from '../../errors/PrismaClientKnownRequestError' import { PrismaClientUnknownRequestError } from '../../errors/PrismaClientUnknownRequestError' import { prismaGraphQLToJSError } from '../../errors/utils/prismaGraphQLToJSError' import { resolveDatasourceUrl } from '../../init/resolveDatasourceUrl' import type { BatchQueryEngineResult, + CustomDataProxyFetch, EngineConfig, InteractiveTransactionOptions, RequestBatchOptions, @@ -15,10 +17,15 @@ import { Engine } from '../common/Engine' import type { LogEmitter } from '../common/types/Events' import { JsonQuery } from '../common/types/JsonProtocol' import { Metrics, MetricsOptionsJson, MetricsOptionsPrometheus } from '../common/types/Metrics' -import { QueryEngineResult, QueryEngineResultBatchQueryResult } from '../common/types/QueryEngine' +import { + QueryEngineBatchResult, + QueryEngineResult, + QueryEngineResultData, + QueryEngineResultExtensions, +} from '../common/types/QueryEngine' +import { RequestError } from '../common/types/RequestError' import type * as Tx from '../common/types/Transaction' import { getBatchRequestPayload } from '../common/utils/getBatchRequestPayload' -import { LogLevel } from '../common/utils/log' import { DataProxyError } from './errors/DataProxyError' import { ForcedRetryError } from './errors/ForcedRetryError' import { InvalidDatasourceError } from './errors/InvalidDatasourceError' @@ -28,9 +35,9 @@ import { responseToError } from './errors/utils/responseToError' import { backOff } from './utils/backOff' import { toBase64 } from './utils/base64' import { checkForbiddenMetrics } from './utils/checkForbiddenMetrics' -import { dateFromEngineTimestamp, EngineTimestamp } from './utils/EngineTimestamp' +import { dateFromEngineTimestamp } from './utils/EngineTimestamp' import { getClientVersion } from './utils/getClientVersion' -import { Fetch, request } from './utils/request' +import { request } from './utils/request' const MAX_RETRIES = 3 @@ -44,24 +51,11 @@ type DataProxyTxInfo = Tx.InteractiveTransactionInfo type RequestInternalOptions = { body: Record - customDataProxyFetch?: (fetch: Fetch) => Fetch + customDataProxyFetch?: CustomDataProxyFetch traceparent?: string interactiveTransaction?: InteractiveTransactionOptions } -type DataProxyLog = { - span_id: string - name: string - level: LogLevel - timestamp: EngineTimestamp - attributes: Record & { duration_ms: number; params: string; target: string } -} - -type DataProxyExtensions = { - logs?: DataProxyLog[] - traces?: EngineSpan[] -} - type DataProxyHeaders = { Authorization: string 'X-capture-telemetry'?: string @@ -74,6 +68,18 @@ type HeaderBuilderOptions = { interactiveTransaction?: InteractiveTransactionOptions } +type StartTransactionResult = { + id: string + 'data-proxy': { + endpoint: string + } + extensions?: QueryEngineResultExtensions +} + +type CloseTransactionResult = { + extensions?: QueryEngineResultExtensions +} + class DataProxyHeaderBuilder { readonly apiKey: string readonly tracingHelper: TracingHelper @@ -218,44 +224,47 @@ export class DataProxyEngine implements Engine { async stop() {} - private propagateResponseExtensions(extensions: DataProxyExtensions): void { + private propagateResponseExtensions(extensions: QueryEngineResultExtensions): void { if (extensions?.logs?.length) { extensions.logs.forEach((log) => { switch (log.level) { case 'debug': - case 'error': case 'trace': - case 'warn': - case 'info': - // TODO these are propagated into the response.errors key + debug(log) break - case 'query': { - let dbQuery = typeof log.attributes.query === 'string' ? log.attributes.query : '' - if (!this.tracingHelper.isEnabled()) { - // The engine uses tracing to consolidate logs - // - and so we should strip the generated traceparent - // - if tracing is disabled. - // Example query: 'SELECT /* traceparent=00-123-0-01 */' - const [query] = dbQuery.split('/* traceparent') - dbQuery = query - } + case 'error': + case 'warn': + case 'info': { + this.logEmitter.emit(log.level, { + timestamp: dateFromEngineTimestamp(log.timestamp), + message: log.attributes.message ?? '', + target: log.target, + }) + break + } + case 'query': { this.logEmitter.emit('query', { - query: dbQuery, + query: log.attributes.query ?? '', // first part is in seconds, second is in nanoseconds, we need to convert both to milliseconds timestamp: dateFromEngineTimestamp(log.timestamp), - duration: Number(log.attributes.duration_ms), - params: log.attributes.params, - target: log.attributes.target, + duration: log.attributes.duration_ms ?? 0, + params: log.attributes.params ?? '', + target: log.target, }) + + break } + + default: + log.level satisfies never } }) } if (extensions?.traces?.length) { - this.tracingHelper.createEngineSpan({ span: true, spans: extensions.traces }) + this.tracingHelper.dispatchEngineSpans(extensions.traces) } } @@ -310,7 +319,6 @@ export class DataProxyEngine implements Engine { query: JsonQuery, { traceparent, interactiveTransaction, customDataProxyFetch }: RequestOptions, ) { - // TODO: `elapsed`? return this.requestInternal({ body: query, traceparent, @@ -327,7 +335,7 @@ export class DataProxyEngine implements Engine { const body = getBatchRequestPayload(queries, transaction) - const { batchResult, elapsed } = await this.requestInternal({ + const batchResult = await this.requestInternal({ body, customDataProxyFetch, interactiveTransaction, @@ -335,13 +343,15 @@ export class DataProxyEngine implements Engine { }) return batchResult.map((result) => { - if ('errors' in result && result.errors.length > 0) { - return prismaGraphQLToJSError(result.errors[0], this.clientVersion!, this.config.activeProvider!) + if (result.extensions) { + this.propagateResponseExtensions(result.extensions) } - return { - data: result as T, - elapsed, + + if ('errors' in result) { + return this.convertProtocolErrorsToClientError(result.errors) } + + return result }) } @@ -350,9 +360,7 @@ export class DataProxyEngine implements Engine { traceparent, customDataProxyFetch, interactiveTransaction, - }: RequestInternalOptions): Promise< - Batch extends true ? { batchResult: QueryEngineResultBatchQueryResult[]; elapsed: number } : QueryEngineResult - > { + }: RequestInternalOptions): Promise[] : QueryEngineResultData> { return this.withRetry({ actionGerund: 'querying', callback: async ({ logHttpCall }) => { @@ -379,24 +387,33 @@ export class DataProxyEngine implements Engine { await this.handleError(await responseToError(response, this.clientVersion)) - const json = await response.json() + const result = (await response.json()) as Batch extends true ? QueryEngineBatchResult : QueryEngineResult - const extensions = json.extensions as DataProxyExtensions | undefined - if (extensions) { - this.propagateResponseExtensions(extensions) + if (result.extensions) { + this.propagateResponseExtensions(result.extensions) } - // TODO: headers contain `x-elapsed` and it needs to be returned + if ('errors' in result) { + throw this.convertProtocolErrorsToClientError(result.errors) + } - if (json.errors) { - if (json.errors.length === 1) { - throw prismaGraphQLToJSError(json.errors[0], this.config.clientVersion!, this.config.activeProvider!) - } else { - throw new PrismaClientUnknownRequestError(json.errors, { clientVersion: this.config.clientVersion! }) - } + if ('batchResult' in result) { + // TODO: TypeScript 5.8+ should be able to narrow the expected result type correctly, + // so this will be assignable (https://github.com/microsoft/TypeScript/pull/56941). + // Since these are internal types, we should be able to rely on it once TypeScript 5.8 + // is released, and change this to just `return result.batchResult`. + return result.batchResult as QueryEngineResult[] as Batch extends true + ? QueryEngineResult[] + : QueryEngineResultData } - return json + // TODO: TypeScript 5.8+ should be able to narrow the expected result type correctly, + // so this will be assignable (https://github.com/microsoft/TypeScript/pull/56941). + // Since these are internal types, we should be able to rely on it once TypeScript 5.8 + // is released, and change this to just `return result`. + return result as QueryEngineResultData as Batch extends true + ? QueryEngineResult[] + : QueryEngineResultData }, }) } @@ -441,15 +458,15 @@ export class DataProxyEngine implements Engine { await this.handleError(await responseToError(response, this.clientVersion)) - const json = await response.json() + const result = (await response.json()) as StartTransactionResult - const extensions = json.extensions as DataProxyExtensions | undefined + const { extensions } = result if (extensions) { this.propagateResponseExtensions(extensions) } - const id = json.id as string - const endpoint = json['data-proxy'].endpoint as string + const id = result.id as string + const endpoint = result['data-proxy'].endpoint as string return { id, payload: { endpoint } } } else { @@ -465,9 +482,9 @@ export class DataProxyEngine implements Engine { await this.handleError(await responseToError(response, this.clientVersion)) - const json = await response.json() + const result = (await response.json()) as CloseTransactionResult - const extensions = json.extensions as DataProxyExtensions | undefined + const { extensions } = result if (extensions) { this.propagateResponseExtensions(extensions) } @@ -500,7 +517,7 @@ export class DataProxyEngine implements Engine { const { protocol, host, searchParams } = url - if (protocol !== 'prisma:') { + if (protocol !== 'prisma:' && protocol !== PRISMA_POSTGRES_PROTOCOL) { throw new InvalidDatasourceError( `Error validating datasource \`${dsName}\`: the URL must start with the protocol \`prisma://\``, errorInfo, @@ -581,6 +598,19 @@ export class DataProxyEngine implements Engine { } } + private convertProtocolErrorsToClientError( + errors: RequestError[], + ): PrismaClientKnownRequestError | PrismaClientUnknownRequestError { + // TODO: handle Rust panics and driver adapter errors correctly. See `LibraryEngine#buildQueryError`. + if (errors.length === 1) { + return prismaGraphQLToJSError(errors[0], this.config.clientVersion, this.config.activeProvider!) + } else { + return new PrismaClientUnknownRequestError(JSON.stringify(errors), { + clientVersion: this.config.clientVersion, + }) + } + } + applyPendingMigrations(): Promise { throw new Error('Method not implemented.') } diff --git a/packages/client/src/runtime/core/engines/data-proxy/errors/DataProxyAPIError.ts b/packages/client/src/runtime/core/engines/data-proxy/errors/DataProxyAPIError.ts index 1f7d2ab7f0ec..be7d3e78aec3 100644 --- a/packages/client/src/runtime/core/engines/data-proxy/errors/DataProxyAPIError.ts +++ b/packages/client/src/runtime/core/engines/data-proxy/errors/DataProxyAPIError.ts @@ -1,13 +1,12 @@ -import type { RequestResponse } from '../utils/request' import type { DataProxyErrorInfo } from './DataProxyError' import { DataProxyError } from './DataProxyError' export interface DataProxyAPIErrorInfo extends DataProxyErrorInfo { - response: RequestResponse + response: Response } export abstract class DataProxyAPIError extends DataProxyError { - response: RequestResponse + response: Response constructor(message: string, info: DataProxyAPIErrorInfo) { super(message, info) diff --git a/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.test.ts b/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.test.ts index 058df1be63ce..6184c91eff33 100644 --- a/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.test.ts +++ b/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.test.ts @@ -1,16 +1,15 @@ -import { NodeHeaders, type RequestResponse } from '../../utils/request' import { responseToError } from './responseToError' -const response = (body: string, code?: number, requestId?: string): RequestResponse => ({ - json: () => Promise.resolve(body), - text: () => Promise.resolve(body), - url: '', - ok: false, - status: code || 400, - headers: new NodeHeaders({ - 'prisma-request-id': requestId, - }), -}) +const response = (body: string, code?: number, requestId?: string) => + new Response(body, { + status: code || 400, + headers: + requestId !== undefined + ? { + 'prisma-request-id': requestId, + } + : {}, + }) describe('responseToError', () => { test('serialization of 500 with default message', async () => { diff --git a/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.ts b/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.ts index 94e434f6b1c7..a53ce4b0ca2d 100644 --- a/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.ts +++ b/packages/client/src/runtime/core/engines/data-proxy/errors/utils/responseToError.ts @@ -1,6 +1,5 @@ import { PrismaClientInitializationError } from '../../../../errors/PrismaClientInitializationError' import { PrismaClientKnownRequestError } from '../../../../errors/PrismaClientKnownRequestError' -import type { RequestResponse } from '../../utils/request' import { BAD_REQUEST_DEFAULT_MESSAGE, BadRequestError } from '../BadRequestError' import type { DataProxyError } from '../DataProxyError' import { HealthcheckTimeoutError } from '../EngineHealthcheckTimeoutError' @@ -43,7 +42,7 @@ type ResponseErrorBody = | { type: 'UnknownTextError'; body: string } | { type: 'EmptyError' } -async function getResponseErrorBody(response: RequestResponse): Promise { +async function getResponseErrorBody(response: Response): Promise { let text: string try { @@ -84,10 +83,7 @@ async function getResponseErrorBody(response: RequestResponse): Promise { +export async function responseToError(response: Response, clientVersion: string): Promise { if (response.ok) return undefined const info = { clientVersion, response } diff --git a/packages/client/src/runtime/core/engines/data-proxy/utils/request.ts b/packages/client/src/runtime/core/engines/data-proxy/utils/request.ts index 196241a9d5e2..3b5a74ee2cd2 100644 --- a/packages/client/src/runtime/core/engines/data-proxy/utils/request.ts +++ b/packages/client/src/runtime/core/engines/data-proxy/utils/request.ts @@ -1,182 +1,22 @@ -import type { IncomingMessage } from 'http' -import type Https from 'https' - +import { CustomDataProxyFetch } from '../../common/Engine' import { RequestError } from '../errors/NetworkError' -// our implementation handles less -export type RequestOptions = { - method?: string - headers?: Record - body?: string -} - -export type RequestResponse = { - ok: boolean - url: string - statusText?: string - status: number - headers: NodeHeaders - text: () => Promise - json: () => Promise -} - -export type Fetch = typeof nodeFetch - -// fetch is global on edge runtime -declare let fetch: Fetch - /** - * Isomorphic `fetch` that imitates `fetch` via `https` when on Node.js. - * @param url - * @param options - * @returns + * `fetch` wrapper that applies the `customDataProxyFetch` override and handles + * errors to attach error code. */ export async function request( url: string, - options: RequestOptions & { clientVersion: string }, - customFetch: (fetch: Fetch) => Fetch = (fetch) => fetch, -): Promise { - const clientVersion = options.clientVersion + options: RequestInit & { clientVersion: string }, + customFetch: CustomDataProxyFetch = (fetch) => fetch, +): Promise { + const { clientVersion, ...fetchOptions } = options + const decoratedFetch = customFetch(fetch) as typeof fetch try { - if (typeof fetch === 'function') { - return await customFetch(fetch)(url, options) - } else { - return await customFetch(nodeFetch)(url, options) - } - } catch (e) { - const message = e.message ?? 'Unknown error' - throw new RequestError(message, { clientVersion }) - } -} - -/** - * Build http headers from fetch-like headers - * @param options - * @returns - */ -function buildHeaders(options: RequestOptions): RequestOptions['headers'] { - return { - ...options.headers, - 'Content-Type': 'application/json', - } -} - -/** - * Build http options from fetch-like options - * @param options - * @returns - */ -function buildOptions(options: RequestOptions): Https.RequestOptions { - return { - method: options.method, - headers: buildHeaders(options), - } -} - -/** - * Build a fetch-like response from an http response - * @param incomingData - * @param response - * @returns - */ -function buildResponse(incomingData: Buffer[], response: IncomingMessage): RequestResponse { - return { - text: () => Promise.resolve(Buffer.concat(incomingData).toString()), - // trying to emulate what real fetch would do: - // 1. Ensure that parsing starts in next microtask - // 2. Ensure that if parsing fails, we get a rejected promise, not sync exception - json: () => Promise.resolve().then(() => JSON.parse(Buffer.concat(incomingData).toString())), - ok: response.statusCode! >= 200 && response.statusCode! <= 299, - status: response.statusCode!, - url: response.url!, - headers: new NodeHeaders(response.headers), - } -} - -/** - * Imitates `fetch` via `https` to only suit our needs, it does nothing more. - * This is because we cannot bundle `node-fetch` as it uses many other Node.js - * utilities, while also bloating our bundles. This approach is much leaner. - * @param url - * @param options - * @returns - */ -async function nodeFetch(url: string, options: RequestOptions = {}): Promise { - const https: typeof Https = include('https') - const httpsOptions = buildOptions(options) - const incomingData = [] as Buffer[] - const { origin } = new URL(url) - - return new Promise((resolve, reject) => { - // we execute the https request and build a fetch response out of it - const request = https.request(url, httpsOptions, (response) => { - const { - statusCode, - headers: { location }, - } = response - - if (statusCode! >= 301 && statusCode! <= 399 && location) { - if (location.startsWith('http') === false) { - resolve(nodeFetch(`${origin}${location}`, options)) - } else { - resolve(nodeFetch(location, options)) - } - } - - response.on('data', (chunk: Buffer) => incomingData.push(chunk)) - response.on('end', () => { - return resolve(buildResponse(incomingData, response)) - }) - response.on('error', reject) - }) - - request.on('error', reject) // handle errors - request.end(options.body ?? '') // flush & send - }) -} - -// trick to obfuscate require from bundlers, useful for Vercel Edge -const include = typeof require !== 'undefined' ? require : () => {} - -export class NodeHeaders { - readonly headers = new Map() - - constructor(init: Record = {}) { - for (const [key, value] of Object.entries(init)) { - if (typeof value === 'string') { - this.headers.set(key, value) - } else if (Array.isArray(value)) { - for (const val of value) { - this.headers.set(key, val) - } - } - } - } - - append(name: string, value: string): void { - this.headers.set(name, value) - } - - delete(name: string): void { - this.headers.delete(name) - } - - get(name: string): string | null { - return this.headers.get(name) ?? null - } - - has(name: string): boolean { - return this.headers.has(name) - } - - set(name: string, value: string): void { - this.headers.set(name, value) - } - - forEach(callbackfn: (value: string, key: string, parent: this) => void, thisArg?: any): void { - for (const [key, value] of this.headers) { - callbackfn.call(thisArg, value, key, this) - } + return await decoratedFetch(url, fetchOptions) + } catch (error) { + const message = (error as Error).message ?? 'Unknown error' + throw new RequestError(message, { clientVersion, cause: error }) } } diff --git a/packages/client/src/runtime/core/engines/index.ts b/packages/client/src/runtime/core/engines/index.ts index 73a945eeb641..2e610dd2e508 100644 --- a/packages/client/src/runtime/core/engines/index.ts +++ b/packages/client/src/runtime/core/engines/index.ts @@ -1,6 +1,8 @@ export { BinaryEngine } from './binary/BinaryEngine' +export { ClientEngine } from './client/ClientEngine' export { type BatchTransactionOptions, + type CustomDataProxyFetch, type Engine, type EngineConfig, type GraphQLQuery, @@ -13,6 +15,5 @@ export * from './common/types/JsonProtocol' export type { Metric, MetricHistogram, MetricHistogramBucket, Metrics } from './common/types/Metrics' export type { IsolationLevel, Options, TransactionHeaders } from './common/types/Transaction' export { DataProxyEngine } from './data-proxy/DataProxyEngine' -export type { Fetch } from './data-proxy/utils/request' export { LibraryEngine } from './library/LibraryEngine' export * as NodeAPILibraryTypes from './library/types/Library' diff --git a/packages/client/src/runtime/core/engines/library/LibraryEngine.test.ts b/packages/client/src/runtime/core/engines/library/LibraryEngine.test.ts index baea624d68dc..cadee2b4883a 100644 --- a/packages/client/src/runtime/core/engines/library/LibraryEngine.test.ts +++ b/packages/client/src/runtime/core/engines/library/LibraryEngine.test.ts @@ -6,7 +6,7 @@ import { PrismaClientRustPanicError } from '../../errors/PrismaClientRustPanicEr import { PrismaClientUnknownRequestError } from '../../errors/PrismaClientUnknownRequestError' import { disabledTracingHelper } from '../../tracing/TracingHelper' import { LibraryEngine } from './LibraryEngine' -import { LibraryLoader } from './types/Library' +import { LibraryLoader, QueryEngineInstance } from './types/Library' const dummyQuery = { modelName: 'Foo', action: 'findMany', query: { selection: {} } } as const @@ -27,7 +27,9 @@ function setupMockLibraryEngine() { startTransaction: jest.fn().mockResolvedValue('{}'), commitTransaction: jest.fn().mockResolvedValue('{}'), rollbackTransaction: jest.fn().mockResolvedValue('{}'), - } + trace: jest.fn().mockResolvedValue('{}'), + metrics: jest.fn().mockResolvedValue('{}'), + } satisfies QueryEngineInstance const loader: LibraryLoader = { loadLibrary() { diff --git a/packages/client/src/runtime/core/engines/library/LibraryEngine.ts b/packages/client/src/runtime/core/engines/library/LibraryEngine.ts index 6eef4c884977..a3cc03615406 100644 --- a/packages/client/src/runtime/core/engines/library/LibraryEngine.ts +++ b/packages/client/src/runtime/core/engines/library/LibraryEngine.ts @@ -2,8 +2,8 @@ import Debug from '@prisma/debug' import { ErrorRecord } from '@prisma/driver-adapter-utils' import type { BinaryTarget } from '@prisma/get-platform' import { assertNodeAPISupported, binaryTargets, getBinaryTargetForCurrentPlatform } from '@prisma/get-platform' -import { assertAlways, EngineSpanEvent } from '@prisma/internals' -import { bold, green, red, yellow } from 'kleur/colors' +import { assertAlways, EngineTrace, TracingHelper } from '@prisma/internals' +import { bold, green, red } from 'kleur/colors' import { PrismaClientInitializationError } from '../../errors/PrismaClientInitializationError' import { PrismaClientKnownRequestError } from '../../errors/PrismaClientKnownRequestError' @@ -48,11 +48,21 @@ function isPanicEvent(event: QueryEngineEvent): event is QueryEnginePanicEvent { } const knownBinaryTargets: BinaryTarget[] = [...binaryTargets, 'native'] -let engineInstanceCount = 0 + +const MAX_REQUEST_ID = 0xffffffffffffffffn +let NEXT_REQUEST_ID = 1n + +function nextRequestId(): bigint { + const requestId = NEXT_REQUEST_ID++ + if (NEXT_REQUEST_ID > MAX_REQUEST_ID) { + NEXT_REQUEST_ID = 1n + } + return requestId +} export class LibraryEngine implements Engine { name = 'LibraryEngine' as const - engine?: QueryEngineInstance + engine?: ReturnType libraryInstantiationPromise?: Promise libraryStartingPromise?: Promise libraryStoppingPromise?: Promise @@ -71,6 +81,7 @@ export class LibraryEngine implements Engine { logLevel: QueryEngineLogLevel lastQuery?: string loggerRustPanic?: any + tracingHelper: TracingHelper versionInfo?: { commit: string @@ -99,6 +110,7 @@ export class LibraryEngine implements Engine { this.logLevel = config.logLevel ?? 'error' this.logEmitter = config.logEmitter this.datamodel = config.inlineSchema + this.tracingHelper = config.tracingHelper if (config.enableDebugLogs) { this.logLevel = 'debug' @@ -112,30 +124,46 @@ export class LibraryEngine implements Engine { } this.libraryInstantiationPromise = this.instantiateLibrary() - - this.checkForTooManyEngines() } - private checkForTooManyEngines() { - // We don't show this warning for Edge Functions, - // see https://github.com/prisma/team-orm/issues/1094. - if (this.config.adapter && ['wasm'].includes(TARGET_BUILD_TYPE)) { - return + private wrapEngine(engine: QueryEngineInstance) { + return { + applyPendingMigrations: engine.applyPendingMigrations?.bind(engine), + commitTransaction: this.withRequestId(engine.commitTransaction.bind(engine)), + connect: this.withRequestId(engine.connect.bind(engine)), + disconnect: this.withRequestId(engine.disconnect.bind(engine)), + metrics: engine.metrics?.bind(engine), + query: this.withRequestId(engine.query.bind(engine)), + rollbackTransaction: this.withRequestId(engine.rollbackTransaction.bind(engine)), + sdlSchema: engine.sdlSchema?.bind(engine), + startTransaction: this.withRequestId(engine.startTransaction.bind(engine)), + trace: engine.trace.bind(engine), } + } - if (engineInstanceCount === 10) { - console.warn( - `${yellow( - 'warn(prisma-client)', - )} This is the 10th instance of Prisma Client being started. Make sure this is intentional.`, - ) + private withRequestId( + fn: (...args: [...T, string]) => Promise, + ): (...args: T) => Promise { + return async (...args) => { + const requestId = nextRequestId().toString() + try { + return await fn(...args, requestId) + } finally { + if (this.tracingHelper.isEnabled()) { + const traceJson = await this.engine?.trace(requestId) + if (traceJson) { + const trace = JSON.parse(traceJson) as EngineTrace + this.tracingHelper.dispatchEngineSpans(trace.spans) + } + } + } } } async applyPendingMigrations(): Promise { if (TARGET_BUILD_TYPE === 'react-native') { await this.start() - await this.engine?.applyPendingMigrations() + await this.engine?.applyPendingMigrations!() } else { throw new Error('Cannot call this method from this type of engine instance') } @@ -188,6 +216,10 @@ export class LibraryEngine implements Engine { clientVersion: this.config.clientVersion as string, meta: response.meta, }) + } else if (typeof response.message === 'string') { + throw new PrismaClientUnknownRequestError(response.message, { + clientVersion: this.config.clientVersion!, + }) } return response as Tx.InteractiveTransactionInfo | undefined @@ -205,7 +237,7 @@ export class LibraryEngine implements Engine { this.binaryTarget = await this.getCurrentBinaryTarget() - await this.loadEngine() + await this.tracingHelper.runInChildSpan('load_engine', () => this.loadEngine()) this.version() } @@ -213,7 +245,9 @@ export class LibraryEngine implements Engine { private async getCurrentBinaryTarget() { if (TARGET_BUILD_TYPE === 'library') { if (this.binaryTarget) return this.binaryTarget - const binaryTarget = await getBinaryTargetForCurrentPlatform() + const binaryTarget = await this.tracingHelper.runInChildSpan('detect_platform', () => + getBinaryTargetForCurrentPlatform(), + ) if (!knownBinaryTargets.includes(binaryTarget)) { throw new PrismaClientInitializationError( `Unknown ${red('PRISMA_QUERY_ENGINE_LIBRARY')} ${red(bold(binaryTarget))}. Possible binaryTargets: ${green( @@ -236,9 +270,9 @@ You may have to run ${green('prisma generate')} for your changes to take effect. clientVersion: this.config.clientVersion!, }) } + try { - const config = JSON.parse(response) - return config as T + return JSON.parse(response) as T } catch (err) { throw new PrismaClientUnknownRequestError(`Unable to JSON.parse response from engine`, { clientVersion: this.config.clientVersion!, @@ -267,23 +301,25 @@ You may have to run ${green('prisma generate')} for your changes to take effect. debug('Using driver adapter: %O', adapter) } - this.engine = new this.QueryEngineConstructor( - { - datamodel: this.datamodel, - env: process.env, - logQueries: this.config.logQueries ?? false, - ignoreEnvVarErrors: true, - datasourceOverrides: this.datasourceOverrides ?? {}, - logLevel: this.logLevel, - configDir: this.config.cwd, - engineProtocol: 'json', - }, - (log) => { - weakThis.deref()?.logger(log) - }, - adapter, + this.engine = this.wrapEngine( + new this.QueryEngineConstructor( + { + datamodel: this.datamodel, + env: process.env, + logQueries: this.config.logQueries ?? false, + ignoreEnvVarErrors: true, + datasourceOverrides: this.datasourceOverrides ?? {}, + logLevel: this.logLevel, + configDir: this.config.cwd, + engineProtocol: 'json', + enableTracing: this.tracingHelper.isEnabled(), + }, + (log) => { + weakThis.deref()?.logger(log) + }, + adapter, + ), ) - engineInstanceCount++ } catch (_e) { const e = _e as Error const error = this.parseInitError(e.message) @@ -299,12 +335,6 @@ You may have to run ${green('prisma generate')} for your changes to take effect. const event = this.parseEngineResponse(log) if (!event) return - if ('span' in event) { - void this.config.tracingHelper.createEngineSpan(event as EngineSpanEvent) - - return - } - event.level = event?.level.toLowerCase() ?? 'unknown' if (isQueryEvent(event)) { this.logEmitter.emit('query', { @@ -376,7 +406,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. try { const headers = { - traceparent: this.config.tracingHelper.getTraceParent(), + traceparent: this.tracingHelper.getTraceParent(), } await this.engine?.connect(JSON.stringify(headers)) @@ -399,7 +429,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } } - this.libraryStartingPromise = this.config.tracingHelper.runInChildSpan('connect', startFn) + this.libraryStartingPromise = this.tracingHelper.runInChildSpan('connect', startFn) return this.libraryStartingPromise } @@ -423,7 +453,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. debug('library stopping') const headers = { - traceparent: this.config.tracingHelper.getTraceParent(), + traceparent: this.tracingHelper.getTraceParent(), } await this.engine?.disconnect(JSON.stringify(headers)) @@ -434,7 +464,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. debug('library stopped') } - this.libraryStoppingPromise = this.config.tracingHelper.runInChildSpan('disconnect', stopFn) + this.libraryStoppingPromise = this.tracingHelper.runInChildSpan('disconnect', stopFn) return this.libraryStoppingPromise } @@ -453,7 +483,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. async request( query: JsonQuery, { traceparent, interactiveTransaction }: RequestOptions, - ): Promise<{ data: T; elapsed: number }> { + ): Promise<{ data: T }> { debug(`sending request, this.libraryStarted: ${this.libraryStarted}`) const headerStr = JSON.stringify({ traceparent }) // object equivalent to http headers for the library const queryStr = JSON.stringify(query) @@ -477,8 +507,7 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } else if (this.loggerRustPanic) { throw this.loggerRustPanic } - // TODO Implement Elapsed: https://github.com/prisma/prisma/issues/7726 - return { data, elapsed: 0 } + return { data } } catch (e: any) { if (e instanceof PrismaClientInitializationError) { throw e @@ -534,7 +563,6 @@ You may have to run ${green('prisma generate')} for your changes to take effect. } return { data: result, - elapsed: 0, // TODO Implement Elapsed: https://github.com/prisma/prisma/issues/7726 } }) } else { @@ -575,7 +603,9 @@ You may have to run ${green('prisma generate')} for your changes to take effect. async metrics(options: MetricsOptionsPrometheus): Promise async metrics(options: EngineMetricsOptions): Promise { await this.start() - const responseString = await this.engine!.metrics(JSON.stringify(options)) + // TODO: add `metrics` method stub in c-abi engine and make it non-optional. + // The stub should return an error like in WASM so we handle this gracefully. + const responseString = await this.engine!.metrics!(JSON.stringify(options)) if (options.format === 'prometheus') { return responseString } diff --git a/packages/client/src/runtime/core/engines/library/ReactNativeLibraryLoader.ts b/packages/client/src/runtime/core/engines/library/ReactNativeLibraryLoader.ts index f5e5bac2276f..e527c0d90a0b 100644 --- a/packages/client/src/runtime/core/engines/library/ReactNativeLibraryLoader.ts +++ b/packages/client/src/runtime/core/engines/library/ReactNativeLibraryLoader.ts @@ -12,18 +12,26 @@ type PrismaCreateOptions = { ignoreEnvVarErrors: boolean datasourceOverrides: object | string env: object | string + enableTracing: boolean } type QueryEngineObject = object declare const __PrismaProxy: { create: (options: PrismaCreateOptions) => QueryEngineObject - connect: (engine: QueryEngineObject, trace: string) => void - execute: (engine: QueryEngineObject, body: string, headers: string, txId?: string) => Promise - startTransaction: (engine: QueryEngineObject, body: string, headers: string) => string - commitTransaction: (engine: QueryEngineObject, txId: string, headers: string) => string - rollbackTransaction: (engine: QueryEngineObject, txId: string, headers: string) => string - disconnect: (engine: QueryEngineObject, headers: string) => void + connect: (engine: QueryEngineObject, trace: string, requestId: string) => void + execute: ( + engine: QueryEngineObject, + body: string, + headers: string, + txId: string | undefined, + requestId: string, + ) => Promise + startTransaction: (engine: QueryEngineObject, body: string, headers: string, requestId: string) => string + commitTransaction: (engine: QueryEngineObject, txId: string, headers: string, requestId: string) => string + rollbackTransaction: (engine: QueryEngineObject, txId: string, headers: string, requestId: string) => string + disconnect: (engine: QueryEngineObject, headers: string, requestId: string) => void + trace: (engine: QueryEngineObject, requestId: string) => Promise pushSchema: (engine: QueryEngineObject, schema: string) => void applyPendingMigrations: (engine: QueryEngineObject) => void } @@ -39,19 +47,24 @@ class ReactNativeQueryEngine implements QueryEngineInstance { logLevel: config.logLevel, logQueries: config.logQueries ?? false, logCallback: logger, + enableTracing: config.enableTracing, }) } - async connect(headers: string): Promise { - return __PrismaProxy.connect(this.engineObject, headers) + async connect(headers: string, requestId: string): Promise { + return __PrismaProxy.connect(this.engineObject, headers, requestId) } - async disconnect(headers: string): Promise { - return __PrismaProxy.disconnect(this.engineObject, headers) + async disconnect(headers: string, requestId: string): Promise { + return __PrismaProxy.disconnect(this.engineObject, headers, requestId) } - query(requestStr: string, headersStr: string, transactionId?: string): Promise { - return __PrismaProxy.execute(this.engineObject, requestStr, headersStr, transactionId) + query(requestStr: string, headersStr: string, transactionId: string | undefined, requestId: string): Promise { + return __PrismaProxy.execute(this.engineObject, requestStr, headersStr, transactionId, requestId) + } + + compile(): Promise { + throw new Error('not implemented') } sdlSchema(): Promise { @@ -62,16 +75,16 @@ class ReactNativeQueryEngine implements QueryEngineInstance { return Promise.resolve('{}') } - async startTransaction(options: string, traceHeaders: string): Promise { - return __PrismaProxy.startTransaction(this.engineObject, options, traceHeaders) + async startTransaction(options: string, traceHeaders: string, requestId: string): Promise { + return __PrismaProxy.startTransaction(this.engineObject, options, traceHeaders, requestId) } - async commitTransaction(id: string, traceHeaders: string): Promise { - return __PrismaProxy.commitTransaction(this.engineObject, id, traceHeaders) + async commitTransaction(id: string, traceHeaders: string, requestId: string): Promise { + return __PrismaProxy.commitTransaction(this.engineObject, id, traceHeaders, requestId) } - async rollbackTransaction(id: string, traceHeaders: string): Promise { - return __PrismaProxy.rollbackTransaction(this.engineObject, id, traceHeaders) + async rollbackTransaction(id: string, traceHeaders: string, requestId: string): Promise { + return __PrismaProxy.rollbackTransaction(this.engineObject, id, traceHeaders, requestId) } metrics(_options: string): Promise { @@ -81,13 +94,16 @@ class ReactNativeQueryEngine implements QueryEngineInstance { async applyPendingMigrations(): Promise { return __PrismaProxy.applyPendingMigrations(this.engineObject) } + + trace(requestId: string): Promise { + return __PrismaProxy.trace(this.engineObject, requestId) + } } // unlike other implementations, on react-native the library needs to be loaded // before the engine can be created, so this loader just checks the bindings are there // and returns a dummy constructor that just wraps the methods so that the libraryEngine remains agnosti export const reactNativeLibraryLoader: LibraryLoader = { - // eslint-disable-next-line @typescript-eslint/require-await async loadLibrary(config) { if (!__PrismaProxy) { throw new PrismaClientInitializationError( diff --git a/packages/client/src/runtime/core/engines/library/types/Library.ts b/packages/client/src/runtime/core/engines/library/types/Library.ts index 43c047651e6c..f0f5784a4384 100644 --- a/packages/client/src/runtime/core/engines/library/types/Library.ts +++ b/packages/client/src/runtime/core/engines/library/types/Library.ts @@ -4,20 +4,20 @@ import { EngineConfig } from '../../common/Engine' import type { QueryEngineConfig } from '../../common/types/QueryEngine' export type QueryEngineInstance = { - connect(headers: string): Promise - disconnect(headers: string): Promise + connect(headers: string, requestId: string): Promise + disconnect(headers: string, requestId: string): Promise /** * @param requestStr JSON.stringified `QueryEngineRequest | QueryEngineBatchRequest` * @param headersStr JSON.stringified `QueryEngineRequestHeaders` */ - query(requestStr: string, headersStr: string, transactionId?: string): Promise - sdlSchema(): Promise - dmmf(traceparent: string): Promise - startTransaction(options: string, traceHeaders: string): Promise - commitTransaction(id: string, traceHeaders: string): Promise - rollbackTransaction(id: string, traceHeaders: string): Promise - metrics(options: string): Promise - applyPendingMigrations(): Promise + query(requestStr: string, headersStr: string, transactionId: string | undefined, requestId: string): Promise + sdlSchema?(): Promise // TODO: remove it from the library engine entirely + startTransaction(options: string, traceHeaders: string, requestId: string): Promise + commitTransaction(id: string, traceHeaders: string, requestId: string): Promise + rollbackTransaction(id: string, traceHeaders: string, requestId: string): Promise + metrics?(options: string): Promise + applyPendingMigrations?(): Promise + trace(requestId: string): Promise } export interface QueryEngineConstructor { diff --git a/packages/client/src/runtime/core/errorRendering/ArgumentsRenderingTree.ts b/packages/client/src/runtime/core/errorRendering/ArgumentsRenderingTree.ts index 871ce483beab..f848fccd43ea 100644 --- a/packages/client/src/runtime/core/errorRendering/ArgumentsRenderingTree.ts +++ b/packages/client/src/runtime/core/errorRendering/ArgumentsRenderingTree.ts @@ -1,10 +1,12 @@ +import { Writer } from '../../../generation/ts-builders/Writer' import { lowerCase } from '../../../generation/utils/common' +import { ErrorFormat } from '../../getPrismaClient' import { isValidDate } from '../../utils/date' import { isDecimalJsLike } from '../../utils/decimalJsLike' import { isFieldRef } from '../model/FieldRef' import { ObjectEnumValue } from '../types/exported/ObjectEnums' import { ArrayValue } from './ArrayValue' -import { Colors, ErrorBasicBuilder, ErrorWriter } from './base' +import { activeColors, Colors, ErrorBasicBuilder, ErrorWriter, inactiveColors } from './base' import { ObjectField } from './ObjectField' import { ObjectValue } from './ObjectValue' import { ScalarValue } from './ScalarValue' @@ -118,3 +120,12 @@ function buildInputArray(array: unknown[]) { } return result } + +export function renderArgsTree(argsTree: ArgumentsRenderingTree, errorFormat: ErrorFormat) { + const colors = errorFormat === 'pretty' ? activeColors : inactiveColors + + const message = argsTree.renderAllMessages(colors) + const args = new Writer(0, { colors }).write(argsTree).toString() + + return { message, args } +} diff --git a/packages/client/src/runtime/core/errorRendering/ObjectField.ts b/packages/client/src/runtime/core/errorRendering/ObjectField.ts index 5577511e66e7..8ff074ca95ee 100644 --- a/packages/client/src/runtime/core/errorRendering/ObjectField.ts +++ b/packages/client/src/runtime/core/errorRendering/ObjectField.ts @@ -6,7 +6,7 @@ import { Value } from './Value' const separator = ': ' export class ObjectField implements ErrorBasicBuilder, Field { hasError = false - constructor(readonly name: string, readonly value: Value) {} + constructor(readonly name: string, public value: Value) {} markAsError() { this.hasError = true diff --git a/packages/client/src/runtime/core/errorRendering/applyUnionError.ts b/packages/client/src/runtime/core/errorRendering/applyUnionError.ts index 2439d606f032..214e53ddf7d3 100644 --- a/packages/client/src/runtime/core/errorRendering/applyUnionError.ts +++ b/packages/client/src/runtime/core/errorRendering/applyUnionError.ts @@ -1,6 +1,7 @@ import { maxWithComparator } from '@prisma/internals' import { EngineValidationError, InvalidArgumentTypeError, UnionError } from '../engines' +import { GlobalOmitOptions } from '../jsonProtocol/serializeJsonQuery' import { applyValidationError } from './applyValidationError' import { ArgumentsRenderingTree } from './ArgumentsRenderingTree' @@ -20,12 +21,12 @@ type NonUnionError = Exclude * @param error * @param args */ -export function applyUnionError(error: UnionError, args: ArgumentsRenderingTree) { +export function applyUnionError(error: UnionError, args: ArgumentsRenderingTree, globalOmit?: GlobalOmitOptions) { const allErrors = flattenUnionError(error) const merged = mergeInvalidArgumentTypeErrors(allErrors) const bestError = getBestScoringError(merged) if (bestError) { - applyValidationError(bestError, args) + applyValidationError(bestError, args, globalOmit) } else { args.addErrorMessage(() => 'Unknown error') } diff --git a/packages/client/src/runtime/core/errorRendering/applyValidationError.test.ts b/packages/client/src/runtime/core/errorRendering/applyValidationError.test.ts index 53dc13651285..5194b04bdb10 100644 --- a/packages/client/src/runtime/core/errorRendering/applyValidationError.test.ts +++ b/packages/client/src/runtime/core/errorRendering/applyValidationError.test.ts @@ -2,6 +2,7 @@ import ansiEscapesSerializer from 'jest-serializer-ansi-escapes' import { $ as colors } from 'kleur/colors' import { Writer } from '../../../generation/ts-builders/Writer' +import { GlobalOmitOptions } from '../jsonProtocol/serializeJsonQuery' import { JsArgs } from '../types/exported/JsApi' import { ValidationError } from '../types/ValidationError' import { applyValidationError } from './applyValidationError' @@ -10,9 +11,9 @@ import { activeColors, inactiveColors } from './base' expect.addSnapshotSerializer(ansiEscapesSerializer) -const renderError = (error: ValidationError, args: JsArgs) => { +const renderError = (error: ValidationError, args: JsArgs, globalOmit: GlobalOmitOptions = {}) => { const argsTree = buildArgumentsRenderingTree(args) - applyValidationError(error, argsTree) + applyValidationError(error, argsTree, globalOmit) return ` Colorless: @@ -550,6 +551,52 @@ describe('EmptySelection', () => { `) }) + test('top level (global omit)', () => { + expect( + renderError( + { + kind: 'EmptySelection', + selectionPath: [], + outputType: PostOutputDescription, + }, + { where: { published: true } }, + { post: { id: true, title: true } }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + where: { + published: true + }, + + omit: { + + id: false, + + title: false + + } + } + + The global omit configuration excludes every field of the model Post. At least one field must be included in the result + + ------------------------------------ + + Colored: + + { + where: { + published: true + }, + + omit: { + + id: false, + + title: false + + } + } + + The global omit configuration excludes every field of the model Post. At least one field must be included in the result + " + `) + }) + test('top level with falsy values', () => { expect( renderError( @@ -710,6 +757,62 @@ describe('EmptySelection', () => { " `) }) + + test('nested (globalOmit)', () => { + expect( + renderError( + { + kind: 'EmptySelection', + selectionPath: ['users', 'posts'], + outputType: PostOutputDescription, + }, + { select: { users: { include: { posts: true } } } }, + { post: { id: true, title: true, comments: true } }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + select: { + users: { + include: { + posts: { + + omit: { + + id: false, + + title: false + + } + } + } + } + } + } + + The global omit configuration excludes every field of the model Post. At least one field must be included in the result + + ------------------------------------ + + Colored: + + { + select: { + users: { + include: { + posts: { + + omit: { + + id: false, + + title: false + + } + } + } + } + } + } + + The global omit configuration excludes every field of the model Post. At least one field must be included in the result + " + `) + }) }) describe('UnknownSelectionField', () => { @@ -1020,6 +1123,308 @@ describe('UnknownSelectionField', () => { }) }) +describe('InvalidSelectionValue', () => { + test('top level select', () => { + expect( + renderError( + { + kind: 'InvalidSelectionValue', + selectionPath: ['name'], + underlyingError: 'Not allowed', + }, + { + select: { + // @ts-expect-error + name: undefined, + }, + }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + select: { + name: undefined + ~~~~~~~~~ + } + } + + Invalid value for selection field \`name\`: Not allowed + + ------------------------------------ + + Colored: + + { + select: { + name: undefined + ~~~~~~~~~ + } + } + + Invalid value for selection field \`name\`: Not allowed + " + `) + }) + + test('top level include', () => { + expect( + renderError( + { + kind: 'InvalidSelectionValue', + selectionPath: ['name'], + underlyingError: 'Not allowed', + }, + { + include: { + // @ts-expect-error + name: undefined, + }, + }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + include: { + name: undefined + ~~~~~~~~~ + } + } + + Invalid value for selection field \`name\`: Not allowed + + ------------------------------------ + + Colored: + + { + include: { + name: undefined + ~~~~~~~~~ + } + } + + Invalid value for selection field \`name\`: Not allowed + " + `) + }) + + test('top level omit', () => { + expect( + renderError( + { + kind: 'InvalidSelectionValue', + selectionPath: ['name'], + underlyingError: 'Not allowed', + }, + { + omit: { + // @ts-expect-error + name: undefined, + }, + }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + omit: { + name: undefined + ~~~~~~~~~ + } + } + + Invalid value for selection field \`name\`: Not allowed + + ------------------------------------ + + Colored: + + { + omit: { + name: undefined + ~~~~~~~~~ + } + } + + Invalid value for selection field \`name\`: Not allowed + " + `) + }) + + test('nested select', () => { + expect( + renderError( + { + kind: 'InvalidSelectionValue', + selectionPath: ['user', 'name'], + underlyingError: 'Not allowed', + }, + { + select: { + user: { + select: { + // @ts-expect-error + name: undefined, + }, + }, + }, + }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + select: { + user: { + select: { + name: undefined + ~~~~~~~~~ + } + } + } + } + + Invalid value for selection field \`name\`: Not allowed + + ------------------------------------ + + Colored: + + { + select: { + user: { + select: { + name: undefined + ~~~~~~~~~ + } + } + } + } + + Invalid value for selection field \`name\`: Not allowed + " + `) + }) + + test('nested include', () => { + expect( + renderError( + { + kind: 'InvalidSelectionValue', + selectionPath: ['user', 'name'], + underlyingError: 'Not allowed', + }, + { + include: { + user: { + include: { + // @ts-expect-error + name: undefined, + }, + }, + }, + }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + include: { + user: { + include: { + name: undefined + ~~~~~~~~~ + } + } + } + } + + Invalid value for selection field \`name\`: Not allowed + + ------------------------------------ + + Colored: + + { + include: { + user: { + include: { + name: undefined + ~~~~~~~~~ + } + } + } + } + + Invalid value for selection field \`name\`: Not allowed + " + `) + }) + + test('nested omit', () => { + expect( + renderError( + { + kind: 'InvalidSelectionValue', + selectionPath: ['user', 'password'], + underlyingError: 'Not allowed', + }, + { + select: { + user: { + omit: { + // @ts-expect-error + password: undefined, + }, + }, + }, + }, + ), + ).toMatchInlineSnapshot(` + " + Colorless: + + { + select: { + user: { + omit: { + password: undefined + ~~~~~~~~~ + } + } + } + } + + Invalid value for selection field \`password\`: Not allowed + + ------------------------------------ + + Colored: + + { + select: { + user: { + omit: { + password: undefined + ~~~~~~~~~ + } + } + } + } + + Invalid value for selection field \`password\`: Not allowed + " + `) + }) +}) + describe('UnknownArgument', () => { test('top level with suggestion', () => { expect( diff --git a/packages/client/src/runtime/core/errorRendering/applyValidationError.ts b/packages/client/src/runtime/core/errorRendering/applyValidationError.ts index c581a1695f57..d2ca4d6fa23c 100644 --- a/packages/client/src/runtime/core/errorRendering/applyValidationError.ts +++ b/packages/client/src/runtime/core/errorRendering/applyValidationError.ts @@ -1,5 +1,6 @@ import levenshtein from 'js-levenshtein' +import { lowerCase } from '../../../utils/lowerCase' import { ArgumentDescription, EmptySelectionError, @@ -15,7 +16,13 @@ import { UnknownSelectionFieldError, ValueTooLargeError, } from '../engines' -import { IncludeOnScalarError, MutuallyExclusiveFieldsError, ValidationError } from '../types/ValidationError' +import { GlobalOmitOptions } from '../jsonProtocol/serializeJsonQuery' +import { + IncludeOnScalarError, + InvalidSelectionValueError, + MutuallyExclusiveFieldsError, + ValidationError, +} from '../types/ValidationError' import { applyUnionError } from './applyUnionError' import { ArgumentsRenderingTree } from './ArgumentsRenderingTree' import { Colors } from './base' @@ -32,7 +39,11 @@ import { SuggestionObjectValue } from './SuggestionObjectValue' * @param error * @param args */ -export function applyValidationError(error: ValidationError, args: ArgumentsRenderingTree): void { +export function applyValidationError( + error: ValidationError, + args: ArgumentsRenderingTree, + globalOmit?: GlobalOmitOptions, +): void { switch (error.kind) { case 'MutuallyExclusiveFields': applyMutuallyExclusiveFieldsError(error, args) @@ -41,11 +52,14 @@ export function applyValidationError(error: ValidationError, args: ArgumentsRend applyIncludeOnScalarError(error, args) break case 'EmptySelection': - applyEmptySelectionError(error, args) + applyEmptySelectionError(error, args, globalOmit) break case 'UnknownSelectionField': applyUnknownSelectionFieldError(error, args) break + case 'InvalidSelectionValue': + applyInvalidSelectionValueError(error, args) + break case 'UnknownArgument': applyUnknownArgumentError(error, args) break @@ -71,7 +85,7 @@ export function applyValidationError(error: ValidationError, args: ArgumentsRend applyTooManyFieldsGivenError(error, args) break case 'Union': - applyUnionError(error, args) + applyUnionError(error, args, globalOmit) break default: throw new Error('not implemented: ' + error.kind) @@ -123,7 +137,11 @@ function applyIncludeOnScalarError(error: IncludeOnScalarError, argsTree: Argume }) } -function applyEmptySelectionError(error: EmptySelectionError, argsTree: ArgumentsRenderingTree) { +function applyEmptySelectionError( + error: EmptySelectionError, + argsTree: ArgumentsRenderingTree, + globalOmit?: GlobalOmitOptions, +) { const subSelection = argsTree.arguments.getDeepSubSelectionValue(error.selectionPath)?.asObject() if (subSelection) { const omit = subSelection.getField('omit')?.value.asObject() @@ -131,9 +149,19 @@ function applyEmptySelectionError(error: EmptySelectionError, argsTree: Argument applyEmptySelectionErrorOmit(error, argsTree, omit) return } + if (subSelection.hasField('select')) { + applyEmptySelectionErrorSelect(error, argsTree) + return + } } - applyEmptySelectionErrorSelect(error, argsTree) + if (globalOmit?.[lowerCase(error.outputType.name)]) { + applyEmptySelectionErrorGlobalOmit(error, argsTree) + return + } + + // should never happen, but in case it does + argsTree.addErrorMessage(() => `Unknown field at "${error.selectionPath.join('.')} selection"`) } // case for `EmptySelectionError`, triggered by excessive omit @@ -207,34 +235,59 @@ function applyEmptySelectionErrorSelect(error: EmptySelectionError, argsTree: Ar }) } -function applyUnknownSelectionFieldError(error: UnknownSelectionFieldError, argsTree: ArgumentsRenderingTree) { - const [parentPath, fieldName] = splitPath(error.selectionPath) +// case for `EmptySelectionError`, triggered by excessive global omit +function applyEmptySelectionErrorGlobalOmit(error: EmptySelectionError, argsTree: ArgumentsRenderingTree) { + const suggestedOmitConfig = new SuggestionObjectValue() + for (const field of error.outputType.fields) { + if (!field.isRelation) { + suggestedOmitConfig.addField(field.name, 'false') + } + } - const subSelection = argsTree.arguments.getDeepSubSelectionValue(parentPath)?.asObject() - let selectionParentKind: 'select' | 'include' | 'omit' | undefined = undefined - if (subSelection) { - const select = subSelection.getFieldValue('select')?.asObject() - const include = subSelection.getFieldValue('include')?.asObject() - const omit = subSelection.getFieldValue('omit')?.asObject() - if (select?.hasField(fieldName)) { - selectionParentKind = 'select' - select.getField(fieldName)?.markAsError() - addSelectionSuggestions(select, error.outputType) - } else if (include?.hasField(fieldName)) { - selectionParentKind = 'include' - include.getField(fieldName)?.markAsError() - addInclusionSuggestions(include, error.outputType) - } else if (omit?.hasField(fieldName)) { - selectionParentKind = 'omit' - omit.getField(fieldName)?.markAsError() - addOmissionSuggestions(omit, error.outputType) + const omitSuggestion = new ObjectFieldSuggestion('omit', suggestedOmitConfig).makeRequired() + + if (error.selectionPath.length === 0) { + argsTree.arguments.addSuggestion(omitSuggestion) + } else { + const [parentPath, fieldName] = splitPath(error.selectionPath) + const parent = argsTree.arguments.getDeepSelectionParent(parentPath)?.value.asObject() + const field = parent?.getField(fieldName) + if (field) { + const fieldValue = field?.value.asObject() ?? new ObjectValue() + fieldValue.addSuggestion(omitSuggestion) + field.value = fieldValue } } + // neither select, nor omit are used, but global omit global omit configuration for the model exists + argsTree.addErrorMessage((colors) => { + return `The global ${colors.red('omit')} configuration excludes every field of the model ${colors.bold( + error.outputType.name, + )}. At least one field must be included in the result` + }) +} + +function applyUnknownSelectionFieldError(error: UnknownSelectionFieldError, argsTree: ArgumentsRenderingTree) { + const locateResult = locateSelectionField(error.selectionPath, argsTree) + if (locateResult.parentKind !== 'unknown') { + locateResult.field.markAsError() + const parent = locateResult.parent + switch (locateResult.parentKind) { + case 'select': + addSelectionSuggestions(parent, error.outputType) + break + case 'include': + addInclusionSuggestions(parent, error.outputType) + break + case 'omit': + addOmissionSuggestions(parent, error.outputType) + break + } + } argsTree.addErrorMessage((colors) => { - const parts = [`Unknown field ${colors.red(`\`${fieldName}\``)}`] - if (selectionParentKind) { - parts.push(`for ${colors.bold(selectionParentKind)} statement`) + const parts = [`Unknown field ${colors.red(`\`${locateResult.fieldName}\``)}`] + if (locateResult.parentKind !== 'unknown') { + parts.push(`for ${colors.bold(locateResult.parentKind)} statement`) } parts.push(`on model ${colors.bold(`\`${error.outputType.name}\``)}.`) parts.push(availableOptionsMessage(colors)) @@ -242,6 +295,17 @@ function applyUnknownSelectionFieldError(error: UnknownSelectionFieldError, args }) } +function applyInvalidSelectionValueError(error: InvalidSelectionValueError, argsTree: ArgumentsRenderingTree) { + const locateResult = locateSelectionField(error.selectionPath, argsTree) + if (locateResult.parentKind !== 'unknown') { + locateResult.field.value.markAsError() + } + + argsTree.addErrorMessage((colors) => { + return `Invalid value for selection field \`${colors.red(locateResult.fieldName)}\`: ${error.underlyingError}` + }) +} + function applyUnknownArgumentError(error: UnknownArgumentError, argsTree: ArgumentsRenderingTree) { const argName = error.argumentPath[0] const selection = argsTree.arguments.getDeepSubSelectionValue(error.selectionPath)?.asObject() @@ -510,6 +574,32 @@ function addArgumentsSuggestions(argumentsParent: ObjectValue, args: ArgumentDes } } +function locateSelectionField(selectionPath: string[], argsTree: ArgumentsRenderingTree) { + const [parentPath, fieldName] = splitPath(selectionPath) + + const subSelection = argsTree.arguments.getDeepSubSelectionValue(parentPath)?.asObject() + if (!subSelection) { + return { parentKind: 'unknown' as const, fieldName } + } + const select = subSelection.getFieldValue('select')?.asObject() + const include = subSelection.getFieldValue('include')?.asObject() + const omit = subSelection.getFieldValue('omit')?.asObject() + let field = select?.getField(fieldName) + if (select && field) { + return { parentKind: 'select' as const, parent: select, field, fieldName } + } + field = include?.getField(fieldName) + if (include && field) { + return { parentKind: 'include' as const, field, parent: include, fieldName } + } + + field = omit?.getField(fieldName) + if (omit && field) { + return { parentKind: 'omit' as const, field, parent: omit, fieldName } + } + return { parentKind: 'unknown' as const, fieldName } +} + function addInputSuggestions(parent: ObjectValue, inputType: InputTypeDescription) { if (inputType.kind !== 'object') { return diff --git a/packages/client/src/runtime/core/errorRendering/throwValidationException.ts b/packages/client/src/runtime/core/errorRendering/throwValidationException.ts index 729e8f4281e5..8467d4206a21 100644 --- a/packages/client/src/runtime/core/errorRendering/throwValidationException.ts +++ b/packages/client/src/runtime/core/errorRendering/throwValidationException.ts @@ -1,13 +1,12 @@ -import { Writer } from '../../../generation/ts-builders/Writer' import { ErrorFormat } from '../../getPrismaClient' import { CallSite } from '../../utils/CallSite' import { createErrorMessageWithContext } from '../../utils/createErrorMessageWithContext' import { PrismaClientValidationError } from '../errors/PrismaClientValidationError' +import { GlobalOmitOptions } from '../jsonProtocol/serializeJsonQuery' import { JsArgs } from '../types/exported/JsApi' import { ValidationError } from '../types/ValidationError' import { applyValidationError } from './applyValidationError' -import { buildArgumentsRenderingTree } from './ArgumentsRenderingTree' -import { activeColors, inactiveColors } from './base' +import { buildArgumentsRenderingTree, renderArgsTree } from './ArgumentsRenderingTree' type ExceptionParams = { errors: ValidationError[] @@ -16,6 +15,7 @@ type ExceptionParams = { originalMethod: string errorFormat: ErrorFormat clientVersion: string + globalOmit?: GlobalOmitOptions } export function throwValidationException({ @@ -25,16 +25,14 @@ export function throwValidationException({ callsite, originalMethod, clientVersion, + globalOmit, }: ExceptionParams): never { const argsTree = buildArgumentsRenderingTree(args) for (const error of errors) { - applyValidationError(error, argsTree) + applyValidationError(error, argsTree, globalOmit) } - const colors = errorFormat === 'pretty' ? activeColors : inactiveColors - - const message = argsTree.renderAllMessages(colors) - const renderedArgs = new Writer(0, { colors }).write(argsTree).toString() + const { message, args: renderedArgs } = renderArgsTree(argsTree, errorFormat) const messageWithContext = createErrorMessageWithContext({ message, diff --git a/packages/client/src/runtime/core/errors/NotFoundError.ts b/packages/client/src/runtime/core/errors/NotFoundError.ts deleted file mode 100644 index 1d5fec5eb331..000000000000 --- a/packages/client/src/runtime/core/errors/NotFoundError.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { setClassName } from '@prisma/internals' - -import { PrismaClientKnownRequestError } from './PrismaClientKnownRequestError' - -/** - * @deprecated Please don´t rely on type checks to this error anymore. - * This will become a regular `PrismaClientKnownRequestError` with code `P2025` - * in the future major version of the client. - * Instead of `error instanceof Prisma.NotFoundError` use `error.code === "P2025"`. - */ -export class NotFoundError extends PrismaClientKnownRequestError { - constructor(message: string, clientVersion: string) { - super(message, { code: 'P2025', clientVersion }) - this.name = 'NotFoundError' - } -} -setClassName(NotFoundError, 'NotFoundError') diff --git a/packages/client/src/runtime/core/extensions/applyAllResultExtensions.ts b/packages/client/src/runtime/core/extensions/applyAllResultExtensions.ts index 60b3ae298530..3ead02d05086 100644 --- a/packages/client/src/runtime/core/extensions/applyAllResultExtensions.ts +++ b/packages/client/src/runtime/core/extensions/applyAllResultExtensions.ts @@ -1,3 +1,4 @@ +import { GlobalOmitOptions } from '../jsonProtocol/serializeJsonQuery' import { dmmfToJSModelName } from '../model/utils/dmmfToJSModelName' import { RuntimeDataModel } from '../runtimeDataModel' import { JsArgs } from '../types/exported/JsApi' @@ -11,6 +12,7 @@ type ApplyAllResultExtensionsParams = { args: JsArgs extensions: MergedExtensionsList runtimeDataModel: RuntimeDataModel + globalOmit?: GlobalOmitOptions } /** @@ -23,6 +25,7 @@ export function applyAllResultExtensions({ args, extensions, runtimeDataModel, + globalOmit, }: ApplyAllResultExtensionsParams) { // We return the result directly (not applying result extensions) if // - there is no extension to apply @@ -35,18 +38,23 @@ export function applyAllResultExtensions({ if (!model) { return result } + return visitQueryResult({ result, args: args ?? {}, modelName, runtimeDataModel, - visitor: (value, dmmfModelName, args) => - applyResultExtensions({ + visitor: (value, dmmfModelName, args) => { + const jsName = dmmfToJSModelName(dmmfModelName) + return applyResultExtensions({ result: value, - modelName: dmmfToJSModelName(dmmfModelName), + modelName: jsName, select: args.select, - omit: args.omit, + // passing omit only if explicit select is not set - those 2 options are + // mutually exclusive + omit: args.select ? undefined : { ...globalOmit?.[jsName], ...args.omit }, extensions, - }), + }) + }, }) } diff --git a/packages/client/src/runtime/core/extensions/applyQueryExtensions.ts b/packages/client/src/runtime/core/extensions/applyQueryExtensions.ts index ba8d68ec3f1d..2eb024e048ac 100644 --- a/packages/client/src/runtime/core/extensions/applyQueryExtensions.ts +++ b/packages/client/src/runtime/core/extensions/applyQueryExtensions.ts @@ -1,12 +1,9 @@ import { Client, InternalRequestParams } from '../../getPrismaClient' import { RequestParams } from '../../RequestHandler' import { deepCloneArgs } from '../../utils/deepCloneArgs' +import { CustomDataProxyFetch } from '../engines' import { QueryOptionsCb } from '../types/exported/ExtensionArgs' -import { - BatchInternalParams, - BatchQueryOptionsCb, - CustomDataProxyFetch, -} from '../types/internal/ExtensionsInternalArgs' +import { BatchInternalParams, BatchQueryOptionsCb } from '../types/internal/ExtensionsInternalArgs' function iterateAndCallQueryCallbacks( client: Client, diff --git a/packages/client/src/runtime/core/extensions/visitQueryResult.ts b/packages/client/src/runtime/core/extensions/visitQueryResult.ts index c2103f285f04..f4f25f60f66a 100644 --- a/packages/client/src/runtime/core/extensions/visitQueryResult.ts +++ b/packages/client/src/runtime/core/extensions/visitQueryResult.ts @@ -1,4 +1,5 @@ import { RuntimeDataModel } from '../runtimeDataModel' +import { isSkip } from '../types' import { JsArgs, Selection } from '../types/exported/JsApi' type ModelVisitor = (value: object, modelName: string, queryArgs: JsArgs) => object | undefined @@ -66,7 +67,7 @@ type VisitNestedParams = { function visitNested({ includeOrSelect, result, parentModelName, runtimeDataModel, visitor }: VisitNestedParams) { for (const [fieldName, subConfig] of Object.entries(includeOrSelect)) { - if (!subConfig || result[fieldName] == null) { + if (!subConfig || result[fieldName] == null || isSkip(subConfig)) { continue } const parentModel = runtimeDataModel.models[parentModelName] diff --git a/packages/client/src/runtime/core/init/getEngineInstance.ts b/packages/client/src/runtime/core/init/getEngineInstance.ts index 6ff625529b90..938f30ec27f8 100644 --- a/packages/client/src/runtime/core/init/getEngineInstance.ts +++ b/packages/client/src/runtime/core/init/getEngineInstance.ts @@ -1,8 +1,8 @@ -import { ClientEngineType, getClientEngineType, warnOnce } from '@prisma/internals' +import { ClientEngineType, getClientEngineType, isPrismaPostgres, warnOnce } from '@prisma/internals' import { GetPrismaClientConfig } from '../../getPrismaClient' import { getRuntime } from '../../utils/getRuntime' -import { BinaryEngine, DataProxyEngine, EngineConfig, LibraryEngine } from '../engines' +import { BinaryEngine, ClientEngine, DataProxyEngine, EngineConfig, LibraryEngine } from '../engines' import { AccelerateEngine } from '../engines/accelerate/AccelerateEngine' import { PrismaClientValidationError } from '../errors/PrismaClientValidationError' import { resolveDatasourceUrl } from './resolveDatasourceUrl' @@ -30,7 +30,9 @@ export function getEngineInstance({ copyEngine = true }: GetPrismaClientConfig, // means we can't use the DataProxyEngine and will default to LibraryEngine } - if (copyEngine && url?.startsWith('prisma://')) { + const isAccelerateUrlScheme = Boolean(url?.startsWith('prisma://') || isPrismaPostgres(url)) + + if (copyEngine && isAccelerateUrlScheme) { warnOnce( 'recommend--no-engine', 'In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)', @@ -39,10 +41,11 @@ export function getEngineInstance({ copyEngine = true }: GetPrismaClientConfig, const engineType = getClientEngineType(engineConfig.generator!) - const accelerateConfigured = Boolean(url?.startsWith('prisma://') || !copyEngine) + const accelerateConfigured = isAccelerateUrlScheme || !copyEngine const driverAdapterConfigured = Boolean(engineConfig.adapter) const libraryEngineConfigured = engineType === ClientEngineType.Library const binaryEngineConfigured = engineType === ClientEngineType.Binary + const clientEngineConfigured = engineType === ClientEngineType.Client if ((accelerateConfigured && driverAdapterConfigured) || (driverAdapterConfigured && TARGET_BUILD_TYPE === 'edge')) { let message: string[] @@ -81,6 +84,7 @@ export function getEngineInstance({ copyEngine = true }: GetPrismaClientConfig, else if (libraryEngineConfigured && TARGET_BUILD_TYPE === 'library') return new LibraryEngine(engineConfig) else if (binaryEngineConfigured && TARGET_BUILD_TYPE === 'binary') return new BinaryEngine(engineConfig) else if (accelerateConfigured && TARGET_BUILD_TYPE === 'wasm') return new AccelerateEngine(engineConfig) + else if (clientEngineConfigured && TARGET_BUILD_TYPE === 'client') return new ClientEngine(engineConfig) // if either accelerate or wasm library could not be loaded for some reason, we throw an error if (TARGET_BUILD_TYPE === 'wasm') { diff --git a/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.test.ts b/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.test.ts index 0e72a282d3ab..2f6e0d98287c 100644 --- a/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.test.ts +++ b/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.test.ts @@ -22,8 +22,8 @@ test('BigInt', () => { test('Bytes', () => { const value = deserializeJsonResponse({ $type: 'Bytes', value: 'aGVsbG8gd29ybGQ=' }) - expect(value).toBeInstanceOf(Buffer) - expect(value).toEqual(Buffer.from('hello world')) + expect(value).toBeInstanceOf(Uint8Array) + expect(value).toEqual(new Uint8Array(Buffer.from('hello world'))) }) test('Decimal', () => { diff --git a/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.ts b/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.ts index 350a6ca4dd8d..ce7b0e630da6 100644 --- a/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.ts +++ b/packages/client/src/runtime/core/jsonProtocol/deserializeJsonResponse.ts @@ -32,8 +32,10 @@ function deserializeTaggedValue({ $type, value }: JsonOutputTaggedValue): JsOutp switch ($type) { case 'BigInt': return BigInt(value) - case 'Bytes': - return Buffer.from(value, 'base64') + case 'Bytes': { + const { buffer, byteOffset, byteLength } = Buffer.from(value, 'base64') + return new Uint8Array(buffer, byteOffset, byteLength) + } case 'DateTime': return new Date(value) case 'Decimal': diff --git a/packages/client/src/runtime/core/jsonProtocol/isWrite.ts b/packages/client/src/runtime/core/jsonProtocol/isWrite.ts index a306bceb06b7..4083f675116f 100644 --- a/packages/client/src/runtime/core/jsonProtocol/isWrite.ts +++ b/packages/client/src/runtime/core/jsonProtocol/isWrite.ts @@ -19,6 +19,7 @@ const writeMap: Record = { queryRaw: false, runCommandRaw: true, updateMany: true, + updateManyAndReturn: true, updateOne: true, upsertOne: true, } diff --git a/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.test.ts b/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.test.ts index 83830a216ebf..407a81ced24d 100644 --- a/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.test.ts +++ b/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.test.ts @@ -3,6 +3,7 @@ import Decimal from 'decimal.js' import { field, model, runtimeDataModel } from '../../../testUtils/dataModelBuilder' import { MergedExtensionsList } from '../extensions/MergedExtensionsList' import { FieldRefImpl } from '../model/FieldRef' +import { skip } from '../types' import { objectEnumValues } from '../types/exported/ObjectEnums' import { serializeJsonQuery, SerializeParams } from './serializeJsonQuery' @@ -125,6 +126,38 @@ test('createManyAndReturn', () => { `) }) +test('updateMany', () => { + expect(serialize({ modelName: 'User', action: 'updateMany', args: {} })).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "updateMany", + "query": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } + }" + `) +}) + +test('updateManyAndReturn', () => { + expect(serialize({ modelName: 'User', action: 'updateManyAndReturn', args: {} })).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "updateManyAndReturn", + "query": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } + }" + `) +}) + test('delete', () => { expect(serialize({ modelName: 'User', action: 'delete', args: {} })).toMatchInlineSnapshot(` "{ @@ -445,6 +478,35 @@ test('args - Buffer', () => { `) }) +test('args - Uint8Array', () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { where: { binary: new Uint8Array(Buffer.from('hello world')) } }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": { + "where": { + "binary": { + "$type": "Bytes", + "value": "aGVsbG8gd29ybGQ=" + } + } + }, + "selection": { + "$composites": true, + "$scalars": true + } + } + }" + `) +}) + test('args - Decimal', () => { expect( serialize({ @@ -764,7 +826,13 @@ test('1 level include', () => { "selection": { "$composites": true, "$scalars": true, - "posts": true + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } } } }" @@ -821,7 +889,13 @@ test('multiple level include', () => { "selection": { "$composites": true, "$scalars": true, - "attachments": true + "attachments": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } } } } @@ -845,7 +919,13 @@ test('explicit selection', () => { "arguments": {}, "selection": { "title": true, - "posts": true + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } } } }" @@ -936,7 +1016,13 @@ test('mixed include and select', () => { "selection": { "$composites": true, "$scalars": true, - "attachments": true + "attachments": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } } } } @@ -1014,7 +1100,6 @@ test('omit', () => { serialize({ modelName: 'User', action: 'findMany', - previewFeatures: ['omitApi'], args: { omit: { name: true } }, }), ).toMatchInlineSnapshot(` @@ -1038,7 +1123,6 @@ test('omit(false)', () => { serialize({ modelName: 'User', action: 'findMany', - previewFeatures: ['omitApi'], args: { omit: { name: false } }, }), ).toMatchInlineSnapshot(` @@ -1062,7 +1146,6 @@ test('omit + include', () => { serialize({ modelName: 'User', action: 'findMany', - previewFeatures: ['omitApi'], args: { include: { posts: true }, omit: { name: true } }, }), ).toMatchInlineSnapshot(` @@ -1074,7 +1157,13 @@ test('omit + include', () => { "selection": { "$composites": true, "$scalars": true, - "posts": true, + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + }, "name": false } } @@ -1087,7 +1176,6 @@ test('nested omit', () => { serialize({ modelName: 'User', action: 'findMany', - previewFeatures: ['omitApi'], args: { include: { posts: { omit: { title: true } } } }, }), ).toMatchInlineSnapshot(` @@ -1118,7 +1206,6 @@ test('exclusion with extension', () => { serialize({ modelName: 'User', action: 'findMany', - previewFeatures: ['omitApi'], args: { omit: { name: true } }, extensions: MergedExtensionsList.single({ result: { @@ -1151,7 +1238,6 @@ test('exclusion with extension while excluding computed field too', () => { serialize({ modelName: 'User', action: 'findMany', - previewFeatures: ['omitApi'], args: { omit: { name: true, fullName: true } }, extensions: MergedExtensionsList.single({ result: { @@ -1179,3 +1265,299 @@ test('exclusion with extension while excluding computed field too', () => { }" `) }) + +test('globalOmit', () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + globalOmit: { + user: { + name: true, + }, + }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true, + "name": false + } + } + }" + `) +}) + +test('globalOmit + local omit', () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { + omit: { + name: false, + }, + }, + globalOmit: { + user: { + name: true, + }, + }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true, + "name": true + } + } + }" + `) +}) + +test('globalOmit + local select', () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { + select: { + name: true, + }, + }, + globalOmit: { + user: { + name: true, + }, + }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": {}, + "selection": { + "name": true + } + } + }" + `) +}) + +test('nested globalOmit (include)', () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { include: { posts: true } }, + globalOmit: { + post: { + title: true, + }, + }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true, + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true, + "title": false + } + } + } + } + }" + `) +}) + +test('nested globalOmit (select)', () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { select: { posts: true } }, + globalOmit: { + post: { + title: true, + }, + }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": {}, + "selection": { + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true, + "title": false + } + } + } + } + }" + `) +}) + +test(`Prisma.skip in arguments`, () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { where: skip }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } + }" + `) +}) + +test(`Prisma.skip in input object fields`, () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { where: { name: 'Steve', occupation: skip } }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": { + "where": { + "name": "Steve" + } + }, + "selection": { + "$composites": true, + "$scalars": true + } + } + }" + `) +}) + +test(`Prisma.skip in include`, () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { where: { name: 'Steve' }, include: { posts: true, profile: skip } }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": { + "where": { + "name": "Steve" + } + }, + "selection": { + "$composites": true, + "$scalars": true, + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } + } + } + }" + `) +}) + +test(`Prisma.skip in select`, () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { where: { name: 'Steve' }, select: { posts: true, profile: skip } }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": { + "where": { + "name": "Steve" + } + }, + "selection": { + "posts": { + "arguments": {}, + "selection": { + "$composites": true, + "$scalars": true + } + } + } + } + }" + `) +}) + +test(`Prisma.skip in omit`, () => { + expect( + serialize({ + modelName: 'User', + action: 'findMany', + args: { where: { name: 'Steve' }, omit: { password: true, name: skip } }, + }), + ).toMatchInlineSnapshot(` + "{ + "modelName": "User", + "action": "findMany", + "query": { + "arguments": { + "where": { + "name": "Steve" + } + }, + "selection": { + "$composites": true, + "$scalars": true, + "password": false + } + } + }" + `) +}) diff --git a/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.ts b/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.ts index 8ee690917e24..155bffac8f42 100644 --- a/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.ts +++ b/packages/client/src/runtime/core/jsonProtocol/serializeJsonQuery.ts @@ -1,3 +1,6 @@ +import { assertNever } from '@prisma/internals' + +import { lowerCase } from '../../../utils/lowerCase' import { ErrorFormat } from '../../getPrismaClient' import { CallSite } from '../../utils/CallSite' import { isDate, isValidDate } from '../../utils/date' @@ -15,7 +18,9 @@ import { throwValidationException } from '../errorRendering/throwValidationExcep import { MergedExtensionsList } from '../extensions/MergedExtensionsList' import { computeEngineSideOmissions, computeEngineSideSelection } from '../extensions/resultUtils' import { isFieldRef } from '../model/FieldRef' +import { isParam } from '../model/Param' import { RuntimeDataModel, RuntimeModel } from '../runtimeDataModel' +import { isSkip, Skip } from '../types' import { Action, JsArgs, @@ -40,6 +45,7 @@ const jsActionToProtocolAction: Record = { createManyAndReturn: 'createManyAndReturn', update: 'updateOne', updateMany: 'updateMany', + updateManyAndReturn: 'updateManyAndReturn', upsert: 'upsertOne', delete: 'deleteOne', deleteMany: 'deleteMany', @@ -52,30 +58,40 @@ const jsActionToProtocolAction: Record = { aggregateRaw: 'aggregateRaw', } +export type GlobalOmitOptions = { + [modelName: string]: { + [fieldName: string]: boolean + } +} + export type SerializeParams = { runtimeDataModel: RuntimeDataModel modelName?: string action: Action args?: JsArgs - extensions: MergedExtensionsList + extensions?: MergedExtensionsList callsite?: CallSite clientMethod: string clientVersion: string errorFormat: ErrorFormat previewFeatures: string[] + globalOmit?: GlobalOmitOptions } +const STRICT_UNDEFINED_ERROR_MESSAGE = 'explicitly `undefined` values are not allowed' + export function serializeJsonQuery({ modelName, action, args, runtimeDataModel, - extensions, + extensions = MergedExtensionsList.empty(), callsite, clientMethod, errorFormat, clientVersion, previewFeatures, + globalOmit, }: SerializeParams): JsonQuery { const context = new SerializeContext({ runtimeDataModel, @@ -90,6 +106,7 @@ export function serializeJsonQuery({ errorFormat, clientVersion, previewFeatures, + globalOmit, }) return { modelName, @@ -102,11 +119,8 @@ function serializeFieldSelection( { select, include, ...args }: JsArgs = {}, context: SerializeContext, ): JsonFieldSelection { - let omit: Omission | undefined - if (context.isPreviewFeatureOn('omitApi')) { - omit = args.omit - delete args.omit - } + const omit = args.omit + delete args.omit return { arguments: serializeArgumentsObject(args, context), selection: serializeSelectionSet(select, include, omit, context), @@ -116,7 +130,7 @@ function serializeFieldSelection( function serializeSelectionSet( select: Selection | undefined, include: Selection | undefined, - omit: Record | undefined, + omit: Omission | undefined, context: SerializeContext, ): JsonSelectionSet { if (select) { @@ -127,7 +141,7 @@ function serializeSelectionSet( secondField: 'select', selectionPath: context.getSelectionPath(), }) - } else if (omit && context.isPreviewFeatureOn('omitApi')) { + } else if (omit) { context.throwValidationError({ kind: 'MutuallyExclusiveFields', firstField: 'omit', @@ -144,11 +158,11 @@ function serializeSelectionSet( function createImplicitSelection( context: SerializeContext, include: Selection | undefined, - omit: Record | undefined, + omit: Omission | undefined, ) { const selectionSet: JsonSelectionSet = {} - if (context.model && !context.isRawAction()) { + if (context.modelOrType && !context.isRawAction()) { selectionSet.$composites = true selectionSet.$scalars = true } @@ -157,37 +171,58 @@ function createImplicitSelection( addIncludedRelations(selectionSet, include, context) } - if (omit && context.isPreviewFeatureOn('omitApi')) { - omitFields(selectionSet, omit, context) - } + omitFields(selectionSet, omit, context) return selectionSet } function addIncludedRelations(selectionSet: JsonSelectionSet, include: Selection, context: SerializeContext) { for (const [key, value] of Object.entries(include)) { - const field = context.findField(key) + if (isSkip(value)) { + continue + } + const nestedContext = context.nestSelection(key) + validateSelectionForUndefined(value, nestedContext) + if (value === false || value === undefined) { + selectionSet[key] = false + continue + } - if (field && field?.kind !== 'object') { + const field = context.findField(key) + if (field && field.kind !== 'object') { context.throwValidationError({ kind: 'IncludeOnScalar', selectionPath: context.getSelectionPath().concat(key), outputType: context.getOutputTypeDescription(), }) } + if (field) { + selectionSet[key] = serializeFieldSelection(value === true ? {} : value, nestedContext) + continue + } if (value === true) { selectionSet[key] = true - } else if (typeof value === 'object') { - selectionSet[key] = serializeFieldSelection(value, context.nestSelection(key)) + continue } + + // value is an object, field is unknown + // this can either be user error (in that case, qe will respond with an error) + // or virtual field not present on datamodel (like `_count`). + // Since we don't know which one cast is, we still attempt to serialize selection + selectionSet[key] = serializeFieldSelection(value, nestedContext) } } -function omitFields(selectionSet: JsonSelectionSet, omit: Omission, context: SerializeContext) { +function omitFields(selectionSet: JsonSelectionSet, localOmit: Omission | undefined, context: SerializeContext) { const computedFields = context.getComputedFields() - const omitWithComputedFields = computeEngineSideOmissions(omit, computedFields) + const combinedOmits = { ...context.getGlobalOmit(), ...localOmit } + const omitWithComputedFields = computeEngineSideOmissions(combinedOmits, computedFields) for (const [key, value] of Object.entries(omitWithComputedFields)) { + if (isSkip(value)) { + continue + } + validateSelectionForUndefined(value, context.nestSelection(key)) const field = context.findField(key) if (computedFields?.[key] && !field) { continue @@ -202,21 +237,34 @@ function createExplicitSelection(select: Selection, context: SerializeContext) { const selectWithComputedFields = computeEngineSideSelection(select, computedFields) for (const [key, value] of Object.entries(selectWithComputedFields)) { + if (isSkip(value)) { + continue + } + const nestedContext = context.nestSelection(key) + validateSelectionForUndefined(value, nestedContext) const field = context.findField(key) if (computedFields?.[key] && !field) { continue } + if (value === false || value === undefined || isSkip(value)) { + selectionSet[key] = false + continue + } if (value === true) { - selectionSet[key] = true - } else if (typeof value === 'object') { - selectionSet[key] = serializeFieldSelection(value, context.nestSelection(key)) + if (field?.kind === 'object') { + selectionSet[key] = serializeFieldSelection({}, nestedContext) + } else { + selectionSet[key] = true + } + continue } + selectionSet[key] = serializeFieldSelection(value, nestedContext) } return selectionSet } function serializeArgumentsValue( - jsValue: Exclude, + jsValue: Exclude, context: SerializeContext, ): JsonArgumentValue { if (jsValue === null) { @@ -248,6 +296,10 @@ function serializeArgumentsValue( } } + if (isParam(jsValue)) { + return { $type: 'Param', value: jsValue.name } + } + if (isFieldRef(jsValue)) { return { $type: 'FieldRef', value: { _ref: jsValue.name, _container: jsValue.modelName } } } @@ -257,7 +309,8 @@ function serializeArgumentsValue( } if (ArrayBuffer.isView(jsValue)) { - return { $type: 'Bytes', value: Buffer.from(jsValue).toString('base64') } + const { buffer, byteOffset, byteLength } = jsValue + return { $type: 'Bytes', value: Buffer.from(buffer, byteOffset, byteLength).toString('base64') } } if (isRawParameters(jsValue)) { @@ -307,8 +360,20 @@ function serializeArgumentsObject( const result: Record = {} for (const key in object) { const value = object[key] + const nestedContext = context.nestArgument(key) + if (isSkip(value)) { + continue + } if (value !== undefined) { - result[key] = serializeArgumentsValue(value, context.nestArgument(key)) + result[key] = serializeArgumentsValue(value, nestedContext) + } else if (context.isPreviewFeatureOn('strictUndefinedChecks')) { + context.throwValidationError({ + kind: 'InvalidArgumentValue', + argumentPath: nestedContext.getArgumentPath(), + selectionPath: context.getSelectionPath(), + argument: { name: context.getArgumentName(), typeNames: [] }, + underlyingError: STRICT_UNDEFINED_ERROR_MESSAGE, + }) } } return result @@ -319,7 +384,8 @@ function serializeArgumentsArray(array: JsInputValue[], context: SerializeContex for (let i = 0; i < array.length; i++) { const itemContext = context.nestArgument(String(i)) const value = array[i] - if (value === undefined) { + if (value === undefined || isSkip(value)) { + const valueName = value === undefined ? 'undefined' : `Prisma.skip` context.throwValidationError({ kind: 'InvalidArgumentValue', selectionPath: itemContext.getSelectionPath(), @@ -328,7 +394,7 @@ function serializeArgumentsArray(array: JsInputValue[], context: SerializeContex name: `${context.getArgumentName()}[${i}]`, typeNames: [], }, - underlyingError: 'Can not use `undefined` value within array. Use `null` or filter out `undefined` values', + underlyingError: `Can not use \`${valueName}\` value within array. Use \`null\` or filter out \`${valueName}\` values`, }) } result.push(serializeArgumentsValue(value, itemContext)) @@ -344,6 +410,16 @@ function isJSONConvertible(value: JsInputValue): value is JsonConvertible { return typeof value === 'object' && value !== null && typeof value['toJSON'] === 'function' } +function validateSelectionForUndefined(value: unknown, context: SerializeContext) { + if (value === undefined && context.isPreviewFeatureOn('strictUndefinedChecks')) { + context.throwValidationError({ + kind: 'InvalidSelectionValue', + selectionPath: context.getSelectionPath(), + underlyingError: STRICT_UNDEFINED_ERROR_MESSAGE, + }) + } +} + type ContextParams = { runtimeDataModel: RuntimeDataModel originalMethod: string @@ -357,14 +433,17 @@ type ContextParams = { errorFormat: ErrorFormat clientVersion: string previewFeatures: string[] + globalOmit?: GlobalOmitOptions } class SerializeContext { - public readonly model: RuntimeModel | undefined + public readonly modelOrType: RuntimeModel | undefined constructor(private params: ContextParams) { if (this.params.modelName) { // TODO: throw if not found - this.model = this.params.runtimeDataModel.models[this.params.modelName] + this.modelOrType = + this.params.runtimeDataModel.models[this.params.modelName] ?? + this.params.runtimeDataModel.types[this.params.modelName] } } @@ -376,6 +455,7 @@ class SerializeContext { callsite: this.params.callsite, errorFormat: this.params.errorFormat, clientVersion: this.params.clientVersion, + globalOmit: this.params.globalOmit, }) } @@ -392,12 +472,12 @@ class SerializeContext { } getOutputTypeDescription(): OutputTypeDescription | undefined { - if (!this.params.modelName || !this.model) { + if (!this.params.modelName || !this.modelOrType) { return undefined } return { name: this.params.modelName, - fields: this.model.fields.map((field) => ({ + fields: this.modelOrType.fields.map((field) => ({ name: field.name, typeName: 'boolean', isRelation: field.kind === 'object', @@ -422,7 +502,7 @@ class SerializeContext { } findField(name: string) { - return this.model?.fields.find((field) => field.name === name) + return this.modelOrType?.fields.find((field) => field.name === name) } nestSelection(fieldName: string) { @@ -436,6 +516,44 @@ class SerializeContext { }) } + getGlobalOmit(): Record { + if (this.params.modelName && this.shouldApplyGlobalOmit()) { + return this.params.globalOmit?.[lowerCase(this.params.modelName)] ?? {} + } + return {} + } + + shouldApplyGlobalOmit(): boolean { + switch (this.params.action) { + case 'findFirst': + case 'findFirstOrThrow': + case 'findUniqueOrThrow': + case 'findMany': + case 'upsert': + case 'findUnique': + case 'createManyAndReturn': + case 'create': + case 'update': + case 'updateManyAndReturn': + case 'delete': + return true + case 'executeRaw': + case 'aggregateRaw': + case 'runCommandRaw': + case 'findRaw': + case 'createMany': + case 'deleteMany': + case 'groupBy': + case 'updateMany': + case 'count': + case 'aggregate': + case 'queryRaw': + return false + default: + assertNever(this.params.action, 'Unknown action') + } + } + nestArgument(fieldName: string) { return new SerializeContext({ ...this.params, diff --git a/packages/client/src/runtime/core/model/Param.ts b/packages/client/src/runtime/core/model/Param.ts new file mode 100644 index 000000000000..27fdc481a0a1 --- /dev/null +++ b/packages/client/src/runtime/core/model/Param.ts @@ -0,0 +1,13 @@ +import { Param } from '../types/exported/Param' + +export class ParamImpl implements Param { + constructor(public readonly name: Name) {} +} + +export function isParam(value: unknown): value is Param { + return value instanceof ParamImpl +} + +export function createParam(name: string): Param { + return new ParamImpl(name) +} diff --git a/packages/client/src/runtime/core/model/applyFieldsProxy.test.ts b/packages/client/src/runtime/core/model/applyFieldsProxy.test.ts index eca324b33338..758e656884d0 100644 --- a/packages/client/src/runtime/core/model/applyFieldsProxy.test.ts +++ b/packages/client/src/runtime/core/model/applyFieldsProxy.test.ts @@ -2,6 +2,7 @@ import { applyFieldsProxy } from './applyFieldsProxy' const fields = applyFieldsProxy('MyModel', { dbName: '', + schema: null, fields: [ { name: 'intField', diff --git a/packages/client/src/runtime/core/model/applyModel.ts b/packages/client/src/runtime/core/model/applyModel.ts index 8f220f04e133..20c26f9ce1f6 100644 --- a/packages/client/src/runtime/core/model/applyModel.ts +++ b/packages/client/src/runtime/core/model/applyModel.ts @@ -15,7 +15,6 @@ import type { UserArgs } from '../request/UserArgs' import { applyAggregates } from './applyAggregates' import { applyFieldsProxy } from './applyFieldsProxy' import { applyFluent } from './applyFluent' -import { adaptErrors } from './applyOrThrowErrorAdapter' import { dmmfToJSModelName } from './utils/dmmfToJSModelName' export type ModelAction = ( @@ -74,37 +73,41 @@ function modelActionsLayer(client: Client, dmmfModelName: string): CompositeProx getPropertyValue(key) { const dmmfActionName = key as DMMF.ModelAction - let requestFn = (params: InternalRequestParams) => client._request(params) - requestFn = adaptErrors(dmmfActionName, dmmfModelName, client._clientVersion, requestFn) - // we return a function as the model action that we want to expose // it takes user args and executes the request in a Prisma Promise const action = (paramOverrides: O.Optional) => (userArgs?: UserArgs) => { const callSite = getCallSite(client._errorFormat) // used for showing better errors - return client._createPrismaPromise((transaction) => { - const params: InternalRequestParams = { - // data and its dataPath for nested results - args: userArgs, - dataPath: [], + return client._createPrismaPromise( + (transaction) => { + const params: InternalRequestParams = { + // data and its dataPath for nested results + args: userArgs, + dataPath: [], - // action name and its related model - action: dmmfActionName, - model: dmmfModelName, + // action name and its related model + action: dmmfActionName, + model: dmmfModelName, - // method name for display only - clientMethod: `${jsModelName}.${key}`, - jsModelName, + // method name for display only + clientMethod: `${jsModelName}.${key}`, + jsModelName, - // transaction information - transaction, + // transaction information + transaction, - // stack trace - callsite: callSite, - } + // stack trace + callsite: callSite, + } - return requestFn({ ...params, ...paramOverrides }) - }) + return client._request({ ...params, ...paramOverrides }) + }, + { + action: dmmfActionName, + args: userArgs, + model: dmmfModelName, + }, + ) } // we give the control over action for building the fluent api diff --git a/packages/client/src/runtime/core/model/applyOrThrowErrorAdapter.ts b/packages/client/src/runtime/core/model/applyOrThrowErrorAdapter.ts deleted file mode 100644 index 06e00c99e495..000000000000 --- a/packages/client/src/runtime/core/model/applyOrThrowErrorAdapter.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { DMMF } from '@prisma/generator-helper' - -import { InternalRequestParams } from '../../getPrismaClient' -import { createErrorMessageWithContext } from '../../utils/createErrorMessageWithContext' -import { NotFoundError } from '../errors/NotFoundError' -import { PrismaClientKnownRequestError } from '../errors/PrismaClientKnownRequestError' -import { PrismaClientValidationError } from '../errors/PrismaClientValidationError' - -type RequestCallback = (requestParams: InternalRequestParams) => Promise - -/** - * `findUniqueOrThrow` and `findFirstOrThrow` are implemented in the engine, but before that, - * they used to be implemented on the client side. - * - * If the above mentioned methods returned no result, an error of type NotFoundError - * is thrown. This error is client-side and, in order to not break existing code relying on it, we - * need to wrap the request callback in a function that catches the error thrown by the Query Engine - * and rethrow it as a NotFoundError. - * - * @param action the action name to wrap, wrapping the request for actions other than - * findUniqueOrThrow and findFirstOrThrow is a noop - * @param dmmfModelName the model for which the action is being wrapped - * @param requestCallback the request callback to wrap - * @returns either the original callback or the original callback wrapped to throw a NotFoundError - * in case the engine throws its own error to inform a missing record for findUniqueOrThrow and - * findFirstOrThrow - */ -export function adaptErrors( - action: DMMF.ModelAction, - dmmfModelName: string, - clientVersion: string, - requestCallback: RequestCallback, -): RequestCallback { - if (action === DMMF.ModelAction.findFirstOrThrow || action === DMMF.ModelAction.findUniqueOrThrow) { - return applyOrThrowWrapper(dmmfModelName, clientVersion, requestCallback) - } - return requestCallback -} - -function applyOrThrowWrapper( - dmmfModelName: string, - clientVersion: string, - requestCallback: RequestCallback, -): RequestCallback { - return async (requestParams) => { - if ('rejectOnNotFound' in requestParams.args) { - const message = createErrorMessageWithContext({ - originalMethod: requestParams.clientMethod, - callsite: requestParams.callsite, - message: "'rejectOnNotFound' option is not supported", - }) - throw new PrismaClientValidationError(message, { clientVersion }) - } - const result = await requestCallback(requestParams).catch((e) => { - if (e instanceof PrismaClientKnownRequestError && e.code === 'P2025') { - throw new NotFoundError(`No ${dmmfModelName} found`, clientVersion) - } else { - throw e - } - }) - - return result - } -} diff --git a/packages/client/src/runtime/core/model/utils/defaultProxyHandlers.ts b/packages/client/src/runtime/core/model/utils/defaultProxyHandlers.ts index aa1aa585ed32..abb37bfd14a0 100644 --- a/packages/client/src/runtime/core/model/utils/defaultProxyHandlers.ts +++ b/packages/client/src/runtime/core/model/utils/defaultProxyHandlers.ts @@ -7,6 +7,7 @@ export const defaultPropertyDescriptor = { export function defaultProxyHandlers(ownKeys: (string | symbol)[]) { const _ownKeys = new Set(ownKeys) return { + getPrototypeOf: () => Object.prototype, getOwnPropertyDescriptor: () => defaultPropertyDescriptor, has: (target: T, prop: string | symbol) => _ownKeys.has(prop), set: (target: T, prop: string | symbol, value: any) => { diff --git a/packages/client/src/runtime/core/raw-query/rawQueryArgsMapper.ts b/packages/client/src/runtime/core/raw-query/rawQueryArgsMapper.ts index 9a793f7b07aa..c15e86e065a4 100644 --- a/packages/client/src/runtime/core/raw-query/rawQueryArgsMapper.ts +++ b/packages/client/src/runtime/core/raw-query/rawQueryArgsMapper.ts @@ -4,6 +4,7 @@ import { Sql } from 'sql-template-tag' import { MiddlewareArgsMapper } from '../../getPrismaClient' import { mssqlPreparedStatement } from '../../utils/mssqlPreparedStatement' import { serializeRawParameters } from '../../utils/serializeRawParameters' +import { isTypedSql } from '../types/exported' import { RawQueryArgs } from '../types/exported/RawQueryArgs' const ALTER_RE = /^(\s*alter\s)/i @@ -39,8 +40,13 @@ export const rawQueryArgsMapper = // TODO Clean up types let queryString = '' let parameters: { values: string; __prismaRawParameters__: true } | undefined - - if (Array.isArray(args)) { + if (isTypedSql(args)) { + queryString = args.sql + parameters = { + values: serializeRawParameters(args.values), + __prismaRawParameters__: true, + } + } else if (Array.isArray(args)) { // If this was called as prisma.$executeRaw(, [...values]), assume it is a pre-prepared SQL statement, and forward it without any changes const [query, ...values] = args queryString = query diff --git a/packages/client/src/runtime/core/request/PrismaPromise.ts b/packages/client/src/runtime/core/request/PrismaPromise.ts index 44b3049f73ab..fac72d7d009c 100644 --- a/packages/client/src/runtime/core/request/PrismaPromise.ts +++ b/packages/client/src/runtime/core/request/PrismaPromise.ts @@ -1,5 +1,11 @@ import { IsolationLevel } from '../engines' +export type PrismaOperationSpec = { + args: TArgs + action: TAction + model: string +} + export type PrismaPromiseBatchTransaction = { kind: 'batch' id: number @@ -23,15 +29,17 @@ export type PrismaPromiseTransaction = * original `Promise` are optional so that it can be backwards-compatible. * @see [[createPrismaPromise]] */ -export interface PrismaPromise extends Promise { +export interface PrismaPromise = any> extends Promise { + get spec(): TSpec + /** * Extension of the original `.then` function * @param onfulfilled same as regular promises * @param onrejected same as regular promises * @param transaction transaction options */ - then( - onfulfilled?: (value: A) => R1 | PromiseLike, + then( + onfulfilled?: (value: TResult) => R1 | PromiseLike, onrejected?: (error: unknown) => R2 | PromiseLike, transaction?: PrismaPromiseTransaction, ): Promise @@ -44,14 +52,14 @@ export interface PrismaPromise extends Promise { catch( onrejected?: ((reason: any) => R | PromiseLike) | undefined | null, transaction?: PrismaPromiseTransaction, - ): Promise + ): Promise /** * Extension of the original `.finally` function * @param onfinally same as regular promises * @param transaction transaction options */ - finally(onfinally?: (() => void) | undefined | null, transaction?: PrismaPromiseTransaction): Promise + finally(onfinally?: (() => void) | undefined | null, transaction?: PrismaPromiseTransaction): Promise /** * Called when executing a batch of regular tx diff --git a/packages/client/src/runtime/core/request/createPrismaPromise.ts b/packages/client/src/runtime/core/request/createPrismaPromise.ts index c482c538c518..dfa8e5e393c9 100644 --- a/packages/client/src/runtime/core/request/createPrismaPromise.ts +++ b/packages/client/src/runtime/core/request/createPrismaPromise.ts @@ -1,6 +1,6 @@ -import type { PrismaPromise, PrismaPromiseTransaction } from './PrismaPromise' +import type { PrismaOperationSpec, PrismaPromise, PrismaPromiseTransaction } from './PrismaPromise' -export type PrismaPromiseCallback = (transaction?: PrismaPromiseTransaction) => PrismaPromise +export type PrismaPromiseCallback = (transaction?: PrismaPromiseTransaction) => Promise /** * Creates a [[PrismaPromise]]. It is Prisma's implementation of `Promise` which @@ -11,7 +11,10 @@ export type PrismaPromiseCallback = (transaction?: PrismaPromiseTransaction) => * @see [[PrismaPromise]] * @returns */ -export type PrismaPromiseFactory = (callback: PrismaPromiseCallback) => PrismaPromise +export type PrismaPromiseFactory = >( + callback: PrismaPromiseCallback, + op?: T, +) => PrismaPromise /** * Creates a factory, that allows creating PrismaPromises, bound to a specific transactions @@ -19,9 +22,12 @@ export type PrismaPromiseFactory = (callback: PrismaPromiseCallback) => PrismaPr * @returns */ export function createPrismaPromiseFactory(transaction?: PrismaPromiseTransaction): PrismaPromiseFactory { - return function createPrismaPromise(callback) { + return function createPrismaPromise>( + callback: PrismaPromiseCallback, + op?: TSpec, + ): PrismaPromise { let promise: PrismaPromise | undefined - const _callback = (callbackTransaction = transaction) => { + const _callback = (callbackTransaction = transaction): PrismaPromise => { try { // promises cannot be triggered twice after resolving if (callbackTransaction === undefined || callbackTransaction?.kind === 'itx') { @@ -38,6 +44,10 @@ export function createPrismaPromiseFactory(transaction?: PrismaPromiseTransactio } return { + get spec() { + return op! + }, + then(onFulfilled, onRejected) { return _callback().then(onFulfilled, onRejected) }, @@ -65,8 +75,8 @@ export function createPrismaPromiseFactory(transaction?: PrismaPromiseTransactio function valueToPromise(thing: T): PrismaPromise { if (typeof thing['then'] === 'function') { - return thing as Promise + return thing as PrismaPromise } - return Promise.resolve(thing) + return Promise.resolve(thing) as PrismaPromise } diff --git a/packages/client/src/runtime/core/tracing/TracingHelper.ts b/packages/client/src/runtime/core/tracing/TracingHelper.ts index 9e1e31c13f30..9dda35e4eab4 100644 --- a/packages/client/src/runtime/core/tracing/TracingHelper.ts +++ b/packages/client/src/runtime/core/tracing/TracingHelper.ts @@ -1,5 +1,5 @@ import type { Context } from '@opentelemetry/api' -import { EngineSpanEvent, ExtendedSpanOptions, SpanCallback, TracingHelper } from '@prisma/internals' +import { EngineSpan, ExtendedSpanOptions, SpanCallback, TracingHelper } from '@prisma/internals' export const disabledTracingHelper: TracingHelper = { isEnabled() { @@ -12,7 +12,7 @@ export const disabledTracingHelper: TracingHelper = { return `00-10-10-00` }, - async createEngineSpan() {}, + dispatchEngineSpans() {}, getActiveContext() { return undefined @@ -36,8 +36,8 @@ class DynamicTracingHelper implements TracingHelper { return this.getGlobalTracingHelper().getTraceParent(context) } - createEngineSpan(event: EngineSpanEvent) { - return this.getGlobalTracingHelper().createEngineSpan(event) + dispatchEngineSpans(spans: EngineSpan[]) { + return this.getGlobalTracingHelper().dispatchEngineSpans(spans) } getActiveContext() { @@ -52,11 +52,6 @@ class DynamicTracingHelper implements TracingHelper { } } -export function getTracingHelper(previewFeatures: string[]): TracingHelper { - if (!previewFeatures.includes('tracing')) { - // no preview feature - tracing is disabled and can never be enabled - return disabledTracingHelper - } - // preview feature is enabled - tracing is enabled if PRISMA_INSTRUMENTATION global is set +export function getTracingHelper(): TracingHelper { return new DynamicTracingHelper() } diff --git a/packages/client/src/runtime/core/tracing/getTraceParent.test.ts b/packages/client/src/runtime/core/tracing/getTraceParent.test.ts index 0c03e038a36c..523c877472d0 100644 --- a/packages/client/src/runtime/core/tracing/getTraceParent.test.ts +++ b/packages/client/src/runtime/core/tracing/getTraceParent.test.ts @@ -1,7 +1,7 @@ import { getTracingHelper } from './TracingHelper' it('should return 00 traceparent when tracing is disabled', () => { - const helper = getTracingHelper([]) + const helper = getTracingHelper() const result = helper.getTraceParent() diff --git a/packages/client/src/runtime/core/types/ValidationError.ts b/packages/client/src/runtime/core/types/ValidationError.ts index bdd3b5a86e83..f061023792d9 100644 --- a/packages/client/src/runtime/core/types/ValidationError.ts +++ b/packages/client/src/runtime/core/types/ValidationError.ts @@ -26,4 +26,19 @@ export type IncludeOnScalarError = { selectionPath: string[] outputType?: OutputTypeDescription } -export type ValidationError = MutuallyExclusiveFieldsError | IncludeOnScalarError | EngineValidationError + +/** + * Invalid value is passed to selection field + */ +export type InvalidSelectionValueError = { + kind: 'InvalidSelectionValue' + selectionPath: string[] + + underlyingError: string +} + +export type ValidationError = + | MutuallyExclusiveFieldsError + | InvalidSelectionValueError + | IncludeOnScalarError + | EngineValidationError diff --git a/packages/client/src/runtime/core/types/exported/Extensions.ts b/packages/client/src/runtime/core/types/exported/Extensions.ts index 4a4d4cf9adca..a8e81e8ef8b0 100644 --- a/packages/client/src/runtime/core/types/exported/Extensions.ts +++ b/packages/client/src/runtime/core/types/exported/Extensions.ts @@ -2,10 +2,12 @@ import { Sql } from 'sql-template-tag' import { RequiredExtensionArgs as UserArgs } from './ExtensionArgs' import { ITXClientDenyList } from './itxClientDenyList' +import { InputJsonObject, JsonObject } from './Json' import { OperationPayload } from './Payload' import { PrismaPromise } from './Public' import { FluentOperation, GetFindResult, GetResult as GetOperationResult, Operation } from './Result' -import { Call, ComputeDeep, Exact, Fn, Optional, Path, Return, Select, ToTuple, UnwrapTuple } from './Utils' +import { TypedSql } from './TypedSql' +import { Call, ComputeDeep, Exact, Fn, Optional, Path, Return, Select, UnwrapTuple } from './Utils' export type InternalArgs< R = { [K in string]: { [K in string]: unknown } }, @@ -21,19 +23,23 @@ export type InternalArgs< export type DefaultArgs = InternalArgs<{}, {}, {}, {}> -export type GetPayloadResult< - Base extends Record, +export declare type GetPayloadResultExtensionKeys< R extends InternalArgs['result'][string], KR extends keyof R = string extends keyof R ? never : keyof R, -> = unknown extends R - ? Base - : { - [K in KR | keyof Base]: K extends KR - ? R[K] extends () => { compute: (...args: any) => infer C } - ? C - : never - : Base[K] - } +> = KR + +export declare type GetPayloadResultExtensionObject = { + [K in GetPayloadResultExtensionKeys]: R[K] extends () => { + compute: (...args: any) => infer C + } + ? C + : never +} +export declare type GetPayloadResult, R extends InternalArgs['result'][string]> = Omit< + Base, + GetPayloadResultExtensionKeys +> & + GetPayloadResultExtensionObject export type GetSelect< Base extends Record, @@ -41,8 +47,8 @@ export type GetSelect< KR extends keyof R = string extends keyof R ? never : keyof R, > = { [K in KR | keyof Base]?: K extends KR ? boolean : Base[K] } -export type GetOmit = { - [K in (string extends keyof R ? never : keyof R) | BaseKeys]?: boolean +export type GetOmit = { + [K in (string extends keyof R ? never : keyof R) | BaseKeys]?: boolean | ExtraType } /** Query */ @@ -135,7 +141,8 @@ export type DynamicResultExtensionNeeds = GetFindResult< TypeMap['model'][M]['payload'], - { select: S } + { select: S }, + {} > /** Model */ @@ -145,7 +152,8 @@ export type DynamicModelExtensionArgs< M_, TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, - ExtArgs extends Record + ExtArgs extends Record, + ClientOptions > = { [K in keyof M_]: K extends '$allModels' @@ -155,8 +163,8 @@ export type DynamicModelExtensionArgs< ? & { [P in keyof M_[K]]?: unknown } & { [K: symbol]: { - ctx: & DynamicModelExtensionThis, ExtArgs> - & { $parent: DynamicClientExtensionThis } + ctx: & DynamicModelExtensionThis, ExtArgs, ClientOptions> + & { $parent: DynamicClientExtensionThis } & { $name: ModelKey } & { /** @@ -174,12 +182,13 @@ export type DynamicModelExtensionThis< TypeMap extends TypeMapDef, M extends PropertyKey, ExtArgs extends Record, + ClientOptions > = { [P in keyof ExtArgs['model'][Uncapitalize]]: Return][P]> } & { [P in Exclude]>]: - DynamicModelExtensionOperationFn + DynamicModelExtensionOperationFn } & { [P in Exclude<'fields', keyof ExtArgs['model'][Uncapitalize]>]: TypeMap['model'][M]['fields'] @@ -191,13 +200,14 @@ export type DynamicModelExtensionOperationFn< TypeMap extends TypeMapDef, M extends PropertyKey, P extends PropertyKey, + ClientOptions, > = {} extends TypeMap['model'][M]['operations'][P]['args'] // will match fully optional args ? ( args?: Exact, - ) => DynamicModelExtensionFnResult + ) => DynamicModelExtensionFnResult, ClientOptions> : ( args: Exact, - ) => DynamicModelExtensionFnResult + ) => DynamicModelExtensionFnResult, ClientOptions> // prettier-ignore export type DynamicModelExtensionFnResult< @@ -205,18 +215,20 @@ export type DynamicModelExtensionFnResult< M extends PropertyKey, A, P extends PropertyKey, - Null = DynamicModelExtensionFnResultNull

, + Null, + ClientOptions > = P extends FluentOperation - ? & DynamicModelExtensionFluentApi - & PrismaPromise | Null> - : PrismaPromise> + ? & DynamicModelExtensionFluentApi + & PrismaPromise | Null> + : PrismaPromise> export type DynamicModelExtensionFnResultBase< TypeMap extends TypeMapDef, M extends PropertyKey, A, P extends PropertyKey, -> = GetOperationResult + ClientOptions, +> = GetOperationResult // prettier-ignore export type DynamicModelExtensionFluentApi< @@ -224,16 +236,18 @@ export type DynamicModelExtensionFluentApi< M extends PropertyKey, P extends PropertyKey, Null, + ClientOptions, > = { [K in keyof TypeMap['model'][M]['payload']['objects']]: ( args?: Exact>, ) => - & PrismaPromise, [K]> | Null> + & PrismaPromise, [K]> | Null> & DynamicModelExtensionFluentApi< TypeMap, (TypeMap['model'][M]['payload']['objects'][K] & {})['name'], P, - Null | Select + Null | Select, + ClientOptions > } @@ -248,12 +262,13 @@ export type DynamicClientExtensionArgs< TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record, + ClientOptions, > = { [P in keyof C_]: unknown } & { [K: symbol]: { - ctx: Optional, ITXClientDenyList> & { - $parent: Optional, ITXClientDenyList> + ctx: Optional, ITXClientDenyList> & { + $parent: Optional, ITXClientDenyList> } } } @@ -263,38 +278,38 @@ export type DynamicClientExtensionThis< TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record, + ClientOptions > = { [P in keyof ExtArgs['client']]: Return } & { [P in Exclude]: - DynamicModelExtensionThis, ExtArgs> + DynamicModelExtensionThis, ExtArgs, ClientOptions> } & { - [P in Exclude]: < - R = GetOperationResult, - >( - ...args: ToTuple - ) => PrismaPromise + [P in Exclude]: P extends keyof ClientOtherOps ? ClientOtherOps[P] : never } & { [P in Exclude]: - DynamicClientExtensionThisBuiltin[P] + DynamicClientExtensionThisBuiltin[P] } & { [K: symbol]: { types: TypeMap['other'] } } -export type ClientBuiltInProp = keyof DynamicClientExtensionThisBuiltin +export type ClientBuiltInProp = keyof DynamicClientExtensionThisBuiltin export type DynamicClientExtensionThisBuiltin< TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record, + ClientOptions, > = { - $extends: ExtendsHook<'extends', TypeMapCb, ExtArgs> + $extends: ExtendsHook<'extends', TypeMapCb, ExtArgs, Call, ClientOptions> $transaction

[]>( arg: [...P], options?: { isolationLevel?: TypeMap['meta']['txIsolationLevel'] }, ): Promise> $transaction( - fn: (client: Omit, ITXClientDenyList>) => Promise, + fn: ( + client: Omit, ITXClientDenyList>, + ) => Promise, options?: { maxWait?: number; timeout?: number; isolationLevel?: TypeMap['meta']['txIsolationLevel'] }, ): Promise $disconnect(): Promise @@ -308,6 +323,7 @@ export interface ExtendsHook< TypeMapCb extends TypeMapCbDef, ExtArgs extends Record, TypeMap extends TypeMapDef = Call, + ClientOptions = {}, > { extArgs: ExtArgs < @@ -330,16 +346,18 @@ export interface ExtendsHook< MergedArgs extends InternalArgs = MergeExtArgs, >( extension: - | ((client: DynamicClientExtensionThis) => { $extends: { extArgs: Args } }) + | ((client: DynamicClientExtensionThis) => { + $extends: { extArgs: Args } + }) | { name?: string query?: DynamicQueryExtensionArgs result?: DynamicResultExtensionArgs & R - model?: DynamicModelExtensionArgs & M - client?: DynamicClientExtensionArgs & C + model?: DynamicModelExtensionArgs & M + client?: DynamicClientExtensionArgs & C }, ): { - extends: DynamicClientExtensionThis, TypeMapCb, MergedArgs> + extends: DynamicClientExtensionThis, TypeMapCb, MergedArgs, ClientOptions> define: (client: any) => { $extends: { extArgs: Args } } }[Variant] } @@ -364,7 +382,6 @@ export type AllModelsToStringIndex< export type TypeMapDef = Record /* DevTypeMapDef */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars export type DevTypeMapDef = { meta: { modelProps: string @@ -385,7 +402,23 @@ export type DevTypeMapFnDef = { payload: OperationPayload } -export type TypeMapCbDef = Fn<{ extArgs: InternalArgs }, TypeMapDef> +// TODO: move to result.ts +export type ClientOptionDef = + | undefined + | { + [K in string]: any + } + +export type ClientOtherOps = { + $queryRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise + $queryRawTyped(query: TypedSql): PrismaPromise + $queryRawUnsafe(query: string, ...values: any[]): PrismaPromise + $executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise + $executeRawUnsafe(query: string, ...values: any[]): PrismaPromise + $runCommandRaw(command: InputJsonObject): PrismaPromise +} + +export type TypeMapCbDef = Fn<{ extArgs: InternalArgs; clientOptions: ClientOptionDef }, TypeMapDef> export type ModelKey = M extends keyof TypeMap['model'] ? M diff --git a/packages/client/src/runtime/core/types/exported/JsApi.ts b/packages/client/src/runtime/core/types/exported/JsApi.ts index 91e22e5e85ec..443d0dfde9fb 100644 --- a/packages/client/src/runtime/core/types/exported/JsApi.ts +++ b/packages/client/src/runtime/core/types/exported/JsApi.ts @@ -4,6 +4,7 @@ import Decimal from 'decimal.js' import { DecimalJsLike } from './DecimalJsLike' import { FieldRef } from './FieldRef' import { ObjectEnumValue } from './ObjectEnums' +import { Skip } from './Skip' export type Action = keyof typeof DMMF.ModelAction | 'executeRaw' | 'queryRaw' | 'runCommandRaw' @@ -22,6 +23,7 @@ export type JsInputValue = | JsonConvertible | FieldRef | JsInputValue[] + | Skip | { [key: string]: JsInputValue } export interface JsonConvertible { @@ -35,9 +37,9 @@ export type JsArgs = { [argName: string]: JsInputValue } -export type Selection = Record +export type Selection = Record -export type Omission = Record +export type Omission = Record export type RawParameters = { __prismaRawParameters__: true diff --git a/packages/client/src/runtime/core/types/exported/Json.ts b/packages/client/src/runtime/core/types/exported/Json.ts new file mode 100644 index 000000000000..e11c952fb869 --- /dev/null +++ b/packages/client/src/runtime/core/types/exported/Json.ts @@ -0,0 +1,45 @@ +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON object. + * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. + */ +export type JsonObject = { [Key in string]?: JsonValue } + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON array. + */ +export interface JsonArray extends Array {} + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches any valid JSON value. + */ +export type JsonValue = string | number | boolean | JsonObject | JsonArray | null + +/** + * Matches a JSON object. + * Unlike \`JsonObject\`, this type allows undefined and read-only properties. + */ +export type InputJsonObject = { readonly [Key in string]?: InputJsonValue | null } + +/** + * Matches a JSON array. + * Unlike \`JsonArray\`, readonly arrays are assignable to this type. + */ +export interface InputJsonArray extends ReadonlyArray {} + +/** + * Matches any valid value that can be used as an input for operations like + * create and update as the value of a JSON field. Unlike \`JsonValue\`, this + * type allows read-only arrays and read-only object properties and disallows + * \`null\` at the top level. + * + * \`null\` cannot be used as the value of a JSON field because its meaning + * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or + * \`Prisma.DbNull\` to clear the JSON value and set the field to the database + * NULL value instead. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values + */ +export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown } diff --git a/packages/client/src/runtime/core/types/exported/Param.ts b/packages/client/src/runtime/core/types/exported/Param.ts new file mode 100644 index 000000000000..ac433499076c --- /dev/null +++ b/packages/client/src/runtime/core/types/exported/Param.ts @@ -0,0 +1,8 @@ +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export type Param = { + readonly name: $Value +} + +export function Param<$Type, $Value extends string>(name: $Value): Param<$Type, $Value> { + return { name } +} diff --git a/packages/client/src/runtime/core/types/exported/Payload.ts b/packages/client/src/runtime/core/types/exported/Payload.ts index a7e36c1db4fc..855f2e9fbeb7 100644 --- a/packages/client/src/runtime/core/types/exported/Payload.ts +++ b/packages/client/src/runtime/core/types/exported/Payload.ts @@ -1,4 +1,5 @@ export type OperationPayload = { + name: string scalars: { [ScalarName in string]: unknown } diff --git a/packages/client/src/runtime/core/types/exported/Public.ts b/packages/client/src/runtime/core/types/exported/Public.ts index e8fea5d58e28..30dfe94e477f 100644 --- a/packages/client/src/runtime/core/types/exported/Public.ts +++ b/packages/client/src/runtime/core/types/exported/Public.ts @@ -1,5 +1,3 @@ -/* eslint-disable prettier/prettier */ - import { GetResult, Operation } from './Result' import { Exact } from './Utils' @@ -19,7 +17,7 @@ export type Args = export type Result = T extends { [K: symbol]: { types: { payload: any } } } ? GetResult - : GetResult<{ composites: {}, objects: {}, scalars: {} }, {}, F> + : GetResult<{ composites: {}, objects: {}, scalars: {}, name: '' }, {}, F> // prettier-ignore // eslint-disable-next-line @typescript-eslint/no-unused-vars diff --git a/packages/client/src/runtime/core/types/exported/RawQueryArgs.ts b/packages/client/src/runtime/core/types/exported/RawQueryArgs.ts index b9561a7104cc..4a97ca720c36 100644 --- a/packages/client/src/runtime/core/types/exported/RawQueryArgs.ts +++ b/packages/client/src/runtime/core/types/exported/RawQueryArgs.ts @@ -1,3 +1,5 @@ import { RawValue, Sql } from 'sql-template-tag' -export type RawQueryArgs = Sql | [query: string, ...values: RawValue[]] +import { UnknownTypedSql } from './TypedSql' + +export type RawQueryArgs = Sql | UnknownTypedSql | [query: string, ...values: RawValue[]] diff --git a/packages/client/src/runtime/core/types/exported/Result.ts b/packages/client/src/runtime/core/types/exported/Result.ts index ad30bac97586..8448e581597a 100644 --- a/packages/client/src/runtime/core/types/exported/Result.ts +++ b/packages/client/src/runtime/core/types/exported/Result.ts @@ -1,7 +1,7 @@ -/* eslint-disable prettier/prettier */ - +import { JsonObject } from './Json' import { OperationPayload } from './Payload' -import { Compute, Equals, JsonObject, Omit, Select } from './Utils' +import { Skip } from './Skip' +import { Compute, Equals, PatchFlat, Select } from './Utils' // prettier-ignore export type Operation = @@ -18,6 +18,7 @@ export type Operation = // updates | 'update' | 'updateMany' +| 'updateManyAndReturn' | 'upsert' // deletes | 'delete' @@ -49,41 +50,41 @@ export type FluentOperation = export type Count = { [K in keyof O]: Count } & {} // prettier-ignore -export type TrueKeys = { - [K in keyof T]: T[K] extends true ? K : never -}[keyof T] - -export type GetFindResult

= A extends { omit: infer Omission } - ? Compute, TrueKeys>> - : GetSelectIncludeResult - -// prettier-ignore -export type GetSelectIncludeResult

= - Equals extends 1 ? DefaultSelection

: +export type GetFindResult

= + Equals extends 1 ? DefaultSelection : A extends | { select: infer S extends object } & Record | { include: infer I extends object } & Record ? { - [K in keyof S | keyof I as (S & I)[K] extends false | undefined | null ? never : K]: + [K in keyof S | keyof I as (S & I)[K] extends false | undefined | Skip | null ? never : K]: (S & I)[K] extends object ? P extends SelectablePayloadFields - ? O extends OperationPayload ? GetFindResult[] : never + ? O extends OperationPayload ? GetFindResult[] : never : P extends SelectablePayloadFields - ? O extends OperationPayload ? GetFindResult | SelectField & null : never + ? O extends OperationPayload ? GetFindResult | SelectField & null : never : K extends '_count' - ? Count> + ? Count> : never : P extends SelectablePayloadFields - ? O extends OperationPayload ? DefaultSelection[] : never + ? O extends OperationPayload ? DefaultSelection[] : never : P extends SelectablePayloadFields - ? O extends OperationPayload ? DefaultSelection | SelectField & null : never + ? O extends OperationPayload ? DefaultSelection | SelectField & null : never : P extends { scalars: { [k in K]: infer O } } ? O : K extends '_count' ? Count : never - } & (A extends { include: any } & Record ? DefaultSelection

: unknown) - : DefaultSelection

+ } & ( + A extends { include: any } & Record + // The `A & { omit: ['omit'] }` hack is necessary because otherwise, when we have nested `select` or `include`, + // TypeScript at some point gives up remembering what keys `A` has exactly and discards the `omit` for whatever + // reason. Splitting the top-level conditional type above into two separate branches and handling `select` and + // `include` separately so we don't need to use `A extends { include: any } & Record` above in + // this branch here makes zero difference. Re-adding the `omit` key here makes TypeScript remember it. + ? DefaultSelection + : unknown + ) + : DefaultSelection // prettier-ignore export type SelectablePayloadFields = @@ -92,18 +93,23 @@ export type SelectablePayloadFields = // prettier-ignore export type SelectField

, K extends PropertyKey> = - P extends { objects: Record } + P extends { objects: Record } ? P['objects'][K] : P extends { composites: Record } ? P['composites'][K] : never // prettier-ignore -export type DefaultSelection

= UnwrapPayload<{ default: P }>['default'] +export type DefaultSelection = + Args extends { omit: infer LocalOmit } + // Both local and global omit, local settings override globals + ? ApplyOmit['default'], PatchFlat>>> + // global only + : ApplyOmit['default'], ExtractGlobalOmit>> // prettier-ignore export type UnwrapPayload

= {} extends P ? unknown : { - [K in keyof P]: + [K in keyof P]: P[K] extends { scalars: infer S, composites: infer C }[] ? Array> : P[K] extends { scalars: infer S, composites: infer C } | null @@ -111,6 +117,12 @@ export type UnwrapPayload

= {} extends P ? unknown : { : never }; +export type ApplyOmit = Compute<{ + [K in keyof T as OmitValue extends true ? never : K]: T[K] +}> + +export type OmitValue = Key extends keyof Omit ? Omit[Key] : false + export type GetCountResult = A extends { select: infer S } ? (S extends true ? number : Count) : number export type Aggregate = '_count' | '_max' | '_min' | '_avg' | '_sum' @@ -129,33 +141,41 @@ export type GetBatchResult = { count: number } export type GetGroupByResult

= A extends { by: string[] } ? Array & { [K in A['by'][number]]: P['scalars'][K] }> - : A extends { by: string } + : A extends { by: string } ? Array & { [K in A['by']]: P['scalars'][K]}> : {}[] // prettier-ignore -export type GetResult

= { - findUnique: GetFindResult | null, - findUniqueOrThrow: GetFindResult, - findFirst: GetFindResult | null, - findFirstOrThrow: GetFindResult, - findMany: GetFindResult[], - create: GetFindResult, +export type GetResult = { + findUnique: GetFindResult | null, + findUniqueOrThrow: GetFindResult, + findFirst: GetFindResult | null, + findFirstOrThrow: GetFindResult, + findMany: GetFindResult[], + create: GetFindResult, createMany: GetBatchResult, - createManyAndReturn: GetFindResult[], - update: GetFindResult, + createManyAndReturn: GetFindResult[], + update: GetFindResult, updateMany: GetBatchResult, - upsert: GetFindResult, - delete: GetFindResult, + updateManyAndReturn: GetFindResult[], + upsert: GetFindResult, + delete: GetFindResult, deleteMany: GetBatchResult, - aggregate: GetAggregateResult, - count: GetCountResult, - groupBy: GetGroupByResult, + aggregate: GetAggregateResult, + count: GetCountResult, + groupBy: GetGroupByResult, $queryRaw: unknown, + $queryRawTyped: unknown, $executeRaw: number, $queryRawUnsafe: unknown, $executeRawUnsafe: number, $runCommandRaw: JsonObject, findRaw: JsonObject, aggregateRaw: JsonObject, -}[O] +}[OperationName] + +// prettier-ignore +export type ExtractGlobalOmit = + Options extends { omit: { [K in ModelName]: infer GlobalOmit } } + ? GlobalOmit + : {} diff --git a/packages/client/src/runtime/core/types/exported/Skip.ts b/packages/client/src/runtime/core/types/exported/Skip.ts new file mode 100644 index 000000000000..2953550842df --- /dev/null +++ b/packages/client/src/runtime/core/types/exported/Skip.ts @@ -0,0 +1,23 @@ +// private symbol that prevents direct construction of a class +const secret = Symbol() + +export class Skip { + constructor(param?: symbol) { + if (param !== secret) { + throw new Error(`Skip instance can not be constructed directly`) + } + } + + ifUndefined(value: T | undefined): T | Skip { + if (value === undefined) { + return skip + } + return value + } +} + +export const skip = new Skip(secret) + +export function isSkip(value: unknown): value is Skip { + return value instanceof Skip +} diff --git a/packages/client/src/runtime/core/types/exported/TypedSql.ts b/packages/client/src/runtime/core/types/exported/TypedSql.ts new file mode 100644 index 000000000000..1376aeb3bee3 --- /dev/null +++ b/packages/client/src/runtime/core/types/exported/TypedSql.ts @@ -0,0 +1,42 @@ +type TypedSqlInternal = { + sql: string + values: readonly unknown[] +} + +const internals = new WeakMap, TypedSqlInternal>() +const TypedSqlMarker = '$$PrismaTypedSql' + +export declare const PrivateResultType: unique symbol + +export class TypedSql { + declare [PrivateResultType]: Result + + constructor(sql: string, values: Values) { + internals.set(this, { + sql, + values, + }) + + Object.defineProperty(this, TypedSqlMarker, { value: TypedSqlMarker }) + } + + get sql(): string { + return internals.get(this)!.sql + } + + get values(): Values { + return internals.get(this)!.values as Values + } +} + +export type UnknownTypedSql = TypedSql + +export function makeTypedQueryFactory(sql: string) { + return (...values) => new TypedSql(sql, values) +} + +// used so we could detect typed sql instances, created by different instance of runtime +// or after hmr trigger +export function isTypedSql(value: unknown): value is UnknownTypedSql { + return value != null && value[TypedSqlMarker] === TypedSqlMarker +} diff --git a/packages/client/src/runtime/core/types/exported/Utils.ts b/packages/client/src/runtime/core/types/exported/Utils.ts index 3783908576e7..69d8eb5f584c 100644 --- a/packages/client/src/runtime/core/types/exported/Utils.ts +++ b/packages/client/src/runtime/core/types/exported/Utils.ts @@ -41,10 +41,6 @@ export type Exact = export type Cast = A extends W ? A : W -export type JsonObject = { [Key in string]?: JsonValue } -export interface JsonArray extends Array {} -export type JsonValue = string | number | boolean | JsonObject | JsonArray | null - export type Record = { [P in T]: U } diff --git a/packages/client/src/runtime/core/types/exported/index.ts b/packages/client/src/runtime/core/types/exported/index.ts index 3b4eb0577a1e..8020ed2846af 100644 --- a/packages/client/src/runtime/core/types/exported/index.ts +++ b/packages/client/src/runtime/core/types/exported/index.ts @@ -5,9 +5,12 @@ export * from './Extensions' export * from './FieldRef' export * from './itxClientDenyList' export * from './JsApi' +export * from './Json' export * from './ObjectEnums' +export * from './Param' export * from './Payload' export * from './Public' export * from './RawQueryArgs' export * from './Result' +export * from './TypedSql' export * from './Utils' diff --git a/packages/client/src/runtime/core/types/index.ts b/packages/client/src/runtime/core/types/index.ts index d29c1a451525..d274efa5acf2 100644 --- a/packages/client/src/runtime/core/types/index.ts +++ b/packages/client/src/runtime/core/types/index.ts @@ -10,5 +10,8 @@ export { Extensions } export { Utils } export { Public } +export { isSkip, Skip, skip } from './exported/Skip' +export { type UnknownTypedSql } from './exported/TypedSql' + /** General types */ export { type OperationPayload as Payload } diff --git a/packages/client/src/runtime/core/types/internal/ExtensionsInternalArgs.ts b/packages/client/src/runtime/core/types/internal/ExtensionsInternalArgs.ts index 57630a0bb4e6..acb54768baad 100644 --- a/packages/client/src/runtime/core/types/internal/ExtensionsInternalArgs.ts +++ b/packages/client/src/runtime/core/types/internal/ExtensionsInternalArgs.ts @@ -1,12 +1,10 @@ import { RequestParams } from '../../../RequestHandler' +import { CustomDataProxyFetch } from '../../engines' import { IsolationLevel } from '../../engines/common/types/Transaction' -import { Fetch } from '../../engines/data-proxy/utils/request' import { QueryOptions } from '../exported/ExtensionArgs' import { JsArgs } from '../exported/JsApi' import { RawQueryArgs } from '../exported/RawQueryArgs' -export type CustomDataProxyFetch = (fetch: Fetch) => Fetch - export type BatchQueryOptionsCbArgs = { args: BatchArgs // TODO: hide internalParams before making batch api public diff --git a/packages/client/src/runtime/externalToInternalDmmf.ts b/packages/client/src/runtime/externalToInternalDmmf.ts index 9e6310339f82..fea33ab474c6 100644 --- a/packages/client/src/runtime/externalToInternalDmmf.ts +++ b/packages/client/src/runtime/externalToInternalDmmf.ts @@ -44,6 +44,7 @@ function getMappings(mappings: ExternalDMMF.Mappings, datamodel: DMMF.Datamodel) update: mapping.updateOne || mapping.updateSingle || mapping.update, deleteMany: mapping.deleteMany, updateMany: mapping.updateMany, + updateManyAndReturn: mapping.updateManyAndReturn, upsert: mapping.upsertOne || mapping.upsertSingle || mapping.upsert, aggregate: mapping.aggregate, groupBy: mapping.groupBy, diff --git a/packages/client/src/runtime/getPrismaClient.ts b/packages/client/src/runtime/getPrismaClient.ts index ec7009b6700b..2ac91c009ec6 100644 --- a/packages/client/src/runtime/getPrismaClient.ts +++ b/packages/client/src/runtime/getPrismaClient.ts @@ -1,8 +1,8 @@ import type { Context } from '@opentelemetry/api' import Debug, { clearLogs } from '@prisma/debug' -import { bindAdapter, type DriverAdapter } from '@prisma/driver-adapter-utils' +import { bindAdapter, type DriverAdapter, type ErrorCapturingDriverAdapter } from '@prisma/driver-adapter-utils' import { version as enginesVersion } from '@prisma/engines-version/package.json' -import type { EnvValue, GeneratorConfig } from '@prisma/generator-helper' +import type { ActiveConnectorType, EnvValue, GeneratorConfig } from '@prisma/generator-helper' import type { LoadedEnv } from '@prisma/internals' import { ExtendedSpanOptions, logger, TracingHelper, tryLoadEnvs } from '@prisma/internals' import { AsyncResource } from 'async_hooks' @@ -18,9 +18,9 @@ import { PrismaClientValidationError, } from '.' import { addProperty, createCompositeProxy, removeProperties } from './core/compositeProxy' -import { BatchTransactionOptions, Engine, EngineConfig, Fetch, Options } from './core/engines' +import { BatchTransactionOptions, Engine, EngineConfig, Options } from './core/engines' import { AccelerateEngineConfig } from './core/engines/accelerate/AccelerateEngine' -import { WasmLoadingConfig } from './core/engines/common/Engine' +import { CompilerWasmLoadingConfig, CustomDataProxyFetch, EngineWasmLoadingConfig } from './core/engines/common/Engine' import { EngineEvent, LogEmitter } from './core/engines/common/types/Events' import type * as Transaction from './core/engines/common/types/Transaction' import { getBatchRequestPayload } from './core/engines/common/utils/getBatchRequestPayload' @@ -35,7 +35,7 @@ import { getDatasourceOverrides } from './core/init/getDatasourceOverrides' import { getEngineInstance } from './core/init/getEngineInstance' import { getPreviewFeatures } from './core/init/getPreviewFeatures' import { resolveDatasourceUrl } from './core/init/resolveDatasourceUrl' -import { serializeJsonQuery } from './core/jsonProtocol/serializeJsonQuery' +import { GlobalOmitOptions, serializeJsonQuery } from './core/jsonProtocol/serializeJsonQuery' import { MetricsClient } from './core/metrics/MetricsClient' import { applyModelsAndClientExtensions, @@ -61,13 +61,13 @@ import { getLockCountPromise } from './core/transaction/utils/createLockCountPro import { itxClientDenyList } from './core/types/exported/itxClientDenyList' import { JsInputValue } from './core/types/exported/JsApi' import { RawQueryArgs } from './core/types/exported/RawQueryArgs' +import { UnknownTypedSql } from './core/types/exported/TypedSql' import { getLogLevel } from './getLogLevel' import type { QueryMiddleware, QueryMiddlewareParams } from './MiddlewareHandler' import { MiddlewareHandler } from './MiddlewareHandler' import { RequestHandler } from './RequestHandler' import { CallSite, getCallSite } from './utils/CallSite' import { clientVersion } from './utils/clientVersion' -import { deserializeRawResults } from './utils/deserializeRawResults' import { validatePrismaClientOptions } from './utils/validatePrismaClientOptions' import { waitForBatch } from './utils/waitForBatch' @@ -76,7 +76,7 @@ const debug = Debug('prisma:client') declare global { // eslint-disable-next-line no-var var NODE_CLIENT: true - const TARGET_BUILD_TYPE: 'binary' | 'library' | 'edge' | 'wasm' | 'react-native' + const TARGET_BUILD_TYPE: 'binary' | 'library' | 'edge' | 'wasm' | 'react-native' | 'client' } // used by esbuild for tree-shaking @@ -131,6 +131,8 @@ export type PrismaClientOptions = { */ log?: Array + omit?: GlobalOmitOptions + /** * @internal * You probably don't want to use this. \`__internal\` is used by internal tooling. @@ -174,7 +176,7 @@ export type InternalRequestParams = { /** Used to convert args for middleware and back */ middlewareArgsMapper?: MiddlewareArgsMapper /** Used for Accelerate client extension via Data Proxy */ - customDataProxyFetch?: (fetch: Fetch) => Fetch + customDataProxyFetch?: CustomDataProxyFetch } & Omit export type MiddlewareArgsMapper = { @@ -237,7 +239,7 @@ export type GetPrismaClientConfig = { clientVersion: string engineVersion: string datasourceNames: string[] - activeProvider: string + activeProvider: ActiveConnectorType /** * The contents of the schema encoded into a string @@ -299,7 +301,8 @@ export type GetPrismaClientConfig = { /** * Optional wasm loading configuration */ - engineWasm?: WasmLoadingConfig + engineWasm?: EngineWasmLoadingConfig + compilerWasm?: CompilerWasmLoadingConfig } const TX_ID = Symbol.for('prisma.client.transaction.id') @@ -329,6 +332,7 @@ export function getPrismaClient(config: GetPrismaClientConfig) { _middlewares = new MiddlewareHandler() _previewFeatures: string[] _activeProvider: string + _globalOmit?: GlobalOmitOptions _extensions: MergedExtensionsList _engine: Engine /** @@ -347,8 +351,6 @@ export function getPrismaClient(config: GetPrismaClientConfig) { validatePrismaClientOptions(optionsArg, config) } - const adapter = optionsArg?.adapter ? bindAdapter(optionsArg.adapter) : undefined - // prevents unhandled error events when users do not explicitly listen to them const logEmitter = new EventEmitter().on('error', () => {}) as LogEmitter @@ -356,7 +358,8 @@ export function getPrismaClient(config: GetPrismaClientConfig) { this._previewFeatures = getPreviewFeatures(config) this._clientVersion = config.clientVersion ?? clientVersion this._activeProvider = config.activeProvider - this._tracingHelper = getTracingHelper(this._previewFeatures) + this._globalOmit = optionsArg?.omit + this._tracingHelper = getTracingHelper() const envPaths = { rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath), @@ -364,6 +367,38 @@ export function getPrismaClient(config: GetPrismaClientConfig) { config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath), } + /** + * Initialise and validate the Driver Adapter, if provided. + */ + + let adapter: ErrorCapturingDriverAdapter | undefined + if (optionsArg?.adapter) { + adapter = bindAdapter(optionsArg.adapter) + + // Note: + // - `getConfig(..).datasources[0].provider` can be `postgresql`, `postgres`, `mysql`, or other known providers + // - `getConfig(..).datasources[0].activeProvider`, stored in `config.activeProvider`, can be `postgresql`, `mysql`, or other known providers + // - `adapter.provider` can be `postgres`, `mysql`, or `sqlite`, and changing this requires changes to Rust as well, + // see https://github.com/prisma/prisma-engines/blob/d116c37d7d27aee74fdd840fc85ab2b45407e5ce/query-engine/driver-adapters/src/types.rs#L22-L23. + // + // TODO: Normalize these provider names once and for all in Prisma 6. + const normalizedActiveProvider = config.activeProvider === 'postgresql' ? 'postgres' : config.activeProvider + + if (adapter.provider !== normalizedActiveProvider) { + throw new PrismaClientInitializationError( + `The Driver Adapter \`${adapter.adapterName}\`, based on \`${adapter.provider}\`, is not compatible with the provider \`${normalizedActiveProvider}\` specified in the Prisma schema.`, + this._clientVersion, + ) + } + + if (optionsArg.datasources || optionsArg.datasourceUrl !== undefined) { + throw new PrismaClientInitializationError( + `Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.`, + this._clientVersion, + ) + } + } + const loadedEnv = // for node we load the env from files, for edge only via env injections (NODE_CLIENT && !adapter && tryLoadEnvs(envPaths, { conflictCheck: 'none' })) || config.injectableEdgeEnv?.() @@ -422,6 +457,7 @@ export function getPrismaClient(config: GetPrismaClientConfig) { env: loadedEnv?.parsed ?? {}, flags: [], engineWasm: config.engineWasm, + compilerWasm: config.compilerWasm, clientVersion: config.clientVersion, engineVersion: config.engineVersion, previewFeatures: this._previewFeatures, @@ -650,7 +686,7 @@ Or read our docs at https://www.prisma.io/docs/concepts/components/prisma-client callsite: getCallSite(this._errorFormat), dataPath: [], middlewareArgsMapper, - }).then(deserializeRawResults) + }) } /** @@ -680,6 +716,22 @@ Or read our docs at https://www.prisma.io/docs/concepts/components/prisma-client }) } + /** + * Counterpart to $queryRaw, that returns strongly typed results + * @param typedSql + */ + $queryRawTyped(typedSql: UnknownTypedSql) { + return this._createPrismaPromise((transaction) => { + if (!this._hasPreviewFlag('typedSql')) { + throw new PrismaClientValidationError( + '`typedSql` preview feature must be enabled in order to access $queryRawTyped API', + { clientVersion: this._clientVersion }, + ) + } + return this.$queryRawInternal(transaction, '$queryRawTyped', typedSql) + }) + } + /** * Unsafe counterpart of `$queryRaw` that is susceptible to SQL injections * @see https://github.com/prisma/prisma/issues/7142 @@ -889,6 +941,7 @@ Or read our docs at https://www.prisma.io/docs/concepts/components/prisma-client args: requestParams.args, extensions: this._extensions, runtimeDataModel: this._runtimeDataModel, + globalOmit: this._globalOmit, }) } @@ -936,6 +989,7 @@ Or read our docs at https://www.prisma.io/docs/concepts/components/prisma-client errorFormat: this._errorFormat, clientVersion: this._clientVersion, previewFeatures: this._previewFeatures, + globalOmit: this._globalOmit, }), ) @@ -966,6 +1020,7 @@ Or read our docs at https://www.prisma.io/docs/concepts/components/prisma-client unpacker, otelParentCtx, otelChildCtx: this._tracingHelper.getActiveContext(), + globalOmit: this._globalOmit, customDataProxyFetch, }) } catch (e) { diff --git a/packages/client/src/runtime/index.ts b/packages/client/src/runtime/index.ts index e8edb5a62d66..053865045c34 100644 --- a/packages/client/src/runtime/index.ts +++ b/packages/client/src/runtime/index.ts @@ -7,12 +7,14 @@ export { Extensions } export { Public } export { type BaseDMMF, type DMMF } from '../generation/dmmf-types' -export { NotFoundError } from './core/errors/NotFoundError' +export { type JsonBatchQuery, type JsonQuery } from './core/engines' export { PrismaClientInitializationError } from './core/errors/PrismaClientInitializationError' export { PrismaClientKnownRequestError } from './core/errors/PrismaClientKnownRequestError' export { PrismaClientRustPanicError } from './core/errors/PrismaClientRustPanicError' export { PrismaClientUnknownRequestError } from './core/errors/PrismaClientUnknownRequestError' export { PrismaClientValidationError } from './core/errors/PrismaClientValidationError' +export { deserializeJsonResponse } from './core/jsonProtocol/deserializeJsonResponse' +export { serializeJsonQuery } from './core/jsonProtocol/serializeJsonQuery' export { type Metric, type MetricHistogram, @@ -20,13 +22,18 @@ export { type Metrics, MetricsClient, } from './core/metrics/MetricsClient' +export { createParam } from './core/model/Param' +export { dmmfToRuntimeDataModel, type RuntimeDataModel } from './core/runtimeDataModel' export { defineDmmfProperty } from './core/runtimeDataModel' export type * from './core/types/exported' export type { ITXClientDenyList } from './core/types/exported/itxClientDenyList' export { objectEnumValues } from './core/types/exported/ObjectEnums' +export { skip } from './core/types/exported/Skip' +export { makeTypedQueryFactory } from './core/types/exported/TypedSql' export type { PrismaClientOptions } from './getPrismaClient' export { getPrismaClient } from './getPrismaClient' export { makeStrictEnum } from './strictEnum' +export { deserializeRawResult } from './utils/deserializeRawResults' export { getRuntime } from './utils/getRuntime' export { warnEnvConflicts } from './warnEnvConflicts' export { Debug } from '@prisma/debug' diff --git a/packages/client/src/runtime/utils/deserializeRawResults.ts b/packages/client/src/runtime/utils/deserializeRawResults.ts index 8be31f15c9c9..9c62ae47e2ff 100644 --- a/packages/client/src/runtime/utils/deserializeRawResults.ts +++ b/packages/client/src/runtime/utils/deserializeRawResults.ts @@ -1,47 +1,25 @@ +import type { QueryIntrospectionBuiltinType } from '@prisma/generator-helper' import Decimal from 'decimal.js' -type PrismaType = - | 'int' - | 'bigint' - | 'float' - | 'double' - | 'string' - | 'enum' - | 'bytes' - | 'bool' - | 'char' - | 'decimal' - | 'json' - | 'xml' - | 'uuid' - | 'datetime' - | 'date' - | 'time' - | 'array' - | 'null' - -type TypedValue = { - prisma__type: PrismaType - prisma__value: unknown +export type RawResponse = { + columns: string[] + types: QueryIntrospectionBuiltinType[] + rows: unknown[][] } -export function deserializeRawResults(rows: Array>): unknown[] { - return rows.map((row) => { - const mappedRow = {} as Record - for (const key of Object.keys(row)) { - mappedRow[key] = deserializeValue(row[key]) - } - return mappedRow - }) -} +function deserializeValue(type: QueryIntrospectionBuiltinType, value: unknown): unknown { + if (value === null) { + return value + } -function deserializeValue({ prisma__type: type, prisma__value: value }: TypedValue): unknown { switch (type) { case 'bigint': return BigInt(value as string) - case 'bytes': - return Buffer.from(value as string, 'base64') + case 'bytes': { + const { buffer, byteOffset, byteLength } = Buffer.from(value as string, 'base64') + return new Uint8Array(buffer, byteOffset, byteLength) + } case 'decimal': return new Decimal(value as string) @@ -53,10 +31,51 @@ function deserializeValue({ prisma__type: type, prisma__value: value }: TypedVal case 'time': return new Date(`1970-01-01T${value}Z`) - case 'array': - return (value as TypedValue[]).map(deserializeValue) + case 'bigint-array': + return (value as unknown[]).map((v: unknown) => deserializeValue('bigint', v)) + case 'bytes-array': + return (value as unknown[]).map((v: unknown) => deserializeValue('bytes', v)) + case 'decimal-array': + return (value as unknown[]).map((v: unknown) => deserializeValue('decimal', v)) + case 'datetime-array': + return (value as unknown[]).map((v: unknown) => deserializeValue('datetime', v)) + case 'date-array': + return (value as unknown[]).map((v: unknown) => deserializeValue('date', v)) + case 'time-array': + return (value as unknown[]).map((v: unknown) => deserializeValue('time', v)) default: return value } } + +type DeserializedResponse = Array> + +export function deserializeRawResult(response: RawResponse): DeserializedResponse { + const deserializedResponse: DeserializedResponse = [] + // Performance optimization. See https://github.com/brianc/node-postgres/issues/3042 + const prebuiltEmptyObject = createPrebuiltEmptyResultObject(response) + + for (let i = 0; i < response.rows.length; i++) { + const row = response.rows[i] + const mappedRow = { ...prebuiltEmptyObject } as Record + + for (let j = 0; j < row.length; j++) { + mappedRow[response.columns[j]] = deserializeValue(response.types[j], row[j]) + } + + deserializedResponse.push(mappedRow) + } + + return deserializedResponse +} + +function createPrebuiltEmptyResultObject(response: RawResponse): Record { + const row = {} + + for (let i = 0; i < response.columns.length; i++) { + row[response.columns[i]] = null + } + + return row +} diff --git a/packages/client/src/runtime/utils/serializeRawParameters.ts b/packages/client/src/runtime/utils/serializeRawParameters.ts index ce874c8cda3e..04ee3ece3a5e 100644 --- a/packages/client/src/runtime/utils/serializeRawParameters.ts +++ b/packages/client/src/runtime/utils/serializeRawParameters.ts @@ -17,6 +17,9 @@ function serializeRawParametersInternal(parameters: any[], objectSerialization: } function encodeParameter(parameter: any, objectSerialization: 'fast' | 'slow'): unknown { + if (Array.isArray(parameter)) { + return parameter.map((item) => encodeParameter(item, objectSerialization)) + } if (typeof parameter === 'bigint') { return { prisma__type: 'bigint', @@ -45,12 +48,18 @@ function encodeParameter(parameter: any, objectSerialization: 'fast' | 'slow'): } } - if (isArrayBufferLike(parameter) || ArrayBuffer.isView(parameter)) { + if (isArrayBufferLike(parameter)) { + return { + prisma__type: 'bytes', + prisma__value: Buffer.from(parameter).toString('base64'), + } + } + + if (ArrayBuffer.isView(parameter)) { + const { buffer, byteOffset, byteLength } = parameter return { prisma__type: 'bytes', - // TODO Can we change this now in v16? - // TODO: node typings do not include ArrayBufferView as of 14.x - prisma__value: Buffer.from(parameter as ArrayBuffer).toString('base64'), + prisma__value: Buffer.from(buffer, byteOffset, byteLength).toString('base64'), } } diff --git a/packages/client/src/runtime/utils/validatePrismaClientOptions.ts b/packages/client/src/runtime/utils/validatePrismaClientOptions.ts index 145c7a36a636..ad35d90ce57b 100644 --- a/packages/client/src/runtime/utils/validatePrismaClientOptions.ts +++ b/packages/client/src/runtime/utils/validatePrismaClientOptions.ts @@ -1,8 +1,11 @@ import { ClientEngineType, getClientEngineType } from '@prisma/internals' import leven from 'js-levenshtein' +import { lowerCase } from '../../utils/lowerCase' +import { buildArgumentsRenderingTree, renderArgsTree } from '../core/errorRendering/ArgumentsRenderingTree' import { PrismaClientConstructorValidationError } from '../core/errors/PrismaClientConstructorValidationError' import { getPreviewFeatures } from '../core/init/getPreviewFeatures' +import { RuntimeDataModel, RuntimeModel } from '../core/runtimeDataModel' import type { ErrorFormat, GetPrismaClientConfig, LogLevel, PrismaClientOptions } from '../getPrismaClient' const knownProperties = [ @@ -12,20 +15,31 @@ const knownProperties = [ 'adapter', 'log', 'transactionOptions', + 'omit', '__internal', ] const errorFormats: ErrorFormat[] = ['pretty', 'colorless', 'minimal'] const logLevels: LogLevel[] = ['info', 'query', 'warn', 'error'] +type OmitValidationError = + | { kind: 'UnknownModel'; modelKey: string } + | { kind: 'UnknownField'; modelKey: string; fieldName: string } + | { kind: 'RelationInOmit'; modelKey: string; fieldName: string } + | { kind: 'InvalidFieldValue'; modelKey: string; fieldName: string } + /** * Subset of `GetPrismaClientConfig` which is used during validation. * Feel free to allow more properties when necessary but don't forget to add * them in the mock config in `validatePrismaClientOptions.test.ts`. */ -type ClientConfig = Pick +type ClientConfig = Pick const validators: { - [K in keyof PrismaClientOptions]-?: (option: PrismaClientOptions[K], config: ClientConfig) => void + [K in keyof PrismaClientOptions]-?: ( + option: PrismaClientOptions[K], + config: ClientConfig, + dataModel: RuntimeDataModel, + ) => void } = { datasources: (options, { datasourceNames }) => { if (!options) { @@ -70,6 +84,12 @@ It should have this form: { url: "CONNECTION_STRING" }`, } }, adapter: (adapter, config) => { + if (!adapter && getClientEngineType(config.generator) === ClientEngineType.Client) { + throw new PrismaClientConstructorValidationError( + `Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.`, + ) + } + if (adapter === null) { return } @@ -86,7 +106,7 @@ It should have this form: { url: "CONNECTION_STRING" }`, ) } - if (getClientEngineType() === ClientEngineType.Binary) { + if (getClientEngineType(config.generator) === ClientEngineType.Binary) { throw new PrismaClientConstructorValidationError( `Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.`, ) @@ -187,6 +207,42 @@ Expected string or undefined.`, ) } }, + omit: (options: unknown, config) => { + if (typeof options !== 'object') { + throw new PrismaClientConstructorValidationError(`"omit" option is expected to be an object.`) + } + if (options === null) { + throw new PrismaClientConstructorValidationError(`"omit" option can not be \`null\``) + } + + const validationErrors: OmitValidationError[] = [] + for (const [modelKey, modelConfig] of Object.entries(options)) { + const modelOrType = getModelOrTypeByKey(modelKey, config.runtimeDataModel) + if (!modelOrType) { + validationErrors.push({ kind: 'UnknownModel', modelKey: modelKey }) + continue + } + for (const [fieldName, value] of Object.entries(modelConfig)) { + const field = modelOrType.fields.find((field) => field.name === fieldName) + if (!field) { + validationErrors.push({ kind: 'UnknownField', modelKey, fieldName }) + continue + } + if (field.relationName) { + validationErrors.push({ kind: 'RelationInOmit', modelKey, fieldName }) + continue + } + if (typeof value !== 'boolean') { + validationErrors.push({ kind: 'InvalidFieldValue', modelKey, fieldName }) + } + } + } + if (validationErrors.length > 0) { + throw new PrismaClientConstructorValidationError( + renderOmitValidationErrors(options as Record, validationErrors), + ) + } + }, __internal: (value) => { if (!value) { return @@ -266,3 +322,44 @@ function getAlternative(str: string, options: string[]): null | string { return null } + +function getModelOrTypeByKey(modelKey: string, runtimeDataModel: RuntimeDataModel): RuntimeModel | undefined { + return findByKey(runtimeDataModel.models, modelKey) ?? findByKey(runtimeDataModel.types, modelKey) +} + +function findByKey(map: Record, key: string): T | undefined { + const foundKey = Object.keys(map).find((mapKey) => lowerCase(mapKey) === key) + if (foundKey) { + return map[foundKey] + } + return undefined +} + +function renderOmitValidationErrors( + omitConfig: Record, + validationErrors: OmitValidationError[], +): string { + const argsTree = buildArgumentsRenderingTree(omitConfig) + for (const error of validationErrors) { + switch (error.kind) { + case 'UnknownModel': + argsTree.arguments.getField(error.modelKey)?.markAsError() + argsTree.addErrorMessage(() => `Unknown model name: ${error.modelKey}.`) + break + case 'UnknownField': + argsTree.arguments.getDeepField([error.modelKey, error.fieldName])?.markAsError() + argsTree.addErrorMessage(() => `Model "${error.modelKey}" does not have a field named "${error.fieldName}".`) + break + case 'RelationInOmit': + argsTree.arguments.getDeepField([error.modelKey, error.fieldName])?.markAsError() + argsTree.addErrorMessage(() => `Relations are already excluded by default and can not be specified in "omit".`) + break + case 'InvalidFieldValue': + argsTree.arguments.getDeepFieldValue([error.modelKey, error.fieldName])?.markAsError() + argsTree.addErrorMessage(() => `Omit field option value must be a boolean.`) + break + } + } + const { message, args } = renderArgsTree(argsTree, 'colorless') + return `Error validating "omit" option:\n\n${args}\n\n${message}` +} diff --git a/packages/client/src/testUtils/dataModelBuilder.ts b/packages/client/src/testUtils/dataModelBuilder.ts index 8fb42d2dfed7..de618062907e 100644 --- a/packages/client/src/testUtils/dataModelBuilder.ts +++ b/packages/client/src/testUtils/dataModelBuilder.ts @@ -21,6 +21,7 @@ export function model(name: string, fields: DMMF.Field[]): DMMF.Model { return { name, dbName: null, + schema: null, fields: [ field('scalar', 'id', 'String', { isUnique: true, @@ -42,5 +43,6 @@ export function runtimeDataModel({ models }: { models: DMMF.Model[] }): RuntimeD models, enums: [], types: [], + indexes: [], }) } diff --git a/packages/client/tests/e2e/16418-slow-compilation-big-schema/package.json b/packages/client/tests/e2e/16418-slow-compilation-big-schema/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/16418-slow-compilation-big-schema/package.json +++ b/packages/client/tests/e2e/16418-slow-compilation-big-schema/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/16418-slow-compilation-big-schema/pnpm-lock.yaml b/packages/client/tests/e2e/16418-slow-compilation-big-schema/pnpm-lock.yaml new file mode 100644 index 000000000000..3d6871f18ec2 --- /dev/null +++ b/packages/client/tests/e2e/16418-slow-compilation-big-schema/pnpm-lock.yaml @@ -0,0 +1,493 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + +packages: + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/_steps.ts b/packages/client/tests/e2e/17303-interactive-transaction-errors/_steps.ts new file mode 100644 index 000000000000..00fb54066888 --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/_steps.ts @@ -0,0 +1,16 @@ +import { $ } from 'zx' + +import { executeSteps } from '../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm prisma migrate dev` + }, + test: async () => { + await $`pnpm run start` + }, + finish: async () => { + await $`echo "done"` + }, +}) diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/package.json b/packages/client/tests/e2e/17303-interactive-transaction-errors/package.json new file mode 100644 index 000000000000..46ec9628065b --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/package.json @@ -0,0 +1,17 @@ +{ + "private": true, + "version": "0.0.0", + "scripts": { + "start": "pnpm exec jest" + }, + "dependencies": { + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" + }, + "devDependencies": { + "@types/jest": "29.5.12", + "@types/node": "18.19.50", + "expect-type": "0.19.0", + "prisma": "/tmp/prisma-0.0.0.tgz", + "typescript": "5.4.5" + } +} diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/migrations/20250123182627_test/migration.sql b/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/migrations/20250123182627_test/migration.sql new file mode 100644 index 000000000000..8d622eb3ecbb --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/migrations/20250123182627_test/migration.sql @@ -0,0 +1,24 @@ +-- CreateTable +CREATE TABLE "Foo" +( + "id" SERIAL NOT NULL, + CONSTRAINT "Foo_pkey" PRIMARY KEY ("id") +); + +-- this trigger always fails +CREATE +OR REPLACE FUNCTION constraint_trigger_function() RETURNS TRIGGER AS $$ +BEGIN + RAISE +EXCEPTION 'Foo cannot be created!'; +RETURN NEW; +END; +$$ +LANGUAGE PLPGSQL; + +-- add the "CONSTRAINT TRIGGER" deferred until the end of the database transaction +CREATE +CONSTRAINT TRIGGER constraint_trigger + AFTER INSERT ON "Foo" + DEFERRABLE INITIALLY DEFERRED + FOR EACH ROW EXECUTE PROCEDURE constraint_trigger_function(); \ No newline at end of file diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/migrations/migration_lock.toml b/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/migrations/migration_lock.toml new file mode 100644 index 000000000000..fbffa92c2bb7 --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/schema.prisma b/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/schema.prisma new file mode 100644 index 000000000000..eb47f9adc79c --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/prisma/schema.prisma @@ -0,0 +1,12 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("TEST_E2E_POSTGRES_URI") +} + +model Foo { + id Int @id @default(autoincrement()) +} diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/readme.md b/packages/client/tests/e2e/17303-interactive-transaction-errors/readme.md new file mode 100644 index 000000000000..3f0feeca5db4 --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/readme.md @@ -0,0 +1,3 @@ +# Readme + +Test for [issue 17303](https://github.com/prisma/prisma/issues/17303). Transactions that actually fail due to DB triggers did not report a failure upwards in the Prisma Client. diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/tests/index.ts b/packages/client/tests/e2e/17303-interactive-transaction-errors/tests/index.ts new file mode 100644 index 000000000000..7dbfffa6a97e --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/tests/index.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from '@prisma/client' + +const prisma = new PrismaClient() + +test('should not create a Foo record because the database trigger always throws an exception', async () => { + await expect( + prisma.$transaction(async (transactionClient: PrismaClient) => { + await transactionClient.foo.create({}) + }), + ).rejects.toThrow('Error in connector: Error querying the database: ERROR: Foo cannot be created!') +}) diff --git a/packages/client/tests/e2e/17303-interactive-transaction-errors/tsconfig.json b/packages/client/tests/e2e/17303-interactive-transaction-errors/tsconfig.json new file mode 100644 index 000000000000..1d0b21415338 --- /dev/null +++ b/packages/client/tests/e2e/17303-interactive-transaction-errors/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/_utils/docker-compose.yaml b/packages/client/tests/e2e/_utils/docker-compose.yaml index cb51cb6b16ea..78c7742c5cfb 100644 --- a/packages/client/tests/e2e/_utils/docker-compose.yaml +++ b/packages/client/tests/e2e/_utils/docker-compose.yaml @@ -3,3 +3,5 @@ services: build: context: . dockerfile: ./standard.dockerfile + extra_hosts: + - 'host.docker.internal=host-gateway' diff --git a/packages/client/tests/e2e/_utils/mock-adapter.ts b/packages/client/tests/e2e/_utils/mock-adapter.ts new file mode 100644 index 000000000000..e2391707f66e --- /dev/null +++ b/packages/client/tests/e2e/_utils/mock-adapter.ts @@ -0,0 +1,20 @@ +import { DriverAdapter } from '@prisma/driver-adapter-utils' + +export const mockAdapterErrors = { + queryRaw: new Error('Not implemented: queryRaw'), + executeRaw: new Error('Not implemented: executeRaw'), + transactionContext: new Error('Not implemented: transactionContext'), +} + +/** + * Create an adapter stub for testing. + */ +export function mockAdapter(provider: 'mysql' | 'sqlite' | 'postgres'): DriverAdapter { + return { + provider, + adapterName: '@prisma/adapter-mock', + queryRaw: () => Promise.reject(mockAdapterErrors.queryRaw), + executeRaw: () => Promise.reject(mockAdapterErrors.executeRaw), + transactionContext: () => Promise.reject(mockAdapterErrors.transactionContext), + } +} diff --git a/packages/client/tests/e2e/_utils/prisma-client-imports.ts b/packages/client/tests/e2e/_utils/prisma-client-imports.ts new file mode 100644 index 000000000000..dc9a00ee4571 --- /dev/null +++ b/packages/client/tests/e2e/_utils/prisma-client-imports.ts @@ -0,0 +1,19 @@ +// https://www.typescriptlang.org/tsconfig/#high-level-libraries +export const allOptions = [ + { module: 'commonjs', moduleResolution: 'Node' }, + { module: 'ES2015', moduleResolution: 'Node' }, + { module: 'ES2020', moduleResolution: 'Node' }, + { module: 'ES2022', moduleResolution: 'Node' }, + { module: 'ESNext', moduleResolution: 'Node' }, + + { module: 'Node16', moduleResolution: 'Node16' }, + { module: 'NodeNext', moduleResolution: 'Node16' }, + + { module: 'Node16', moduleResolution: 'NodeNext' }, + { module: 'NodeNext', moduleResolution: 'NodeNext' }, + + { module: 'ES2015', moduleResolution: 'Bundler' }, + { module: 'ES2020', moduleResolution: 'Bundler' }, + { module: 'ES2022', moduleResolution: 'Bundler' }, + { module: 'ESNext', moduleResolution: 'Bundler' }, +] diff --git a/packages/client/tests/e2e/_utils/standard.cmd.sh b/packages/client/tests/e2e/_utils/standard.cmd.sh index eb1b455e666a..1ef852d34528 100755 --- a/packages/client/tests/e2e/_utils/standard.cmd.sh +++ b/packages/client/tests/e2e/_utils/standard.cmd.sh @@ -3,16 +3,16 @@ set -euo pipefail # Get access to localhost -export DOCKER_BRIDGE_IP=$(ip route | grep default | awk '{print $3}') # 172.17.0.1 +export DOCKER_BRIDGE_HOST="host.docker.internal" # Database env variables export PRISMA_DB_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 16) -export TEST_E2E_POSTGRES_URI="postgres://prisma:prisma@${DOCKER_BRIDGE_IP}:5432/${PRISMA_DB_NAME}" -export TEST_E2E_MYSQL_URI="mysql://root:root@${DOCKER_BRIDGE_IP}:3306/${PRISMA_DB_NAME}" -export TEST_E2E_VITESS_8_URI="mysql://root:root@${DOCKER_BRIDGE_IP}:33807/${PRISMA_DB_NAME}" -export TEST_E2E_MSSQL_URI="sqlserver://${DOCKER_BRIDGE_IP}:1433;database=${PRISMA_DB_NAME};user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;" -export TEST_E2E_MONGO_URI="mongodb://${DOCKER_BRIDGE_IP}:27018/${PRISMA_DB_NAME}" -export TEST_E2E_COCKROACH_URI="postgresql://prisma@${DOCKER_BRIDGE_IP}:26257/${PRISMA_DB_NAME}" +export TEST_E2E_POSTGRES_URI="postgres://prisma:prisma@${DOCKER_BRIDGE_HOST}:5432/${PRISMA_DB_NAME}" +export TEST_E2E_MYSQL_URI="mysql://root:root@${DOCKER_BRIDGE_HOST}:3306/${PRISMA_DB_NAME}" +export TEST_E2E_VITESS_8_URI="mysql://root:root@${DOCKER_BRIDGE_HOST}:33807/${PRISMA_DB_NAME}" +export TEST_E2E_MSSQL_URI="sqlserver://${DOCKER_BRIDGE_HOST}:1433;database=${PRISMA_DB_NAME};user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;" +export TEST_E2E_MONGO_URI="mongodb://${DOCKER_BRIDGE_HOST}:27018/${PRISMA_DB_NAME}" +export TEST_E2E_COCKROACH_URI="postgresql://prisma@${DOCKER_BRIDGE_HOST}:26257/${PRISMA_DB_NAME}" # Other env variables export NODE_PATH=$(npm root --quiet -g) # make global packages available diff --git a/packages/client/tests/e2e/accelerate-types/package.json b/packages/client/tests/e2e/accelerate-types/package.json index 9e899d61fc7a..54e268d454ed 100644 --- a/packages/client/tests/e2e/accelerate-types/package.json +++ b/packages/client/tests/e2e/accelerate-types/package.json @@ -5,11 +5,11 @@ "scripts": {}, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "@prisma/extension-accelerate": "1.1.0" + "@prisma/extension-accelerate": "1.2.1" }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "expect-type": "0.19.0", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "5.4.5" diff --git a/packages/client/tests/e2e/accelerate-types/pnpm-lock.yaml b/packages/client/tests/e2e/accelerate-types/pnpm-lock.yaml index 5287c605d657..7355bf8a5f19 100644 --- a/packages/client/tests/e2e/accelerate-types/pnpm-lock.yaml +++ b/packages/client/tests/e2e/accelerate-types/pnpm-lock.yaml @@ -1,417 +1,526 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - '@prisma/extension-accelerate': - specifier: latest - version: 0.5.0(@prisma/client@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.1 - version: 29.5.1 - '@types/node': - specifier: 16.18.11 - version: 16.18.11 - expect-type: - specifier: 0.16.0 - version: 0.16.0 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz - typescript: - specifier: 4.9.4 - version: 4.9.4 +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + '@prisma/extension-accelerate': + specifier: 1.2.1 + version: 1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + expect-type: + specifier: 0.19.0 + version: 0.19.0 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + typescript: + specifier: 5.4.5 + version: 5.4.5 packages: - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@jest/expect-utils@29.5.0: - resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.4.3: - resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.25.24 - dev: true - /@jest/types@29.5.0: - resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.11 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@prisma/engines-version@5.2.0-24.0bc8ee687eb17771fa7ca5167bcad38f8f2d0847: - resolution: {integrity: sha512-0duW1QeAa4KZqG9MvcTqyzHW8Sq+idG9kYoGsoDHaOOm+TeUkh+m+OM8zdWQLXyIsTbdYLRRTd1xkGaYgq2A1g==} - dev: false + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true - /@prisma/extension-accelerate@0.5.0(@prisma/client@0.0.0): - resolution: {integrity: sha512-wH23i7S6yIvReepH5VBQfhmXizBI57KcLp4wvVY/rvDKsepg7mAqLYeK6IrufBFVyuEFudTNfYog/hnUO40wAg==} + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/extension-accelerate@1.2.1': + resolution: {integrity: sha512-QicnMeyqL226ilT3vvRsFAqPeIdqHGKR4c25CoK5zZ1tNIv8egfgpD1gCKqOGmfAz0pIKQnMuJU3eNg9KItC7A==} + version: 1.2.1 engines: {node: '>=16'} peerDependencies: '@prisma/client': '>=4.16.1' - dependencies: - '@prisma/client': file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - dev: false - /@sinclair/typebox@0.25.24: - resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} - dev: true + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - /@types/jest@29.5.1: - resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} - dependencies: - expect: 29.5.0 - pretty-format: 29.5.0 - dev: true + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} - dev: true + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect-type@0.16.0: - resolution: {integrity: sha512-wCpFeVBiAPGiYkQZzaqvGuuBnNCHbtnowMOBpBGY8a27XbG8VAit3lklWph1r8VmgsH61mOZqI3NuGm8bZnUlw==} + expect-type@0.19.0: + resolution: {integrity: sha512-piv9wz3IrAG4Wnk2A+n2VRCHieAyOSxrRLU872Xo6nyn39kYXKDALk4OcqnvLRnFvkz659CnWC8MWZLuuQnoqg==} engines: {node: '>=12.0.0'} - dev: true - /expect@29.5.0: - resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.5.0 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-util: 29.5.0 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.5.0: - resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 - dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.5.0: - resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.25.7': + dependencies: + '@babel/highlight': 7.25.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.25.7': {} + + '@babel/highlight@7.25.7': dependencies: + '@babel/helper-validator-identifier': 7.25.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 - jest-diff: 29.5.0 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 - dev: true - /jest-message-util@29.5.0: - resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/extension-accelerate@1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': + dependencies: + '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect-type@0.19.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.5.0 - '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.25.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.5.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-util@29.5.0: - resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: - '@jest/types': 29.5.0 - '@types/node': 16.18.11 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picocolors@1.1.0: {} - /pretty-format@29.5.0: - resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + picomatch@2.3.1: {} + + pretty-format@29.7.0: dependencies: - '@jest/schemas': 29.4.3 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true + react-is: 18.3.1 - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + react-is@18.3.1: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + slash@3.0.0: {} + + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - file:../../../../../../../../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-2c5fQfRRXju+5z9VOMSxmj2C5q727jmVXR2Ye/xJ1ojhAfQ/7/RIH7d7B9l+w21/kxwDQDBZCxink2QRh/guXA==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + typescript@5.4.5: {} - file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-LTOcioYvKWVyDfqADdLPOQ4ONQ3PPud5JvXrNwyj8iAaSF5UP3esfbdkyeb+QpNqLinXd4kfMrKjab+UNRt5Cg==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} - id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - '@prisma/engines-version': 5.2.0-24.0bc8ee687eb17771fa7ca5167bcad38f8f2d0847 - prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz - dev: false - - file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-XZHbwnYoPT+fVgA4A3+mic2oWtEMJv84PcieH3vQr8zj0b0ombF1grop5PiY0L887LMir9nVgWCwZo+hkP/++w==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/adapter-d1-itx-error/package.json b/packages/client/tests/e2e/adapter-d1-itx-error/package.json index faaddcefcc1b..53cce21aba7d 100644 --- a/packages/client/tests/e2e/adapter-d1-itx-error/package.json +++ b/packages/client/tests/e2e/adapter-d1-itx-error/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/adapter-d1-itx-error/pnpm-lock.yaml b/packages/client/tests/e2e/adapter-d1-itx-error/pnpm-lock.yaml index 7d9a9a985965..d78a72ed032c 100644 --- a/packages/client/tests/e2e/adapter-d1-itx-error/pnpm-lock.yaml +++ b/packages/client/tests/e2e/adapter-d1-itx-error/pnpm-lock.yaml @@ -1,438 +1,518 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/adapter-d1': - specifier: /tmp/prisma-adapter-d1-0.0.0.tgz - version: file:../../tmp/prisma-adapter-d1-0.0.0.tgz - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.12 - version: 29.5.12 - '@types/node': - specifier: 16.18.96 - version: 16.18.96 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz +importers: + + .: + dependencies: + '@prisma/adapter-d1': + specifier: /tmp/prisma-adapter-d1-0.0.0.tgz + version: file:../../tmp/prisma-adapter-d1-0.0.0.tgz + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz packages: - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@cloudflare/workers-types@4.20240423.0: - resolution: {integrity: sha512-ssuccb3j+URp6mP2p0PcQE9vmS3YeKBQnALHF9P3yQfUAFozuhTsDTbqmL+zPrJvUcG7SL2xVQkNDF9QJeKDZw==} - dev: false + '@cloudflare/workers-types@4.20240614.0': + resolution: {integrity: sha512-fnV3uXD1Hpq5EWnY7XYb+smPcjzIoUFiZpTSV/Tk8qKL3H+w6IqcngZwXQBZ/2U/DwYkDilXHW3FfPhnyD7FZA==} - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.96 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d: - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/adapter-d1@file:../../tmp/prisma-adapter-d1-0.0.0.tgz': + resolution: {integrity: sha512-hLBdC7dLBmrRKg+Exq/pUjWTpBN3r+W/I7Tm9tCUwRpbCih3DWc1Rp+PX/DNj6uxKi/QULReUPtFsTg9HgU+Jw==, tarball: file:../../tmp/prisma-adapter-d1-0.0.0.tgz} + version: 0.0.0 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + resolution: {integrity: sha512-EsH1eFc27KdbUjrAl9AI/7+Ev7TL133B7V/aECsyPH9JtbGvIiKfVJBS+fNLH1hk6nbTdjlFp1LRPAUNhrPGNw==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - /@types/jest@29.5.12: + '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 - dev: true - /@types/node@16.18.96: - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} - dev: true + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.96 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.96 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - /slash@3.0.0: + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true - /stack-utils@2.0.6: + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': dependencies: - is-number: 7.0.0 - dev: true + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 - file:../../tmp/prisma-adapter-d1-0.0.0.tgz: - resolution: {integrity: sha512-kVGrwNEzNHXydW7QxdhPB0N63d84TbHsbo5+8VxeG4+DC2jjSAXWYI4dNnjLwjqdUA2cbbzhTBcSOdRMmjQpQw==, tarball: file:../../tmp/prisma-adapter-d1-0.0.0.tgz} - name: '@prisma/adapter-d1' - version: 0.0.0 + '@cloudflare/workers-types@4.20240614.0': {} + + '@jest/expect-utils@29.7.0': dependencies: - '@cloudflare/workers-types': 4.20240423.0 - '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz - dev: false + jest-get-type: 29.6.3 - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true + '@jest/schemas@29.6.3': dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/adapter-d1@file:../../tmp/prisma-adapter-d1-0.0.0.tgz': + dependencies: + '@cloudflare/workers-types': 4.20240614.0 + '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: prisma: file:../../tmp/prisma-0.0.0.tgz - dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} - name: '@prisma/debug' - version: 0.0.0 + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz: - resolution: {integrity: sha512-86VEl6kuEF47g8Y9wFEyz9e1pArzhJS1ZoSMjzOf4DDfLN4A295n9hBglHEfXPc3R/LHj6Ppa5yLYyTDHzbz+w==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} - name: '@prisma/driver-adapter-utils' - version: 0.0.0 + '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - dev: false - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} - name: '@prisma/fetch-engine' - version: 0.0.0 + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} - name: '@prisma/get-platform' - version: 0.0.0 + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/browser-enum/package.json b/packages/client/tests/e2e/browser-enum/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/browser-enum/package.json +++ b/packages/client/tests/e2e/browser-enum/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/browser-enum/pnpm-lock.yaml b/packages/client/tests/e2e/browser-enum/pnpm-lock.yaml new file mode 100644 index 000000000000..3d6871f18ec2 --- /dev/null +++ b/packages/client/tests/e2e/browser-enum/pnpm-lock.yaml @@ -0,0 +1,493 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + +packages: + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/browser-unsupported-errors/package.json b/packages/client/tests/e2e/browser-unsupported-errors/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/browser-unsupported-errors/package.json +++ b/packages/client/tests/e2e/browser-unsupported-errors/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/browser-unsupported-errors/pnpm-lock.yaml b/packages/client/tests/e2e/browser-unsupported-errors/pnpm-lock.yaml index e12842b9c2e3..3d6871f18ec2 100644 --- a/packages/client/tests/e2e/browser-unsupported-errors/pnpm-lock.yaml +++ b/packages/client/tests/e2e/browser-unsupported-errors/pnpm-lock.yaml @@ -1,413 +1,493 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.12 - version: 29.5.12 - '@types/node': - specifier: 16.18.96 - version: 16.18.96 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz packages: - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - dev: true - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@jest/expect-utils@29.7.0: + '@jest/expect-utils@29.7.0': resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - dev: true - /@jest/schemas@29.6.3: + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.3: + '@jest/types@29.6.3': resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 16.18.96 - '@types/yargs': 17.0.32 - chalk: 4.1.2 - dev: true - /@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d: - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 - /@sinclair/typebox@0.27.8: + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.6: + '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - /@types/istanbul-lib-report@3.0.3: + '@types/istanbul-lib-report@3.0.3': resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - dev: true - /@types/istanbul-reports@3.0.4: + '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - dependencies: - '@types/istanbul-lib-report': 3.0.3 - dev: true - /@types/jest@29.5.12: + '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - dev: true - /@types/node@16.18.96: - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} - dev: true + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/stack-utils@2.0.3: + '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - dev: true - /@types/yargs-parser@21.0.3: + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - dev: true - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - dependencies: - '@types/yargs-parser': 21.0.3 - dev: true + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.9.0: + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.6.3: + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect@29.7.0: + expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.7.0: + jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - /jest-get-type@29.6.3: + jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.7.0: + jest-matcher-utils@29.7.0: resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - /jest-message-util@29.7.0: + jest-message-util@29.7.0: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.23.5 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-util@29.7.0: + jest-util@29.7.0: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 16.18.96 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /pretty-format@29.7.0: + pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - /slash@3.0.0: + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true - /stack-utils@2.0.6: + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': dependencies: - is-number: 7.0.0 - dev: true + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true + '@jest/expect-utils@29.7.0': dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: prisma: file:../../tmp/prisma-0.0.0.tgz - dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} - name: '@prisma/debug' - version: 0.0.0 + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} - name: '@prisma/fetch-engine' - version: 0.0.0 + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} - name: '@prisma/get-platform' - version: 0.0.0 + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/browser-unsupported-errors/tests/main.ts b/packages/client/tests/e2e/browser-unsupported-errors/tests/main.ts index 6bf969d563fb..51ad990236fb 100644 --- a/packages/client/tests/e2e/browser-unsupported-errors/tests/main.ts +++ b/packages/client/tests/e2e/browser-unsupported-errors/tests/main.ts @@ -45,11 +45,6 @@ describe('import from browser bundle should error', () => { `PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser`, ) }) - test('Prisma.NotFoundError', () => { - expect(Prisma.NotFoundError).toThrow( - `NotFoundError is unable to run in this browser environment, or has been bundled for the browser`, - ) - }) test('Prisma.getExtensionContext', () => { expect(Prisma.getExtensionContext).toThrow( diff --git a/packages/client/tests/e2e/bundler-detection-error/package.json b/packages/client/tests/e2e/bundler-detection-error/package.json index db0a05384cfa..a9f5dbe0d425 100644 --- a/packages/client/tests/e2e/bundler-detection-error/package.json +++ b/packages/client/tests/e2e/bundler-detection-error/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "esbuild": "latest", "prisma": "/tmp/prisma-0.0.0.tgz" } diff --git a/packages/client/tests/e2e/bundler-detection-error/pnpm-lock.yaml b/packages/client/tests/e2e/bundler-detection-error/pnpm-lock.yaml index a5c1836807cb..11fd52a93f7b 100644 --- a/packages/client/tests/e2e/bundler-detection-error/pnpm-lock.yaml +++ b/packages/client/tests/e2e/bundler-detection-error/pnpm-lock.yaml @@ -6,267 +6,305 @@ settings: dependencies: '@prisma/client': - specifier: ../prisma-client-0.0.0.tgz - version: file:../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 esbuild: - specifier: ^0.18.17 - version: 0.18.17 + specifier: latest + version: 0.24.0 prisma: - specifier: ../prisma-0.0.0.tgz - version: file:../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@esbuild/android-arm64@0.18.17: - resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} - engines: {node: '>=12'} + /@esbuild/aix-ppc64@0.24.0: + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.24.0: + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm@0.18.17: - resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} - engines: {node: '>=12'} + /@esbuild/android-arm@0.24.0: + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-x64@0.18.17: - resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} - engines: {node: '>=12'} + /@esbuild/android-x64@0.24.0: + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/darwin-arm64@0.18.17: - resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} - engines: {node: '>=12'} + /@esbuild/darwin-arm64@0.24.0: + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/darwin-x64@0.18.17: - resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} - engines: {node: '>=12'} + /@esbuild/darwin-x64@0.24.0: + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/freebsd-arm64@0.18.17: - resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.24.0: + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/freebsd-x64@0.18.17: - resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} - engines: {node: '>=12'} + /@esbuild/freebsd-x64@0.24.0: + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm64@0.18.17: - resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} - engines: {node: '>=12'} + /@esbuild/linux-arm64@0.24.0: + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm@0.18.17: - resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} - engines: {node: '>=12'} + /@esbuild/linux-arm@0.24.0: + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ia32@0.18.17: - resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} - engines: {node: '>=12'} + /@esbuild/linux-ia32@0.24.0: + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64@0.18.17: - resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} - engines: {node: '>=12'} + /@esbuild/linux-loong64@0.24.0: + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-mips64el@0.18.17: - resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} - engines: {node: '>=12'} + /@esbuild/linux-mips64el@0.24.0: + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ppc64@0.18.17: - resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} - engines: {node: '>=12'} + /@esbuild/linux-ppc64@0.24.0: + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-riscv64@0.18.17: - resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} - engines: {node: '>=12'} + /@esbuild/linux-riscv64@0.24.0: + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-s390x@0.18.17: - resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} - engines: {node: '>=12'} + /@esbuild/linux-s390x@0.24.0: + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-x64@0.18.17: - resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} - engines: {node: '>=12'} + /@esbuild/linux-x64@0.24.0: + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/netbsd-x64@0.18.17: - resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} - engines: {node: '>=12'} + /@esbuild/netbsd-x64@0.24.0: + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /@esbuild/openbsd-x64@0.18.17: - resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} - engines: {node: '>=12'} + /@esbuild/openbsd-arm64@0.24.0: + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.24.0: + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /@esbuild/sunos-x64@0.18.17: - resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} - engines: {node: '>=12'} + /@esbuild/sunos-x64@0.24.0: + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /@esbuild/win32-arm64@0.18.17: - resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} - engines: {node: '>=12'} + /@esbuild/win32-arm64@0.24.0: + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@esbuild/win32-ia32@0.18.17: - resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} - engines: {node: '>=12'} + /@esbuild/win32-ia32@0.24.0: + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@esbuild/win32-x64@0.18.17: - resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} - engines: {node: '>=12'} + /@esbuild/win32-x64@0.24.0: + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true - /esbuild@0.18.17: - resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==} - engines: {node: '>=12'} + /esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.17 - '@esbuild/android-arm64': 0.18.17 - '@esbuild/android-x64': 0.18.17 - '@esbuild/darwin-arm64': 0.18.17 - '@esbuild/darwin-x64': 0.18.17 - '@esbuild/freebsd-arm64': 0.18.17 - '@esbuild/freebsd-x64': 0.18.17 - '@esbuild/linux-arm': 0.18.17 - '@esbuild/linux-arm64': 0.18.17 - '@esbuild/linux-ia32': 0.18.17 - '@esbuild/linux-loong64': 0.18.17 - '@esbuild/linux-mips64el': 0.18.17 - '@esbuild/linux-ppc64': 0.18.17 - '@esbuild/linux-riscv64': 0.18.17 - '@esbuild/linux-s390x': 0.18.17 - '@esbuild/linux-x64': 0.18.17 - '@esbuild/netbsd-x64': 0.18.17 - '@esbuild/openbsd-x64': 0.18.17 - '@esbuild/sunos-x64': 0.18.17 - '@esbuild/win32-arm64': 0.18.17 - '@esbuild/win32-ia32': 0.18.17 - '@esbuild/win32-x64': 0.18.17 + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 dev: true - file:../prisma-0.0.0.tgz: - resolution: {integrity: sha512-qYYuArI1LWdiN8sp9LkOc4+fv4u5pvDEKjcYeBGgGxax6uGc5EmheB1CxEIc1f0b0nR2UxHf7Y/gWziXFFLotQ==, tarball: file:../prisma-0.0.0.tgz} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-SnP9TVppjD8oWwldrMrcv3atihO5EKZfuweNuaxGlKOifwPG2B6/eNURvqHENC/c7me80dlGS3DQzz4HWZm48g==, tarball: file:../prisma-client-0.0.0.tgz} - id: file:../prisma-client-0.0.0.tgz + file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 engines: {node: '>=16.13'} @@ -277,7 +315,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/connection-limit-reached/package.json b/packages/client/tests/e2e/connection-limit-reached/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/connection-limit-reached/package.json +++ b/packages/client/tests/e2e/connection-limit-reached/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/connection-limit-reached/pnpm-lock.yaml b/packages/client/tests/e2e/connection-limit-reached/pnpm-lock.yaml index 0fcbe05800dd..3d6871f18ec2 100644 --- a/packages/client/tests/e2e/connection-limit-reached/pnpm-lock.yaml +++ b/packages/client/tests/e2e/connection-limit-reached/pnpm-lock.yaml @@ -16,24 +16,24 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz packages: - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} '@jest/expect-utils@29.7.0': @@ -49,9 +49,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -59,22 +59,22 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 '@sinclair/typebox@0.27.8': @@ -92,8 +92,8 @@ packages: '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -101,8 +101,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -116,8 +116,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} chalk@2.4.2: @@ -161,10 +161,15 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -203,12 +208,12 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -219,9 +224,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true react-is@18.3.1: @@ -247,21 +252,24 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + snapshots: - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/highlight@7.24.5': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 '@jest/expect-utils@29.7.0': dependencies: @@ -276,8 +284,8 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 16.18.96 - '@types/yargs': 17.0.32 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': @@ -286,19 +294,19 @@ snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': @@ -322,13 +330,15 @@ snapshots: expect: 29.7.0 pretty-format: 29.7.0 - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 '@types/stack-utils@2.0.3': {} '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.32': + '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -342,9 +352,9 @@ snapshots: ansi-styles@5.2.0: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 chalk@2.4.2: dependencies: @@ -385,10 +395,13 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + fsevents@2.3.3: + optional: true + graceful-fs@4.2.11: {} has-flag@3.0.0: {} @@ -415,12 +428,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -428,7 +441,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -436,12 +449,12 @@ snapshots: js-tokens@4.0.0: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - picocolors@1.0.0: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -454,6 +467,8 @@ snapshots: prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 react-is@18.3.1: {} @@ -474,3 +489,5 @@ snapshots: to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/default-version/package.json b/packages/client/tests/e2e/default-version/package.json index f7a4c999047d..07237e10e524 100644 --- a/packages/client/tests/e2e/default-version/package.json +++ b/packages/client/tests/e2e/default-version/package.json @@ -8,6 +8,6 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98" + "@types/node": "18.19.50" } } diff --git a/packages/client/tests/e2e/default-version/pnpm-lock.yaml b/packages/client/tests/e2e/default-version/pnpm-lock.yaml index 942946cafe55..c4a91348a26e 100644 --- a/packages/client/tests/e2e/default-version/pnpm-lock.yaml +++ b/packages/client/tests/e2e/default-version/pnpm-lock.yaml @@ -1,364 +1,428 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: ../prisma-client-0.0.0.tgz - version: file:../prisma-client-0.0.0.tgz +importers: -devDependencies: - '@types/jest': - specifier: 29.5.1 - version: 29.5.1 - '@types/node': - specifier: 16.18.11 - version: 16.18.11 + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 packages: - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@jest/expect-utils@29.6.1: - resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.11 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@sinclair/typebox@0.27.8: + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - /@types/jest@29.5.1: - resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} - dependencies: - expect: 29.6.1 - pretty-format: 29.6.1 - dev: true + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} - dev: true + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect@29.6.1: - resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.1 - '@types/node': 16.18.11 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.1 - jest-message-util: 29.6.1 - jest-util: 29.6.1 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.6.1: - resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.1 - dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.6.1: - resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 - jest-diff: 29.6.1 - jest-get-type: 29.4.3 - pretty-format: 29.6.1 - dev: true - /jest-message-util@29.6.1: - resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': {} + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.1 + micromatch: 4.0.8 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-util@29.6.1: - resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.11 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picocolors@1.1.0: {} - /pretty-format@29.6.1: - resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + picomatch@2.3.1: {} + + pretty-format@29.7.0: dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true + react-is: 18.3.1 - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.3.1: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - file:../prisma-client-0.0.0.tgz: - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../prisma-client-0.0.0.tgz} - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=14.17'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dev: false - bundledDependencies: - - '@prisma/engines-version' + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/driver-adapters-accelerate/package.json b/packages/client/tests/e2e/driver-adapters-accelerate/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/driver-adapters-accelerate/package.json +++ b/packages/client/tests/e2e/driver-adapters-accelerate/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/driver-adapters-accelerate/pnpm-lock.yaml b/packages/client/tests/e2e/driver-adapters-accelerate/pnpm-lock.yaml index 0fcbe05800dd..3d6871f18ec2 100644 --- a/packages/client/tests/e2e/driver-adapters-accelerate/pnpm-lock.yaml +++ b/packages/client/tests/e2e/driver-adapters-accelerate/pnpm-lock.yaml @@ -16,24 +16,24 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz packages: - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} '@jest/expect-utils@29.7.0': @@ -49,9 +49,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -59,22 +59,22 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 '@sinclair/typebox@0.27.8': @@ -92,8 +92,8 @@ packages: '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -101,8 +101,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -116,8 +116,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} chalk@2.4.2: @@ -161,10 +161,15 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -203,12 +208,12 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -219,9 +224,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true react-is@18.3.1: @@ -247,21 +252,24 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + snapshots: - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/highlight@7.24.5': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 '@jest/expect-utils@29.7.0': dependencies: @@ -276,8 +284,8 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 16.18.96 - '@types/yargs': 17.0.32 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': @@ -286,19 +294,19 @@ snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': @@ -322,13 +330,15 @@ snapshots: expect: 29.7.0 pretty-format: 29.7.0 - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 '@types/stack-utils@2.0.3': {} '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.32': + '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -342,9 +352,9 @@ snapshots: ansi-styles@5.2.0: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 chalk@2.4.2: dependencies: @@ -385,10 +395,13 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + fsevents@2.3.3: + optional: true + graceful-fs@4.2.11: {} has-flag@3.0.0: {} @@ -415,12 +428,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -428,7 +441,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -436,12 +449,12 @@ snapshots: js-tokens@4.0.0: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - picocolors@1.0.0: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -454,6 +467,8 @@ snapshots: prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 react-is@18.3.1: {} @@ -474,3 +489,5 @@ snapshots: to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/driver-adapters-accelerate/tests/edge.ts b/packages/client/tests/e2e/driver-adapters-accelerate/tests/edge.ts index bfed0866045c..eb9e999f9abb 100644 --- a/packages/client/tests/e2e/driver-adapters-accelerate/tests/edge.ts +++ b/packages/client/tests/e2e/driver-adapters-accelerate/tests/edge.ts @@ -1,14 +1,12 @@ +import { mockAdapter } from '../../_utils/mock-adapter' + test('driver adapters cannot be used via @prisma/client/edge', () => { jest.isolateModules(() => { const { PrismaClient } = require('@prisma/client/edge') const newClient = () => new PrismaClient({ - adapter: { - queryRaw: () => {}, - executeRaw: () => {}, - startTransaction: () => {}, - }, + adapter: mockAdapter('postgres'), }) expect(newClient).toThrowErrorMatchingInlineSnapshot(` diff --git a/packages/client/tests/e2e/driver-adapters-accelerate/tests/no-engine.ts b/packages/client/tests/e2e/driver-adapters-accelerate/tests/no-engine.ts index 40648bf84db3..2274f4ca14cd 100644 --- a/packages/client/tests/e2e/driver-adapters-accelerate/tests/no-engine.ts +++ b/packages/client/tests/e2e/driver-adapters-accelerate/tests/no-engine.ts @@ -1,14 +1,12 @@ +import { mockAdapter } from '../../_utils/mock-adapter' + test('driver adapters be used without an engine via @prisma/client/wasm', () => { jest.isolateModules(() => { const { PrismaClient } = require('@prisma/client/wasm') const newClient = () => new PrismaClient({ - adapter: { - queryRaw: () => {}, - executeRaw: () => {}, - startTransaction: () => {}, - }, + adapter: mockAdapter('postgres'), }) expect(newClient).toThrowErrorMatchingInlineSnapshot(` @@ -24,11 +22,7 @@ test('driver adapters cannot be used without an engine via @prisma/client/defaul const newClient = () => new PrismaClient({ - adapter: { - queryRaw: () => {}, - executeRaw: () => {}, - startTransaction: () => {}, - }, + adapter: mockAdapter('postgres'), }) expect(newClient).toThrowErrorMatchingInlineSnapshot(` diff --git a/packages/client/tests/e2e/driver-adapters-accelerate/tests/url.ts b/packages/client/tests/e2e/driver-adapters-accelerate/tests/url.ts index 94aaeae75592..31160f755108 100644 --- a/packages/client/tests/e2e/driver-adapters-accelerate/tests/url.ts +++ b/packages/client/tests/e2e/driver-adapters-accelerate/tests/url.ts @@ -1,42 +1,47 @@ -test('driver adapters cannot be used with accelerate via @prisma/client/wasm', () => { - jest.isolateModules(() => { - const { PrismaClient } = require('@prisma/client/wasm') - - const newClient = () => - new PrismaClient({ - adapter: { - queryRaw: () => {}, - executeRaw: () => {}, - startTransaction: () => {}, - }, - datasourceUrl: 'prisma://localhost:1234', - }) - - expect(newClient).toThrowErrorMatchingInlineSnapshot(` -"Prisma Client was configured to use the \`adapter\` option but the URL was a \`prisma://\` URL. -Please either use the \`prisma://\` URL or remove the \`adapter\` from the Prisma Client constructor." -`) +import { mockAdapter } from '../../_utils/mock-adapter' + +describe('driver adapters cannot be used with accelerate', () => { + let dbURL: string | undefined + + beforeEach(() => { + dbURL = process.env['DATABASE_URL'] + process.env['DATABASE_URL'] = 'prisma://localhost:1234' }) -}) -test('driver adapters cannot be used with accelerate via @prisma/client/default', () => { - jest.isolateModules(() => { - const { PrismaClient } = require('@prisma/client/default') - - const newClient = () => - new PrismaClient({ - adapter: { - queryRaw: () => {}, - executeRaw: () => {}, - startTransaction: () => {}, - }, - datasourceUrl: 'prisma://localhost:1234', - }) - - expect(newClient).toThrowErrorMatchingInlineSnapshot(` -"Prisma Client was configured to use the \`adapter\` option but the URL was a \`prisma://\` URL. -Please either use the \`prisma://\` URL or remove the \`adapter\` from the Prisma Client constructor." -`) + afterEach(() => { + process.env['DATABASE_URL'] = dbURL + }) + + test('driver adapters cannot be used with accelerate via @prisma/client/wasm', () => { + jest.isolateModules(() => { + const { PrismaClient } = require('@prisma/client/wasm') + + const newClient = () => + new PrismaClient({ + adapter: mockAdapter('postgres'), + }) + + expect(newClient).toThrowErrorMatchingInlineSnapshot(` + "Prisma Client was configured to use the \`adapter\` option but the URL was a \`prisma://\` URL. + Please either use the \`prisma://\` URL or remove the \`adapter\` from the Prisma Client constructor." + `) + }) + }) + + test('driver adapters cannot be used with accelerate via @prisma/client/default', () => { + jest.isolateModules(() => { + const { PrismaClient } = require('@prisma/client/default') + + const newClient = () => + new PrismaClient({ + adapter: mockAdapter('postgres'), + }) + + expect(newClient).toThrowErrorMatchingInlineSnapshot(` + "Prisma Client was configured to use the \`adapter\` option but the URL was a \`prisma://\` URL. + Please either use the \`prisma://\` URL or remove the \`adapter\` from the Prisma Client constructor." + `) + }) }) }) diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/_steps.ts b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/_steps.ts new file mode 100644 index 000000000000..7e602e4d8863 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/_steps.ts @@ -0,0 +1,18 @@ +import { $ } from 'zx' + +import { executeSteps } from '../../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm prisma generate` + await $`pnpm prisma db push --force-reset --accept-data-loss --skip-generate` + }, + test: async () => { + await $`pnpm exec jest` + }, + finish: async () => { + await $`echo "done"` + }, + // keep: true, // keep docker open to debug it +}) diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/docker-compose.yaml b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/docker-compose.yaml new file mode 100644 index 000000000000..9ca3996bf14a --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/docker-compose.yaml @@ -0,0 +1,46 @@ +services: + test-e2e: + environment: + - POSTGRES_URL=postgres://prisma:prisma@postgres:5432/tests + - NEON_WS_PROXY=neon_wsproxy:80/v1 + depends_on: + neon_wsproxy: + condition: service_healthy + + neon_wsproxy: + image: ghcr.io/neondatabase/wsproxy:latest + environment: + APPEND_PORT: 'postgres:5432' + ALLOW_ADDR_REGEX: '.*' + LOG_TRAFFIC: 'true' + LOG_CONN_INFO: 'true' + ports: + - '5488:80' + depends_on: + - postgres + restart: unless-stopped + healthcheck: + test: ['CMD', 'nc', '-z', '127.0.0.1', '80'] + interval: 5s + timeout: 2s + retries: 20 + + postgres: + image: postgres:16 + restart: unless-stopped + # Uncomment the following line to enable query logging + # Then restart the container. + # command: ['postgres', '-c', 'log_statement=all'] + environment: + - POSTGRES_DB=tests + - POSTGRES_USER=prisma + - POSTGRES_PASSWORD=prisma + ports: + - '15432:5432' + healthcheck: + # specifying user and database is needed to avoid `FATAL: role "root" does not exist` + # spam in the logs + test: ['CMD', 'pg_isready', '-U', 'prisma', '-d', 'tests'] + interval: 5s + timeout: 2s + retries: 20 diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/jest.config.js b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/jest.config.js new file mode 100644 index 000000000000..f42e463cb29e --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/jest.config.js @@ -0,0 +1,6 @@ +const defaultConfig = require('../jest.config') + +module.exports = { + ...defaultConfig, + setupFiles: './jestSetup.js', +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/jestSetup.ts b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/jestSetup.ts new file mode 100644 index 000000000000..089592d0fea4 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/jestSetup.ts @@ -0,0 +1,24 @@ +const { webcrypto } = require('node:crypto') + +// Note: the `crypto` shim provided below is not enough, but is preserved for reference purposes. +// We also needed to patch `@neondatabase/serverless` to use +// +// ```javascript +// export const crypto = globalThis.crypto ?? require('node:crypto').webcrypto; +// ``` +// +// instead of +// +// ```javascript +// export const crypto = globalThis.crypto ?? {}; +// ``` +// +// The patch is applied via `pnpm patch @neondatabase/serverless`, and stored in `patches/@neondatabase__serverless*`. +// ---------------- +// +// This `crypto` shim is needed to avoid `TypeError: g.getRandomValues is not a function` error in https://github.com/neondatabase/serverless/blob/14ac4a46b8c997fe8590e3bfa5dcc97eb5e9ca7e/shims/crypto/index.ts#L4. +// This must be set before importing `@neondatabase/serverless` due to https://github.com/neondatabase/serverless/blob/14ac4a46b8c997fe8590e3bfa5dcc97eb5e9ca7e/shims/shims.js#L7. +if (!globalThis.crypto) { + // @ts-ignore + globalThis.crypto = webcrypto +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/package.json b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/package.json new file mode 100644 index 000000000000..ba4f8359f1d0 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/package.json @@ -0,0 +1,22 @@ +{ + "private": true, + "version": "0.0.0", + "main": "index.js", + "scripts": {}, + "dependencies": { + "@neondatabase/serverless": "0.9.4", + "@prisma/adapter-neon": "/tmp/prisma-adapter-neon-0.0.0.tgz", + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", + "undici": "^6.19.2" + }, + "devDependencies": { + "@types/jest": "29.5.12", + "@types/node": "18.19.50", + "prisma": "/tmp/prisma-0.0.0.tgz" + }, + "pnpm": { + "patchedDependencies": { + "@neondatabase/serverless@0.9.4": "patches/@neondatabase__serverless@0.9.4.patch" + } + } +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/patches/@neondatabase__serverless@0.9.4.patch b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/patches/@neondatabase__serverless@0.9.4.patch new file mode 100644 index 000000000000..5a292ab6c3f7 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/patches/@neondatabase__serverless@0.9.4.patch @@ -0,0 +1,26 @@ +diff --git a/index.js b/index.js +index 39825dd49813e504bc79a776dd957f38a7c36159..e4a0aa97929acc3fa7185d6867bea431b366a532 100644 +--- a/index.js ++++ b/index.js +@@ -363,7 +363,7 @@ let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let n=t*16;for(l + 16;++i)e[n+i]=r[t]+r[i]}return e}();function we(r){return typeof BigInt>"u"?Oo:r} + a(we,"defineBigIntMethod");function Oo(){throw new Error("BigInt not supported")} + a(Oo,"BufferBigIntNotDefined")});var b,S,v,g,d,m,p=z(()=>{"use strict";b=globalThis,S=globalThis.setImmediate??(r=>setTimeout( +-r,0)),v=globalThis.clearImmediate??(r=>clearTimeout(r)),g=globalThis.crypto??{}; ++r,0)),v=globalThis.clearImmediate??(r=>clearTimeout(r)),g=globalThis.crypto??require('node:crypto').webcrypto; + g.subtle??(g.subtle={});d=typeof globalThis.Buffer=="function"&&typeof globalThis. + Buffer.allocUnsafe=="function"?globalThis.Buffer:Kn().Buffer,m=globalThis.process?? + {};m.env??(m.env={});try{m.nextTick(()=>{})}catch{let e=Promise.resolve();m.nextTick= +diff --git a/index.mjs b/index.mjs +index 737ff0c0a2ebbdbef339d42f48b5cad24650612b..c07c0fb7b88ca6a62784ad121cdbef045230229c 100644 +--- a/index.mjs ++++ b/index.mjs +@@ -363,7 +363,7 @@ let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let n=t*16;for(l + 16;++i)e[n+i]=r[t]+r[i]}return e}();function ge(r){return typeof BigInt>"u"?Oo:r} + a(ge,"defineBigIntMethod");function Oo(){throw new Error("BigInt not supported")} + a(Oo,"BufferBigIntNotDefined")});var b,S,v,g,d,m,p=z(()=>{"use strict";b=globalThis,S=globalThis.setImmediate??(r=>setTimeout( +-r,0)),v=globalThis.clearImmediate??(r=>clearTimeout(r)),g=globalThis.crypto??{}; ++r,0)),v=globalThis.clearImmediate??(r=>clearTimeout(r)),g=globalThis.crypto??require('node:crypto').webcrypto; + g.subtle??(g.subtle={});d=typeof globalThis.Buffer=="function"&&typeof globalThis. + Buffer.allocUnsafe=="function"?globalThis.Buffer:$n().Buffer,m=globalThis.process?? + {};m.env??(m.env={});try{m.nextTick(()=>{})}catch{let e=Promise.resolve();m.nextTick= diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/pnpm-lock.yaml b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/pnpm-lock.yaml new file mode 100644 index 000000000000..5bd5a2ebcce4 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/pnpm-lock.yaml @@ -0,0 +1,543 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +patchedDependencies: + '@neondatabase/serverless@0.9.4': + hash: rojueuwjz6a4jualxhzbpzngqu + path: patches/@neondatabase__serverless@0.9.4.patch + +dependencies: + '@neondatabase/serverless': + specifier: 0.9.4 + version: 0.9.4(patch_hash=rojueuwjz6a4jualxhzbpzngqu) + '@prisma/adapter-neon': + specifier: /tmp/prisma-adapter-neon-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.4) + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + undici: + specifier: ^6.19.2 + version: 6.19.8 + +devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + dev: true + + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + dev: true + + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + dev: true + + /@neondatabase/serverless@0.9.4(patch_hash=rojueuwjz6a4jualxhzbpzngqu): + resolution: {integrity: sha512-D0AXgJh6xkf+XTlsO7iwE2Q1w8981E1cLCPAALMU2YKtkF/1SF6BiAzYARZFYo175ON+b1RNIy9TdSFHm5nteg==} + dependencies: + '@types/pg': 8.11.6 + dev: false + patched: true + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + dev: true + + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + dev: true + + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.6: + resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} + dependencies: + '@types/node': 18.19.50 + pg-protocol: 1.7.0 + pg-types: 4.0.2 + dev: false + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true + + /@types/yargs@17.0.33: + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + dev: true + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: false + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + dev: false + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: false + + /pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} + dev: false + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + dev: false + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: false + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: false + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + dev: true + + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + dev: false + + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.4): + resolution: {integrity: sha512-mHocwANi/csT8/bOYHa8pi2wnQGlG29JyfNVbKua9sSIsWieFqBj1v49e2/gxHCIYUmxRdo3QK8Yqr/vhRQeGg==, tarball: file:../../../../../../../../../../tmp/prisma-adapter-neon-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-adapter-neon-0.0.0.tgz + name: '@prisma/adapter-neon' + version: 0.0.0 + peerDependencies: + '@neondatabase/serverless': ^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 + dependencies: + '@neondatabase/serverless': 0.9.4(patch_hash=rojueuwjz6a4jualxhzbpzngqu) + '@prisma/driver-adapter-utils': file:../../../../../../../../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + postgres-array: 3.0.2 + dev: false + + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz: + resolution: {integrity: sha512-wXngMyVf72pH6BrnSh6JM2R0IQdyNvw7gnsPI3sUMYd0KtT3dZXy/Qjw2jfKECRXnVZWBcyIKHtrU7N3LYYYRA==, tarball: file:../../../../../../../../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + name: '@prisma/driver-adapter-utils' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + dev: false + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/prisma/schema.prisma b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/prisma/schema.prisma new file mode 100644 index 000000000000..37683969de2e --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/prisma/schema.prisma @@ -0,0 +1,19 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters", "multiSchema"] +} + +datasource db { + provider = "postgres" + url = env("POSTGRES_URL") + schemas = ["base", "public"] +} + +model User { + id String @id + + @@schema("base") +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/readme.md b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/readme.md new file mode 100644 index 000000000000..f0283d6c8595 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/readme.md @@ -0,0 +1,3 @@ +# Readme + +Test custom database schemas for `provider = "postgres"` with `adapter-neon`. diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/tests/main.ts b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/tests/main.ts new file mode 100644 index 000000000000..064e01190f7e --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/tests/main.ts @@ -0,0 +1,33 @@ +import { neonConfig, Pool } from '@neondatabase/serverless' +import { PrismaNeon } from '@prisma/adapter-neon' +import { PrismaClient } from '@prisma/client' +import { WebSocket } from 'undici' + +test('neon supports custom database schema (default is: "public".)', async () => { + const pool = new Pool({ connectionString: process.env.POSTGRES_URL }) + + neonConfig.wsProxy = () => process.env.NEON_WS_PROXY + neonConfig.webSocketConstructor = WebSocket + neonConfig.useSecureWebSocket = false // disable tls + neonConfig.pipelineConnect = false + + const adapter = new PrismaNeon(pool, { schema: 'base' }) + + const prisma = new PrismaClient({ + errorFormat: 'minimal', + adapter, + }) + + const USER_ID = '1' + + await prisma.user.create({ + data: { + id: USER_ID, + }, + }) + + const baseUsers = await prisma.$queryRawUnsafe(`SELECT * FROM "base"."User" WHERE id = $1`, USER_ID) + expect(baseUsers).toMatchObject([{ id: USER_ID }]) + + await pool.end() +}) diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/tsconfig.json b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/tsconfig.json new file mode 100644 index 000000000000..1d0b21415338 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-neon/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/_steps.ts b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/_steps.ts new file mode 100644 index 000000000000..7e602e4d8863 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/_steps.ts @@ -0,0 +1,18 @@ +import { $ } from 'zx' + +import { executeSteps } from '../../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm prisma generate` + await $`pnpm prisma db push --force-reset --accept-data-loss --skip-generate` + }, + test: async () => { + await $`pnpm exec jest` + }, + finish: async () => { + await $`echo "done"` + }, + // keep: true, // keep docker open to debug it +}) diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/docker-compose.yaml b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/docker-compose.yaml new file mode 100644 index 000000000000..9207bbac0dde --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/docker-compose.yaml @@ -0,0 +1,19 @@ +services: + test-e2e: + environment: + - POSTGRES_URL=postgres://prisma:prisma@postgres:5432/tests + depends_on: + postgres: + condition: service_healthy + + postgres: + image: postgres:16 + environment: + - POSTGRES_DB=tests + - POSTGRES_USER=prisma + - POSTGRES_PASSWORD=prisma + healthcheck: + test: ['CMD', 'pg_isready', '-U', 'prisma', '-d', 'tests'] + interval: 5s + timeout: 2s + retries: 20 diff --git a/packages/client/tests/e2e/prisma-client-imports/jest.config.js b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/jest.config.js similarity index 100% rename from packages/client/tests/e2e/prisma-client-imports/jest.config.js rename to packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/jest.config.js diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/package.json b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/package.json new file mode 100644 index 000000000000..c1de94b3c738 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/package.json @@ -0,0 +1,17 @@ +{ + "private": true, + "version": "0.0.0", + "main": "index.js", + "scripts": {}, + "dependencies": { + "@prisma/adapter-pg": "/tmp/prisma-adapter-pg-0.0.0.tgz", + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", + "pg": "^8.12.0" + }, + "devDependencies": { + "@types/jest": "29.5.12", + "@types/node": "18.19.50", + "@types/pg": "^8.11.6", + "prisma": "/tmp/prisma-0.0.0.tgz" + } +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/pnpm-lock.yaml b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/pnpm-lock.yaml new file mode 100644 index 000000000000..d965338eb413 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/pnpm-lock.yaml @@ -0,0 +1,694 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@prisma/adapter-pg': + specifier: /tmp/prisma-adapter-pg-0.0.0.tgz + version: file:../../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.13.0) + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../../tmp/prisma-0.0.0.tgz) + pg: + specifier: ^8.12.0 + version: 8.13.0 + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + '@types/pg': + specifier: ^8.11.6 + version: 8.11.10 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../tmp/prisma-0.0.0.tgz + +packages: + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@prisma/adapter-pg@file:../../../tmp/prisma-adapter-pg-0.0.0.tgz': + resolution: {integrity: sha512-4r7sk6QwjkeaFDPzTEb17bLHLjZ3yE9jfV1mK9en8tWzfFhdTv8SWRYMa+6oMX9vhergqscKsaMh57d2DTUIEg==, tarball: file:../../../tmp/prisma-adapter-pg-0.0.0.tgz} + version: 0.0.0 + peerDependencies: + pg: ^8.11.3 + + '@prisma/client@file:../../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/driver-adapter-utils@file:../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + resolution: {integrity: sha512-EsH1eFc27KdbUjrAl9AI/7+Ev7TL133B7V/aECsyPH9JtbGvIiKfVJBS+fNLH1hk6nbTdjlFp1LRPAUNhrPGNw==, tarball: file:../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/pg@8.11.10': + resolution: {integrity: sha512-LczQUW4dbOQzsH2RQ5qoeJ6qJPdrcM/DcMLoqWQkMLMsq83J5lAX3LXjdkWdpscFy67JSOWDnh7Ny/sPFykmkg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + pg-pool@3.7.0: + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + + pg@8.13.0: + resolution: {integrity: sha512-34wkUTh3SxTClfoHB3pQ7bIMvw9dpFU1audQQeZG837fmHfHpr14n/AELVDoOYVDW2h5RDWU78tFjkD+erSBsw==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + +snapshots: + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/adapter-pg@file:../../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.13.0)': + dependencies: + '@prisma/driver-adapter-utils': file:../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + pg: 8.13.0 + postgres-array: 3.0.2 + + '@prisma/client@file:../../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/driver-adapter-utils@file:../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/pg@8.11.10': + dependencies: + '@types/node': 18.19.50 + pg-protocol: 1.7.0 + pg-types: 4.0.2 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + obuf@1.1.2: {} + + pg-cloudflare@1.1.1: + optional: true + + pg-connection-string@2.7.0: {} + + pg-int8@1.0.1: {} + + pg-numeric@1.0.2: {} + + pg-pool@3.7.0(pg@8.13.0): + dependencies: + pg: 8.13.0 + + pg-protocol@1.7.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg-types@4.0.2: + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + pg@8.13.0: + dependencies: + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.13.0) + pg-protocol: 1.7.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + postgres-array@2.0.0: {} + + postgres-array@3.0.2: {} + + postgres-bytea@1.0.0: {} + + postgres-bytea@3.0.0: + dependencies: + obuf: 1.1.2 + + postgres-date@1.0.7: {} + + postgres-date@2.1.0: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + + postgres-interval@3.0.0: {} + + postgres-range@1.1.4: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + split2@4.2.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} + + xtend@4.0.2: {} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/prisma/schema.prisma b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/prisma/schema.prisma new file mode 100644 index 000000000000..37683969de2e --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/prisma/schema.prisma @@ -0,0 +1,19 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters", "multiSchema"] +} + +datasource db { + provider = "postgres" + url = env("POSTGRES_URL") + schemas = ["base", "public"] +} + +model User { + id String @id + + @@schema("base") +} diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/readme.md b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/readme.md new file mode 100644 index 000000000000..14fba604f6b4 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/readme.md @@ -0,0 +1,3 @@ +# Readme + +Test custom database schemas for `provider = "postgres"` with `adapter-pg`. diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/tests/main.ts b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/tests/main.ts new file mode 100644 index 000000000000..8b9dbc17c735 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/tests/main.ts @@ -0,0 +1,25 @@ +import { PrismaPg } from '@prisma/adapter-pg' +import { PrismaClient } from '@prisma/client' +import { Pool } from 'pg' + +test('pg supports custom database schema (default is: "public".
)', async () => { + const pool = new Pool({ connectionString: process.env.POSTGRES_URL }) + const adapter = new PrismaPg(pool, { schema: 'base' }) + const prisma = new PrismaClient({ + errorFormat: 'minimal', + adapter, + }) + + const USER_ID = '1' + + await prisma.user.create({ + data: { + id: USER_ID, + }, + }) + + const baseUsers = await prisma.$queryRawUnsafe(`SELECT * FROM "base"."User" WHERE id = $1`, USER_ID) + expect(baseUsers).toMatchObject([{ id: USER_ID }]) + + await pool.end() +}) diff --git a/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/tsconfig.json b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/tsconfig.json new file mode 100644 index 000000000000..1d0b21415338 --- /dev/null +++ b/packages/client/tests/e2e/driver-adapters-custom-db-schema/adapter-pg/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/package.json b/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/package.json index b8026493a1c9..527d45d5828d 100644 --- a/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/package.json +++ b/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/pnpm-lock.yaml b/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/pnpm-lock.yaml index 446b4e725954..a05b61e0ff94 100644 --- a/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/pnpm-lock.yaml +++ b/packages/client/tests/e2e/engine-not-found-error/binary-targets-incorrectly-pinned/pnpm-lock.yaml @@ -6,39 +6,57 @@ settings: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -46,7 +64,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/package.json b/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/package.json index 1b8a620e6fb2..f26a6e2f06fa 100644 --- a/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/package.json +++ b/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "esbuild": "0.21.4", "prisma": "/tmp/prisma-0.0.0.tgz" } diff --git a/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/pnpm-lock.yaml b/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/pnpm-lock.yaml index e5b955cb1bad..df01cb3abbf2 100644 --- a/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/pnpm-lock.yaml +++ b/packages/client/tests/e2e/engine-not-found-error/bundler-tampered-with-engine-copy/pnpm-lock.yaml @@ -6,24 +6,33 @@ settings: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 esbuild: - specifier: ^0.17.19 - version: 0.17.19 + specifier: 0.21.4 + version: 0.21.4 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + /@esbuild/aix-ppc64@0.21.4: + resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.21.4: + resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -31,8 +40,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + /@esbuild/android-arm@0.21.4: + resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -40,8 +49,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + /@esbuild/android-x64@0.21.4: + resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -49,8 +58,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + /@esbuild/darwin-arm64@0.21.4: + resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -58,8 +67,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + /@esbuild/darwin-x64@0.21.4: + resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -67,8 +76,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + /@esbuild/freebsd-arm64@0.21.4: + resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -76,8 +85,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + /@esbuild/freebsd-x64@0.21.4: + resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -85,8 +94,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + /@esbuild/linux-arm64@0.21.4: + resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -94,8 +103,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + /@esbuild/linux-arm@0.21.4: + resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -103,8 +112,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + /@esbuild/linux-ia32@0.21.4: + resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -112,8 +121,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + /@esbuild/linux-loong64@0.21.4: + resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -121,8 +130,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + /@esbuild/linux-mips64el@0.21.4: + resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -130,8 +139,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + /@esbuild/linux-ppc64@0.21.4: + resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -139,8 +148,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + /@esbuild/linux-riscv64@0.21.4: + resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -148,8 +157,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + /@esbuild/linux-s390x@0.21.4: + resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -157,8 +166,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + /@esbuild/linux-x64@0.21.4: + resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -166,8 +175,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + /@esbuild/netbsd-x64@0.21.4: + resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -175,8 +184,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + /@esbuild/openbsd-x64@0.21.4: + resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -184,8 +193,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + /@esbuild/sunos-x64@0.21.4: + resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -193,8 +202,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + /@esbuild/win32-arm64@0.21.4: + resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -202,8 +211,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + /@esbuild/win32-ia32@0.21.4: + resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -211,8 +220,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + /@esbuild/win32-x64@0.21.4: + resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -220,56 +229,75 @@ packages: dev: true optional: true - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + /esbuild@0.21.4: + resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 + '@esbuild/aix-ppc64': 0.21.4 + '@esbuild/android-arm': 0.21.4 + '@esbuild/android-arm64': 0.21.4 + '@esbuild/android-x64': 0.21.4 + '@esbuild/darwin-arm64': 0.21.4 + '@esbuild/darwin-x64': 0.21.4 + '@esbuild/freebsd-arm64': 0.21.4 + '@esbuild/freebsd-x64': 0.21.4 + '@esbuild/linux-arm': 0.21.4 + '@esbuild/linux-arm64': 0.21.4 + '@esbuild/linux-ia32': 0.21.4 + '@esbuild/linux-loong64': 0.21.4 + '@esbuild/linux-mips64el': 0.21.4 + '@esbuild/linux-ppc64': 0.21.4 + '@esbuild/linux-riscv64': 0.21.4 + '@esbuild/linux-s390x': 0.21.4 + '@esbuild/linux-x64': 0.21.4 + '@esbuild/netbsd-x64': 0.21.4 + '@esbuild/openbsd-x64': 0.21.4 + '@esbuild/sunos-x64': 0.21.4 + '@esbuild/win32-arm64': 0.21.4 + '@esbuild/win32-ia32': 0.21.4 + '@esbuild/win32-x64': 0.21.4 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -277,7 +305,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/package.json b/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/package.json index b8026493a1c9..527d45d5828d 100644 --- a/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/package.json +++ b/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/pnpm-lock.yaml b/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/pnpm-lock.yaml index 446b4e725954..a05b61e0ff94 100644 --- a/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/pnpm-lock.yaml +++ b/packages/client/tests/e2e/engine-not-found-error/native-generated-different-platform/pnpm-lock.yaml @@ -6,39 +6,57 @@ settings: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -46,7 +64,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/package.json b/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/package.json index 1b8a620e6fb2..f26a6e2f06fa 100644 --- a/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/package.json +++ b/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "esbuild": "0.21.4", "prisma": "/tmp/prisma-0.0.0.tgz" } diff --git a/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/pnpm-lock.yaml b/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/pnpm-lock.yaml index e5b955cb1bad..df01cb3abbf2 100644 --- a/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/pnpm-lock.yaml +++ b/packages/client/tests/e2e/engine-not-found-error/tooling-tampered-with-engine-copy/pnpm-lock.yaml @@ -6,24 +6,33 @@ settings: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 esbuild: - specifier: ^0.17.19 - version: 0.17.19 + specifier: 0.21.4 + version: 0.21.4 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + /@esbuild/aix-ppc64@0.21.4: + resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.21.4: + resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -31,8 +40,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + /@esbuild/android-arm@0.21.4: + resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -40,8 +49,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + /@esbuild/android-x64@0.21.4: + resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -49,8 +58,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + /@esbuild/darwin-arm64@0.21.4: + resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -58,8 +67,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + /@esbuild/darwin-x64@0.21.4: + resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -67,8 +76,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + /@esbuild/freebsd-arm64@0.21.4: + resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -76,8 +85,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + /@esbuild/freebsd-x64@0.21.4: + resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -85,8 +94,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + /@esbuild/linux-arm64@0.21.4: + resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -94,8 +103,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + /@esbuild/linux-arm@0.21.4: + resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -103,8 +112,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + /@esbuild/linux-ia32@0.21.4: + resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -112,8 +121,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + /@esbuild/linux-loong64@0.21.4: + resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -121,8 +130,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + /@esbuild/linux-mips64el@0.21.4: + resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -130,8 +139,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + /@esbuild/linux-ppc64@0.21.4: + resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -139,8 +148,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + /@esbuild/linux-riscv64@0.21.4: + resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -148,8 +157,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + /@esbuild/linux-s390x@0.21.4: + resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -157,8 +166,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + /@esbuild/linux-x64@0.21.4: + resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -166,8 +175,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + /@esbuild/netbsd-x64@0.21.4: + resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -175,8 +184,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + /@esbuild/openbsd-x64@0.21.4: + resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -184,8 +193,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + /@esbuild/sunos-x64@0.21.4: + resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -193,8 +202,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + /@esbuild/win32-arm64@0.21.4: + resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -202,8 +211,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + /@esbuild/win32-ia32@0.21.4: + resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -211,8 +220,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + /@esbuild/win32-x64@0.21.4: + resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -220,56 +229,75 @@ packages: dev: true optional: true - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + /esbuild@0.21.4: + resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 + '@esbuild/aix-ppc64': 0.21.4 + '@esbuild/android-arm': 0.21.4 + '@esbuild/android-arm64': 0.21.4 + '@esbuild/android-x64': 0.21.4 + '@esbuild/darwin-arm64': 0.21.4 + '@esbuild/darwin-x64': 0.21.4 + '@esbuild/freebsd-arm64': 0.21.4 + '@esbuild/freebsd-x64': 0.21.4 + '@esbuild/linux-arm': 0.21.4 + '@esbuild/linux-arm64': 0.21.4 + '@esbuild/linux-ia32': 0.21.4 + '@esbuild/linux-loong64': 0.21.4 + '@esbuild/linux-mips64el': 0.21.4 + '@esbuild/linux-ppc64': 0.21.4 + '@esbuild/linux-riscv64': 0.21.4 + '@esbuild/linux-s390x': 0.21.4 + '@esbuild/linux-x64': 0.21.4 + '@esbuild/netbsd-x64': 0.21.4 + '@esbuild/openbsd-x64': 0.21.4 + '@esbuild/sunos-x64': 0.21.4 + '@esbuild/win32-arm64': 0.21.4 + '@esbuild/win32-ia32': 0.21.4 + '@esbuild/win32-x64': 0.21.4 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -277,7 +305,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/enum-import-in-edge/_steps.ts b/packages/client/tests/e2e/enum-import-in-edge/_steps.ts index 26a03e529a3b..46a254fdfb75 100644 --- a/packages/client/tests/e2e/enum-import-in-edge/_steps.ts +++ b/packages/client/tests/e2e/enum-import-in-edge/_steps.ts @@ -8,7 +8,7 @@ void executeSteps({ await $`pnpm prisma generate` }, test: async () => { - const wranglerProcess = $`pnpm wrangler dev src/index.ts`.nothrow() + const wranglerProcess = $`pnpm wrangler dev --ip 127.0.0.1 --port 8787 src/index.ts`.nothrow() // wait for the server to be fully ready for await (const line of wranglerProcess.stdout) { diff --git a/packages/client/tests/e2e/enum-import-in-edge/package.json b/packages/client/tests/e2e/enum-import-in-edge/package.json index bb93bd8282b3..8145587264e0 100644 --- a/packages/client/tests/e2e/enum-import-in-edge/package.json +++ b/packages/client/tests/e2e/enum-import-in-edge/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/enum-import-in-edge/pnpm-lock.yaml b/packages/client/tests/e2e/enum-import-in-edge/pnpm-lock.yaml index 6569b8de2287..9b90dfbe2982 100644 --- a/packages/client/tests/e2e/enum-import-in-edge/pnpm-lock.yaml +++ b/packages/client/tests/e2e/enum-import-in-edge/pnpm-lock.yaml @@ -12,63 +12,63 @@ importers: specifier: /tmp/prisma-client-0.0.0.tgz version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) wrangler: - specifier: 3.53.0 - version: 3.53.0 + specifier: 3.59.0 + version: 3.59.0 devDependencies: '@types/jest': specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz packages: - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} '@cloudflare/kv-asset-handler@0.3.2': resolution: {integrity: sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==} engines: {node: '>=16.13'} - '@cloudflare/workerd-darwin-64@1.20240419.0': - resolution: {integrity: sha512-PGVe9sYWULHfvGhN0IZh8MsskNG/ufnBSqPbgFCxJHCTrVXLPuC35EoVaforyqjKRwj3U35XMyGo9KHcGnTeHQ==} + '@cloudflare/workerd-darwin-64@1.20240524.0': + resolution: {integrity: sha512-ATaXjefbTsrv4mpn4Fdua114RRDXcX5Ky+Mv+f4JTUllgalmqC4CYMN4jxRz9IpJU/fNMN8IEfvUyuJBAcl9Iw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20240419.0': - resolution: {integrity: sha512-z4etQSPiD5Gcjs962LiC7ZdmXnN6SGof5KrYoFiSI9X9kUvpuGH/lnjVVPd+NnVNeDU2kzmcAIgyZjkjTaqVXQ==} + '@cloudflare/workerd-darwin-arm64@1.20240524.0': + resolution: {integrity: sha512-wnbsZI4CS0QPCd+wnBHQ40C28A/2Qo4ESi1YhE2735G3UNcc876MWksZhsubd+XH0XPIra6eNFqyw6wRMpQOXA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20240419.0': - resolution: {integrity: sha512-lBwhg0j3sYTFMsEb4bOClbVje8nqrYOu0H3feQlX+Eks94JIhWPkf8ywK4at/BUc1comPMhCgzDHwc2OMPUGgg==} + '@cloudflare/workerd-linux-64@1.20240524.0': + resolution: {integrity: sha512-E8mj+HPBryKwaJAiNsYzXtVjKCL0KvUBZbtxJxlWM4mLSQhT+uwGT3nydb/hFY59rZnQgZslw0oqEWht5TEYiQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20240419.0': - resolution: {integrity: sha512-ZMY6wwWkxL+WPq8ydOp/irSYjAnMhBz1OC1+4z+OANtDs2beaZODmq7LEB3hb5WUAaTPY7DIjZh3DfDfty0nYg==} + '@cloudflare/workerd-linux-arm64@1.20240524.0': + resolution: {integrity: sha512-/Fr1W671t2triNCDCBWdStxngnbUfZunZ/2e4kaMLzJDJLYDtYdmvOUCBDzUD4ssqmIMbn9RCQQ0U+CLEoqBqw==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20240419.0': - resolution: {integrity: sha512-YJjgaJN2yGTkV7Cr4K3i8N4dUwVQTclT3Pr3NpRZCcLjTszwlE53++XXDnHMKGXBbSguIizaVbmcU2EtmIXyeQ==} + '@cloudflare/workerd-windows-64@1.20240524.0': + resolution: {integrity: sha512-G+ThDEx57g9mAEKqhWnHaaJgpeGYtyhkmwM/BDpLqPks/rAY5YEfZbY4YL1pNk1kkcZDXGrwIsY8xe9Apf5JdA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -239,16 +239,16 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -256,22 +256,22 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 '@sinclair/typebox@0.27.8': @@ -292,8 +292,8 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -301,15 +301,15 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -339,8 +339,8 @@ packages: blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} capnp-ts@0.7.0: @@ -382,8 +382,8 @@ packages: data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -423,8 +423,8 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} fsevents@2.3.3: @@ -464,8 +464,9 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} @@ -505,8 +506,8 @@ packages: magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime@3.0.0: @@ -514,13 +515,13 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - miniflare@3.20240419.0: - resolution: {integrity: sha512-fIev1PP4H+fQp5FtvzHqRY2v5s+jxh/a0xAhvM5fBNXvxWX7Zod1OatXfXwYbse3hqO3KeVMhb0osVtrW0NwJg==} + miniflare@3.20240524.2: + resolution: {integrity: sha512-Js+8cB61KJG0z2HuQTPLT9S6FwTBuMZfjtml3azUarLYsCF91N+PhIkvNpbkwCXcfRvscdjJ0RlT6lBQYEuIwA==} engines: {node: '>=16.13'} hasBin: true - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} @@ -542,11 +543,11 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -560,9 +561,9 @@ packages: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true react-is@18.3.1: @@ -633,30 +634,33 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} undici@5.28.4: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - workerd@1.20240419.0: - resolution: {integrity: sha512-9yV98KpkQgG+bdEsKEW8i1AYZgxns6NVSfdOVEB2Ue1pTMtIEYfUyqUE+O2amisRrfaC3Pw4EvjtTmVaoetfeg==} + workerd@1.20240524.0: + resolution: {integrity: sha512-LWLe5D8PVHBcqturmBbwgI71r7YPpIMYZoVEH6S4G35EqIJ55cb0n3FipoSyraoIfpcCxCFxX1K6WsRHbP3pFA==} engines: {node: '>=16'} hasBin: true - wrangler@3.53.0: - resolution: {integrity: sha512-JxkvCQekL9j8Mu4CEKM/HEVyDnymWzKQuMUuJH0yum1AilutD5HAP9kVVYmvu7BvwlRyRUAj8TI5OUxXnLCEpQ==} + wrangler@3.59.0: + resolution: {integrity: sha512-MLKejazUJrekbD8EnQfN6d7fei+IGnq2aVXeILFDy0aTktVNXKvO+eC+mND1zOr+k0KvQN4sJo8vGwqYoY7btw==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20240419.0 + '@cloudflare/workers-types': ^4.20240524.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true - ws@8.17.0: - resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -673,42 +677,42 @@ packages: youch@3.3.3: resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} - zod@3.23.6: - resolution: {integrity: sha512-RTHJlZhsRbuA8Hmp/iNL7jnfc4nZishjsanDAfEY1QpDQZCahUp3xDzl+zfweE9BklxMUcgBgS1b7Lvie/ZVwA==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} snapshots: - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/highlight@7.24.5': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 '@cloudflare/kv-asset-handler@0.3.2': dependencies: mime: 3.0.0 - '@cloudflare/workerd-darwin-64@1.20240419.0': + '@cloudflare/workerd-darwin-64@1.20240524.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20240419.0': + '@cloudflare/workerd-darwin-arm64@1.20240524.0': optional: true - '@cloudflare/workerd-linux-64@1.20240419.0': + '@cloudflare/workerd-linux-64@1.20240524.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20240419.0': + '@cloudflare/workerd-linux-arm64@1.20240524.0': optional: true - '@cloudflare/workerd-windows-64@1.20240419.0': + '@cloudflare/workerd-windows-64@1.20240524.0': optional: true '@cspotcode/source-map-support@0.8.1': @@ -806,18 +810,18 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 16.18.96 - '@types/yargs': 17.0.32 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': optionalDependencies: @@ -825,19 +829,19 @@ snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': @@ -863,21 +867,25 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 16.18.96 + '@types/node': 18.19.50 - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 '@types/stack-utils@2.0.3': {} '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.32': + '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 - acorn-walk@8.3.2: {} + acorn-walk@8.3.4: + dependencies: + acorn: 8.12.1 - acorn@8.11.3: {} + acorn@8.12.1: {} ansi-styles@3.2.1: dependencies: @@ -902,14 +910,14 @@ snapshots: blake3-wasm@2.1.5: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 capnp-ts@0.7.0: dependencies: - debug: 4.3.4 - tslib: 2.6.2 + debug: 4.3.7 + tslib: 2.7.0 transitivePeerDependencies: - supports-color @@ -927,7 +935,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -954,9 +962,9 @@ snapshots: data-uri-to-buffer@2.0.2: {} - debug@4.3.4: + debug@4.3.7: dependencies: - ms: 2.1.2 + ms: 2.1.3 diff-sequences@29.6.3: {} @@ -1003,7 +1011,7 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -1037,7 +1045,7 @@ snapshots: dependencies: binary-extensions: 2.3.0 - is-core-module@2.13.1: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -1067,12 +1075,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -1080,7 +1088,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -1092,33 +1100,33 @@ snapshots: dependencies: sourcemap-codec: 1.4.8 - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mime@3.0.0: {} - miniflare@3.20240419.0: + miniflare@3.20240524.2: dependencies: '@cspotcode/source-map-support': 0.8.1 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.1 + acorn-walk: 8.3.4 capnp-ts: 0.7.0 exit-hook: 2.2.1 glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20240419.0 - ws: 8.17.0 + workerd: 1.20240524.0 + ws: 8.18.0 youch: 3.3.3 - zod: 3.23.6 + zod: 3.23.8 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - ms@2.1.2: {} + ms@2.1.3: {} mustache@4.2.0: {} @@ -1130,9 +1138,9 @@ snapshots: path-parse@1.0.7: {} - path-to-regexp@6.2.2: {} + path-to-regexp@6.3.0: {} - picocolors@1.0.0: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -1147,6 +1155,8 @@ snapshots: prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 react-is@18.3.1: {} @@ -1158,7 +1168,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -1212,21 +1222,23 @@ snapshots: dependencies: is-number: 7.0.0 - tslib@2.6.2: {} + tslib@2.7.0: {} + + undici-types@5.26.5: {} undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 - workerd@1.20240419.0: + workerd@1.20240524.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240419.0 - '@cloudflare/workerd-darwin-arm64': 1.20240419.0 - '@cloudflare/workerd-linux-64': 1.20240419.0 - '@cloudflare/workerd-linux-arm64': 1.20240419.0 - '@cloudflare/workerd-windows-64': 1.20240419.0 + '@cloudflare/workerd-darwin-64': 1.20240524.0 + '@cloudflare/workerd-darwin-arm64': 1.20240524.0 + '@cloudflare/workerd-linux-64': 1.20240524.0 + '@cloudflare/workerd-linux-arm64': 1.20240524.0 + '@cloudflare/workerd-windows-64': 1.20240524.0 - wrangler@3.53.0: + wrangler@3.59.0: dependencies: '@cloudflare/kv-asset-handler': 0.3.2 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) @@ -1234,9 +1246,9 @@ snapshots: blake3-wasm: 2.1.5 chokidar: 3.6.0 esbuild: 0.17.19 - miniflare: 3.20240419.0 + miniflare: 3.20240524.2 nanoid: 3.3.7 - path-to-regexp: 6.2.2 + path-to-regexp: 6.3.0 resolve: 1.22.8 resolve.exports: 2.0.2 selfsigned: 2.4.1 @@ -1249,7 +1261,7 @@ snapshots: - supports-color - utf-8-validate - ws@8.17.0: {} + ws@8.18.0: {} xxhash-wasm@1.0.2: {} @@ -1259,4 +1271,4 @@ snapshots: mustache: 4.2.0 stacktracey: 2.1.8 - zod@3.23.6: {} + zod@3.23.8: {} diff --git a/packages/client/tests/e2e/ts-version/5.0/_steps.ts b/packages/client/tests/e2e/enum-import-unused/_steps.ts similarity index 69% rename from packages/client/tests/e2e/ts-version/5.0/_steps.ts rename to packages/client/tests/e2e/enum-import-unused/_steps.ts index 088d8ef55ad9..6e9b6d78ecec 100644 --- a/packages/client/tests/e2e/ts-version/5.0/_steps.ts +++ b/packages/client/tests/e2e/enum-import-unused/_steps.ts @@ -1,14 +1,15 @@ import { $ } from 'zx' -import { executeSteps } from '../../_utils/executeSteps' +import { executeSteps } from '../_utils/executeSteps' void executeSteps({ setup: async () => { await $`pnpm install` - await $`pnpm exec prisma generate` + await $`pnpm prisma generate` }, test: async () => { await $`pnpm exec tsc --noEmit` + await $`pnpm exec jest` }, finish: async () => { await $`echo "done"` diff --git a/packages/client/tests/e2e/ts-version/5.0/package.json b/packages/client/tests/e2e/enum-import-unused/package.json similarity index 81% rename from packages/client/tests/e2e/ts-version/5.0/package.json rename to packages/client/tests/e2e/enum-import-unused/package.json index a1c58186d598..f269f5f4b3b4 100644 --- a/packages/client/tests/e2e/ts-version/5.0/package.json +++ b/packages/client/tests/e2e/enum-import-unused/package.json @@ -8,8 +8,8 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz", - "typescript": "5.0.4" + "typescript": "5.6.3" } } diff --git a/packages/client/tests/e2e/enum-import-unused/pnpm-lock.yaml b/packages/client/tests/e2e/enum-import-unused/pnpm-lock.yaml new file mode 100644 index 000000000000..3720a5793069 --- /dev/null +++ b/packages/client/tests/e2e/enum-import-unused/pnpm-lock.yaml @@ -0,0 +1,443 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + typescript: + specifier: 5.6.3 + version: 5.6.3 + +packages: + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-czWwddSYokrEPT30VIICzPpHyyCFryOZQWzG/9tIKlTgI0rIpC1Rg28MV1dB0S0u3feOVJKpCuKDsheFckdWsQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-p0JMxlIJT4UedSQMFV09rTQNFbR2Rg/WgAdfRCjoewhSNZ1MLwi7xj4XbjuO+hAPhxzL5TLKvgX6M3VAq4JPeg==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.23.0-21.0160cc2f56997459423712af8dfa8cf1ad97704b': + resolution: {integrity: sha512-LxyXfmK9b0/S85bWHhFqLLqh2stf/j2espLgbONMssHfUiLxhfFXDh3VNenJJvjXWfsto30kanMeCjPfETK5aw==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-fo4RwYRy8bc0mpH86ePBI/0IOxqjFPTa/A8OTdzv/HPau8VqyQkJWKWIGGJcNjsA/BYIvxoTS/lVdAQ9TsSmSQ==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-tn6OM4POClwDYLNB58Wt2rAMdyRrVtJmoUoXcFGHgdxKC/67oWMnPABlAhhDH4iqUcKS6779xw/IoeHKGHTSMg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-UzbvgI+tm3ljWkV4OJq+NzdLQZSGjkCO6eRweDdQ3t+/BlIsIwxGxBfj+w3oufceRv6N+FuXybotTPb3IfNk7A==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-1lNiq1kUeY/wZ/4hJFUeAbogB79GaQED247wSAT+acDdZAyo/WEAkbqSNbegRQPWdsKmIZ1PXrjHuA3+UhfZBg==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-validator-identifier@7.25.9': {} + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.23.0-21.0160cc2f56997459423712af8dfa8cf1ad97704b': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.23.0-21.0160cc2f56997459423712af8dfa8cf1ad97704b + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.23.0-21.0160cc2f56997459423712af8dfa8cf1ad97704b + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + typescript@5.6.3: {} + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/enum-import-unused/prisma/schema.prisma b/packages/client/tests/e2e/enum-import-unused/prisma/schema.prisma new file mode 100644 index 000000000000..2cd6c1beeeb6 --- /dev/null +++ b/packages/client/tests/e2e/enum-import-unused/prisma/schema.prisma @@ -0,0 +1,26 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +model User { + id Int @id @default(autoincrement()) + enumUsed EnumUsed +} + +enum EnumUsed { + A + B +} + +enum EnumUnused { + C + D +} diff --git a/packages/client/tests/e2e/enum-import-unused/readme.md b/packages/client/tests/e2e/enum-import-unused/readme.md new file mode 100644 index 000000000000..e217ab6cc668 --- /dev/null +++ b/packages/client/tests/e2e/enum-import-unused/readme.md @@ -0,0 +1,5 @@ +# Readme + +Regression test for https://github.com/prisma/prisma/issues/13382. + +It ensures that enums can be imported from `@prisma/client` even when they're not used by any model. diff --git a/packages/client/tests/e2e/enum-import-unused/tests/index.ts b/packages/client/tests/e2e/enum-import-unused/tests/index.ts new file mode 100644 index 000000000000..9a753add92f8 --- /dev/null +++ b/packages/client/tests/e2e/enum-import-unused/tests/index.ts @@ -0,0 +1,20 @@ +import { EnumUnused, EnumUsed, Prisma } from '@prisma/client' + +test('can import enum from browser bundle', () => { + // `enum` for Prisma utility functions + expect(Prisma.TransactionIsolationLevel.ReadUncommitted).toEqual('ReadUncommitted') + + // `enum` that is used in at least one `model` + expect(EnumUsed).toEqual({ + A: 'A', + B: 'B', + }) + + // `enum` that isn't used in any `model` + expect(EnumUnused).toEqual({ + C: 'C', + D: 'D', + }) +}) + +export {} diff --git a/packages/client/tests/e2e/enum-import-unused/tsconfig.json b/packages/client/tests/e2e/enum-import-unused/tsconfig.json new file mode 100644 index 000000000000..1d0b21415338 --- /dev/null +++ b/packages/client/tests/e2e/enum-import-unused/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/example/package.json b/packages/client/tests/e2e/example/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/example/package.json +++ b/packages/client/tests/e2e/example/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/example/pnpm-lock.yaml b/packages/client/tests/e2e/example/pnpm-lock.yaml index 2384c90c1e01..3d6871f18ec2 100644 --- a/packages/client/tests/e2e/example/pnpm-lock.yaml +++ b/packages/client/tests/e2e/example/pnpm-lock.yaml @@ -1,390 +1,493 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.1 - version: 29.5.1 - '@types/node': - specifier: 16.18.11 - version: 16.18.11 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz packages: - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.11 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@prisma/engines-version@5.2.0-19.5f5f05f0ad19414db3359ad9abb14bca315017b3: - resolution: {integrity: sha512-ZFZ12nGtYFQ7CbGspLXfBUslWqfX/BB120+1FWGrPMCmEYzfjtC04oRILU0IrKsp5mZPQjaZTxiXeAV3wLG1nw==} - dev: false + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - /@types/jest@29.5.1: - resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} - dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 - dev: true + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} - dev: true + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.11 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 + micromatch: 4.0.8 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.11 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picocolors@1.1.0: {} - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + picomatch@2.3.1: {} + + pretty-format@29.7.0: dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true + react-is: 18.3.1 - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + react-is@18.3.1: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + slash@3.0.0: {} + + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - file:../../../../../../../../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-Y33go4uPV+ThwI/gBppIpcvBOgcjg8yxakXcXtR4GxhIV7Js+pDcrKV8RCCu6z/VFFUem8VN3KXvua3CTtEuqA==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz - - file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-zUeAoZGItspQqwpIuQ++7AfCDawFgMlFiNA2Oc8ZOi7UZUrdrv7Z2wcAK7xDCj5aMnFskQwZ0FBjCR34s1v6Qw==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} - id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - '@prisma/engines-version': 5.2.0-19.5f5f05f0ad19414db3359ad9abb14bca315017b3 - prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz - dev: false - - file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-5dti5PDBmW1wwVdIUO7zBF0FhCbmhHjWe994TXXU1NzGvI6CxzGZ5dXhH6/4k7WMZqzjdf2Vc71KthBvZoW3aQ==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/generator-config-types/package.json b/packages/client/tests/e2e/generator-config-types/package.json index 9aa442684438..83afa4ae338c 100644 --- a/packages/client/tests/e2e/generator-config-types/package.json +++ b/packages/client/tests/e2e/generator-config-types/package.json @@ -7,7 +7,7 @@ "@prisma/generator-helper": "/tmp/prisma-generator-helper-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "expect-type": "0.19.0", "prisma": "/tmp/prisma-0.0.0.tgz" } diff --git a/packages/client/tests/e2e/generator-config-types/pnpm-lock.yaml b/packages/client/tests/e2e/generator-config-types/pnpm-lock.yaml index 3eeb9663e9f1..d7663c447b28 100644 --- a/packages/client/tests/e2e/generator-config-types/pnpm-lock.yaml +++ b/packages/client/tests/e2e/generator-config-types/pnpm-lock.yaml @@ -13,8 +13,8 @@ importers: version: file:../../tmp/prisma-generator-helper-0.0.0.tgz devDependencies: '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 expect-type: specifier: 0.19.0 version: 0.19.0 @@ -25,58 +25,66 @@ importers: packages: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/generator-helper@file:../../tmp/prisma-generator-helper-0.0.0.tgz': - resolution: {integrity: sha512-2BShUhjZlxKBdHHqdNEBs52Xbs13kKOuMCFRdiRn/VUAhXxr/RZ7B64CYsEupfwPYSPgxrb6tg2mKQ6tv4Wkmg==, tarball: file:../../tmp/prisma-generator-helper-0.0.0.tgz} + resolution: {integrity: sha512-qOtwFe5jBJ7bSCcTSsDOJrq8Keyx+Gq2DsXoqBtxeriOFShx1kWanoVSMGRt3/Gx0GWw0L9GhhdeYhYqPgKvaA==, tarball: file:../../tmp/prisma-generator-helper-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} expect-type@0.19.0: resolution: {integrity: sha512-piv9wz3IrAG4Wnk2A+n2VRCHieAyOSxrRLU872Xo6nyn39kYXKDALk4OcqnvLRnFvkz659CnWC8MWZLuuQnoqg==} engines: {node: '>=12.0.0'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/generator-helper@file:../../tmp/prisma-generator-helper-0.0.0.tgz': @@ -87,10 +95,19 @@ snapshots: dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 expect-type@0.19.0: {} + fsevents@2.3.3: + optional: true + prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/invalid-package-version/package.json b/packages/client/tests/e2e/invalid-package-version/package.json index 8f72f37a4530..02dcb5bc7de2 100644 --- a/packages/client/tests/e2e/invalid-package-version/package.json +++ b/packages/client/tests/e2e/invalid-package-version/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/invalid-package-version/pnpm-lock.yaml b/packages/client/tests/e2e/invalid-package-version/pnpm-lock.yaml index 4b3459a55f30..3d6871f18ec2 100644 --- a/packages/client/tests/e2e/invalid-package-version/pnpm-lock.yaml +++ b/packages/client/tests/e2e/invalid-package-version/pnpm-lock.yaml @@ -1,414 +1,493 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.12 - version: 29.5.12 - '@types/node': - specifier: 16.18.82 - version: 16.18.82 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz packages: - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.82 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@prisma/engines-version@5.11.0-4.09cb2c4b7f5ee2525bb7512bf48fc31167eebdf4: - resolution: {integrity: sha512-AJydi1u2OONTwnwp3w7fPPewNaAM7cleKBTswWhxZUamod5HL6TR6dxzTmTqLyxwefjvzESXup7oAmjwUaYNIw==} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - /@types/jest@29.5.12: + '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 - dev: true - /@types/node@16.18.82: - resolution: {integrity: sha512-pcDZtkx9z8XYV+ius2P3Ot2VVrcYOfXffBQUBuiszrlUzKSmoDYqo+mV+IoL8iIiIjjtOMvNSmH1hwJ+Q+f96Q==} - dev: true + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.82 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.82 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true - /slash@3.0.0: + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true - /stack-utils@2.0.6: + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': dependencies: - is-number: 7.0.0 - dev: true + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-PbE3LqiixFmTMDfoifctGo7pCkMf+4LNAva491KtUMUkUgPs3ybgDNTZTdHDQ6tgyPeDRwCe0NKDQlh+5LjxVQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-ORRxgpeyR+LdGageJRLF2Tkf8ioMvufRaZO82TrLxsR7IGagYBJE5wfh0yqwM0D7d5WLx2r73+CJaf3tEimTQA==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: prisma: file:../../tmp/prisma-0.0.0.tgz - dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-AT/vWXucb/KWu21OKkZSRGWQznIVqDSMFP9pAafnCbq0kYIJMcakieZwn76jzMCrJKaEkVRiIlFtkszB5+Xw3g==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} - name: '@prisma/debug' - version: 0.0.0 + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-nHALq347YKwRLll4/WefSc+WIJu1evcDuMw3HhKSg9pwI7CqWwrxEWWZeMED0y+fuQQwaTTivvhLKO5kayXENw==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-4.09cb2c4b7f5ee2525bb7512bf48fc31167eebdf4 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-dRkL+bvuwU5qYMKh8IiIjmSPwo020RfTpucjC/D2ssneHCajAHInIf8TGZmnbo+V0NzwLJ1PCXa2qmdZxaubQw==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} - name: '@prisma/fetch-engine' - version: 0.0.0 + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-4.09cb2c4b7f5ee2525bb7512bf48fc31167eebdf4 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-HhB/OXZLYxmhs/GMj2i/u57T4Glr+EL7hsjJQ4Qs1owr58cL/Aq3sS1FzYxVZES94cVNGnNDlUa6aXF+BGME4w==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} - name: '@prisma/get-platform' - version: 0.0.0 + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/package.json b/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/package.json index b8026493a1c9..527d45d5828d 100644 --- a/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/package.json +++ b/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/pnpm-lock.yaml b/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/pnpm-lock.yaml new file mode 100644 index 000000000000..a05b61e0ff94 --- /dev/null +++ b/packages/client/tests/e2e/issues/16600-tsc-crash-extensions/pnpm-lock.yaml @@ -0,0 +1,100 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + +devDependencies: + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/issues/19866-ts-composite-declaration/package.json b/packages/client/tests/e2e/issues/19866-ts-composite-declaration/package.json index ebbecc795744..83c5fec0cb98 100644 --- a/packages/client/tests/e2e/issues/19866-ts-composite-declaration/package.json +++ b/packages/client/tests/e2e/issues/19866-ts-composite-declaration/package.json @@ -8,7 +8,7 @@ "typescript": "5.4.5" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/issues/19866-ts-composite-declaration/pnpm-lock.yaml b/packages/client/tests/e2e/issues/19866-ts-composite-declaration/pnpm-lock.yaml index f415f6cca4a4..beab2742a32b 100644 --- a/packages/client/tests/e2e/issues/19866-ts-composite-declaration/pnpm-lock.yaml +++ b/packages/client/tests/e2e/issues/19866-ts-composite-declaration/pnpm-lock.yaml @@ -6,48 +6,66 @@ settings: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -55,7 +73,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/package.json b/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/package.json index fc171c5e04c3..ba42fc0e8fba 100644 --- a/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/package.json +++ b/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "5.4.5" } diff --git a/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/pnpm-lock.yaml b/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/pnpm-lock.yaml index 8602785f4828..ee1dc7d51a11 100644 --- a/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/pnpm-lock.yaml +++ b/packages/client/tests/e2e/issues/19999-tsc-extensions-oom/pnpm-lock.yaml @@ -6,45 +6,63 @@ settings: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 16.18.11 - version: 16.18.11 + specifier: 18.19.50 + version: 18.19.50 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 packages: - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: true - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-gcoeh8WqpnqvdTQU77oFoSYBHD423oVSaClAn+kcrI+X3QN6qB18ID8EtdtiEP+mBD+4YFuLx9yBMFf8W48LSA==, tarball: file:../../prisma-0.0.0.tgz} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-wCGNci2gHcZC/OnQ92m+Jm4RDw44Sd8Ns8G6PK1stfjwnGxLa7akakf/WoCiaSTBdhtp9lcgb4S9HOEp1jC7cw==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 engines: {node: '>=16.13'} @@ -55,7 +73,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/issues/24634-env-loading/.env b/packages/client/tests/e2e/issues/24634-env-loading/.env new file mode 100644 index 000000000000..100d8b2ccd9a --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/.env @@ -0,0 +1 @@ +LOCAL_DATABASE_URL="file://./db.sqlite" diff --git a/packages/client/tests/e2e/issues/24634-env-loading/README.md b/packages/client/tests/e2e/issues/24634-env-loading/README.md new file mode 100644 index 000000000000..558c66b756e3 --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/README.md @@ -0,0 +1,3 @@ +# 24634-env-loading + +Regression test for . diff --git a/packages/client/tests/e2e/ts-version/4.9/_steps.ts b/packages/client/tests/e2e/issues/24634-env-loading/_steps.ts similarity index 71% rename from packages/client/tests/e2e/ts-version/4.9/_steps.ts rename to packages/client/tests/e2e/issues/24634-env-loading/_steps.ts index 088d8ef55ad9..4ff6a4527559 100644 --- a/packages/client/tests/e2e/ts-version/4.9/_steps.ts +++ b/packages/client/tests/e2e/issues/24634-env-loading/_steps.ts @@ -6,9 +6,11 @@ void executeSteps({ setup: async () => { await $`pnpm install` await $`pnpm exec prisma generate` + await $`pnpm exec prisma db push --force-reset --skip-generate` }, test: async () => { - await $`pnpm exec tsc --noEmit` + await $`ts-node src/index.ts` + await $`pnpm exec tsc` }, finish: async () => { await $`echo "done"` diff --git a/packages/client/tests/e2e/issues/24634-env-loading/package.json b/packages/client/tests/e2e/issues/24634-env-loading/package.json new file mode 100644 index 000000000000..83c5fec0cb98 --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/package.json @@ -0,0 +1,14 @@ +{ + "private": true, + "version": "0.0.0", + "main": "index.js", + "scripts": {}, + "dependencies": { + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", + "typescript": "5.4.5" + }, + "devDependencies": { + "@types/node": "18.19.50", + "prisma": "/tmp/prisma-0.0.0.tgz" + } +} diff --git a/packages/client/tests/e2e/issues/24634-env-loading/pnpm-lock.yaml b/packages/client/tests/e2e/issues/24634-env-loading/pnpm-lock.yaml new file mode 100644 index 000000000000..beab2742a32b --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/pnpm-lock.yaml @@ -0,0 +1,109 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + typescript: + specifier: 5.4.5 + version: 5.4.5 + +devDependencies: + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/issues/24634-env-loading/prisma/schema.prisma b/packages/client/tests/e2e/issues/24634-env-loading/prisma/schema.prisma new file mode 100644 index 000000000000..7f4ceaeb2ccb --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/prisma/schema.prisma @@ -0,0 +1,15 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "sqlite" + url = env("LOCAL_DATABASE_URL") +} + +model Test { + id Int @id @default(autoincrement()) +} diff --git a/packages/client/tests/e2e/issues/24634-env-loading/src/index.ts b/packages/client/tests/e2e/issues/24634-env-loading/src/index.ts new file mode 100644 index 000000000000..cfeb18b0d6dc --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/src/index.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from '@prisma/client' + +async function main() { + const client = new PrismaClient() + await client.test.count() +} + +main().catch((e) => { + console.error(e) + process.exit(1) +}) diff --git a/packages/client/tests/e2e/issues/24634-env-loading/tsconfig.json b/packages/client/tests/e2e/issues/24634-env-loading/tsconfig.json new file mode 100644 index 000000000000..42a2d3b2f726 --- /dev/null +++ b/packages/client/tests/e2e/issues/24634-env-loading/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true + }, + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/issues/studio-1128-spawn-enoent/pnpm-lock.yaml b/packages/client/tests/e2e/issues/studio-1128-spawn-enoent/pnpm-lock.yaml index 982341d63423..86945b3e42cf 100644 --- a/packages/client/tests/e2e/issues/studio-1128-spawn-enoent/pnpm-lock.yaml +++ b/packages/client/tests/e2e/issues/studio-1128-spawn-enoent/pnpm-lock.yaml @@ -1,78 +1,85 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) +importers: -devDependencies: - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../../tmp/prisma-0.0.0.tgz + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../../tmp/prisma-0.0.0.tgz) + devDependencies: + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../tmp/prisma-0.0.0.tgz packages: - /@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64: - resolution: {integrity: sha512-HFl7275yF0FWbdcNvcSRbbu9JCBSLMcurYwvWc8WGDnpu7APxQo2ONtZrUggU3WxLxUJ2uBX+0GOFIcJeVeOOQ==} - - file:../../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-pvfSfXicEOgIVU8X6KjgxjJ6bTd9Be3Y8RX7jtN6xRh8OoxyT3AQnmcwiqCE4q1iDgKTkA+MGNY5zTI0POEsng==, tarball: file:../../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': file:../../../tmp/prisma-engines-0.0.0.tgz - - file:../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-QVA8RV0N+Dhc35nKwz2k1DHyOicO6t7pLntsGW9dygtJYXQpzpFIJGs9gD/GztL1IcIqZE/Nq4QcJulQVJyOCQ==, tarball: file:../../../tmp/prisma-client-0.0.0.tgz} - id: file:../../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' + '@prisma/client@file:../../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-ThKXy3fL1EqlT0PEyefnOPZj7tX5D1iTqAL4+crHYqW+ZbBXsJUOu+xLhYXHNcbpnZREAcRXxQ/flUjucin0EQ==, tarball: file:../../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 engines: {node: '>=16.13'} - requiresBuild: true peerDependencies: prisma: '*' peerDependenciesMeta: prisma: optional: true - dependencies: - prisma: file:../../../tmp/prisma-0.0.0.tgz - dev: false - file:../../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-BQxE3y1QmThxisFa7GZ7zbSHBP5p4p/YTa8jerFfCJvR7Xkob3Tvw+cQWFrtB5jL/84yYrP+6Imhu8siCHqKsw==, tarball: file:../../../tmp/prisma-debug-0.0.0.tgz} - name: '@prisma/debug' + '@prisma/debug@file:../../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-2VXtJtsATHPvvDKHtmwL1OhbkUlpKbwP+1JhBMUunIVakWlmHUagOepgoHzYoAxP5lVYfukxKCscPA0MHOIBXg==, tarball: file:../../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1': + resolution: {integrity: sha512-GG/bi6v9Dyi7nXuwxuBUPfRfOY+6+CuIOColL4/eCOmoDg8BKew/XFGD6Fhun0okj9ZQx9p7j5ciWJ1H1K1jGw==} + + '@prisma/engines@file:../../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-3V4ciyXO0kMnubWa0V+fZoT31vgMWwq9lsvGtgixfmvqEK+Mzyop5HU9yRHtLIXlJECxTjM5CRITzcFAwSPbJw==, tarball: file:../../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-jtnDWE7OxEQzyNo4DyKVAVQqk+eBUrekyTKzpXxWiX4ddGGfKDMXJRCiqq1P3hTYoCOciXkZk9idL3MXr5d49A==, tarball: file:../../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 - file:../../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-oRsZWRTgQLAorh5QgsdMBkO2mWAg35so1ZZKoZcJF/Wr2Hpg5NFtfUjPUsH1WbjEfg+rGlAZTKOBwvt7V2Dgsg==, tarball: file:../../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' + '@prisma/get-platform@file:../../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-E4eYJaJH14bTVpkcYBtWqjhaoxJV2tT/nO5o2jL/U5YfBNjH+ucqECTonB2n82jXSiC5c4YFhUEBA0fHW+Xf5Q==, tarball: file:../../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 - requiresBuild: true + + prisma@file:../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-oBzwJaiLpw6IvEAhc73UFC5XIDEZekYD8osi/uPb7OyPKoAdlTGypIyL/qdgea9Zpb2tRlkdP+K67NMK+/T6sw==, tarball: file:../../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + +snapshots: + + '@prisma/client@file:../../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1': {} + + '@prisma/engines@file:../../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 + '@prisma/engines-version': 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 '@prisma/fetch-engine': file:../../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../../tmp/prisma-get-platform-0.0.0.tgz - file:../../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-QWcjjhNG0LfM0nUlWSgDJcmwwnnkAkIgVfMGIWzfrxaNLiUXHdBtNcVhxYh8IHdOCb+IvKUiJNpKgx2AJ89+8Q==, tarball: file:../../../tmp/prisma-fetch-engine-0.0.0.tgz} - name: '@prisma/fetch-engine' - version: 0.0.0 + '@prisma/fetch-engine@file:../../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 + '@prisma/engines-version': 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 '@prisma/get-platform': file:../../../tmp/prisma-get-platform-0.0.0.tgz - file:../../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-vMaVLvOrTaktGPdXXpwO5kbFpNMkeqOMDWfnP4hR77vNPmHVJTtu+97fmnhDiGxOTeoBQz3vah06sZcC4bfR3g==, tarball: file:../../../tmp/prisma-get-platform-0.0.0.tgz} - name: '@prisma/get-platform' - version: 0.0.0 + '@prisma/get-platform@file:../../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../../tmp/prisma-debug-0.0.0.tgz + + prisma@file:../../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../../tmp/prisma-engines-0.0.0.tgz diff --git a/packages/client/tests/e2e/mongodb-notablescan/package.json b/packages/client/tests/e2e/mongodb-notablescan/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/mongodb-notablescan/package.json +++ b/packages/client/tests/e2e/mongodb-notablescan/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/mongodb-notablescan/pnpm-lock.yaml b/packages/client/tests/e2e/mongodb-notablescan/pnpm-lock.yaml index 19e50ab7b216..3d6871f18ec2 100644 --- a/packages/client/tests/e2e/mongodb-notablescan/pnpm-lock.yaml +++ b/packages/client/tests/e2e/mongodb-notablescan/pnpm-lock.yaml @@ -16,24 +16,24 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz packages: - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} '@jest/expect-utils@29.7.0': @@ -49,9 +49,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-mi6XilOllFb0JERfnoh1Ui2f+bekgpXS54SMRwtOb1rJ+eBdoYfds8V+OLDK58edu262f+xJXBcFJKpKomR8UQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -59,22 +59,22 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-0ZFJL382uwzEJ/Z56ImFCazkPreiQxv82wamu2+5ZxE5K5Tw/73Yv6+Vu8WRQ/kpVHim2gmbcRNmacW14DWMFA==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-25.e9771e62de70f79a5e1c604a2d7c8e2a0a874b48': - resolution: {integrity: sha512-ip6pNkRo1UxWv+6toxNcYvItNYaqQjXdFNGJ+Nuk2eYtRoEdoF13wxo7/jsClJFFenMPVNVqXQDV0oveXnR1cA==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vix6HHY2r3ViCZALYqfeF42o3xVxCAS+Qmj833fGSxd4IaPJq6zJIJ3XwReG9zc0mZTf+bFqEnsMSAEg1NXPCA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-oTs4JwTLtIzzAC5X4kQKYE3YAPJoPOZdlqekGnYYc129xzdwjY1MSrknrRspnSWnokDXrwYDps0/O2/vP6RkKw==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-rtI1Ojb3IHDxdFlC8axNYtas3doiHBZHQ3l8BTcNVvBxC7EkO+Z0mOUmUpAbnIeBZl7rpEkZjYkNLUw92O26Nw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 '@sinclair/typebox@0.27.8': @@ -92,8 +92,8 @@ packages: '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -101,8 +101,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -116,8 +116,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} chalk@2.4.2: @@ -161,10 +161,15 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -203,12 +208,12 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -219,9 +224,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-fKHLwm4RLyzAZZiwa8V8wu/OmnwOrsxIpBtyD5wbSCd5iIqnw/0ccuu4e6o8asrijpR1ghyulfnRQBs8OIXFZA==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true react-is@18.3.1: @@ -247,21 +252,24 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + snapshots: - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.1 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/highlight@7.24.5': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 '@jest/expect-utils@29.7.0': dependencies: @@ -276,8 +284,8 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 16.18.96 - '@types/yargs': 17.0.32 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': @@ -286,19 +294,19 @@ snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-25.e9771e62de70f79a5e1c604a2d7c8e2a0a874b48': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-25.e9771e62de70f79a5e1c604a2d7c8e2a0a874b48 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-25.e9771e62de70f79a5e1c604a2d7c8e2a0a874b48 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': @@ -322,13 +330,15 @@ snapshots: expect: 29.7.0 pretty-format: 29.7.0 - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 '@types/stack-utils@2.0.3': {} '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.32': + '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -342,9 +352,9 @@ snapshots: ansi-styles@5.2.0: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 chalk@2.4.2: dependencies: @@ -385,10 +395,13 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + fsevents@2.3.3: + optional: true + graceful-fs@4.2.11: {} has-flag@3.0.0: {} @@ -415,12 +428,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -428,7 +441,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -436,12 +449,12 @@ snapshots: js-tokens@4.0.0: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - picocolors@1.0.1: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -454,6 +467,8 @@ snapshots: prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 react-is@18.3.1: {} @@ -474,3 +489,5 @@ snapshots: to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/app/test/[id]/page.jsx index 13ba0693f753..272453fcc170 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/app/test/[id]/page.jsx @@ -9,16 +9,11 @@ async function doPrismaQuery(params) { const prisma = new PrismaClient() - await prisma.user.deleteMany() - const user = await prisma.user.create({ - data: { - email: 'test', - }, - }) + const result = await prisma.$queryRaw`SELECT 1` - return JSON.stringify(user) + return JSON.stringify(result) } export default async function Page({ params }) { - return
{`${await doPrismaQuery(params)}`}
+ return
{await doPrismaQuery(params)}
} diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/next.config.js b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/next.config.js index c89f67b1f5f9..b6b4bc39ee7f 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/next.config.js +++ b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/next.config.js @@ -1,7 +1,4 @@ /** @type {import('next').NextConfig} */ module.exports = { output: 'standalone', - experimental: { - appDir: true, - }, } diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/packages/service/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml index f86d3739e31c..6d6deec850a6 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/10_monorepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: packages/service: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1138,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1159,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1169,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1201,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1263,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1283,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1297,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1329,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1392,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1411,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1429,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1509,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1534,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1561,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1604,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1201,8 +1663,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1210,25 +1683,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1719,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1743,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1759,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1872,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1891,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1933,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1954,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1969,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1989,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2079,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2094,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2112,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2186,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/packages/service/package.json index 502085f3b0b9..d4393605777d 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/packages/service/package.json @@ -12,14 +12,14 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "webpack": "5.91.0" }, "dependencies": { "db": "workspace:*", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml index 2b984c635041..4ad24e0dff50 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/11_monorepo-noServerComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml @@ -11,15 +11,15 @@ importers: packages/db: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -27,33 +27,33 @@ importers: specifier: workspace:* version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 webpack: - specifier: 5.75.0 - version: 5.75.0 + specifier: 5.91.0 + version: 5.91.0 packages: @@ -64,104 +64,111 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -169,8 +176,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -178,26 +185,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -205,8 +194,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -214,8 +203,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -223,8 +212,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -232,8 +221,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -241,8 +230,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -250,8 +239,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -277,9 +266,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -288,23 +280,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -315,267 +321,334 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.21.1 - '@types/estree': 0.0.51 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 dev: true - /@types/eslint@8.21.1: - resolution: {integrity: sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==} + /@types/eslint@9.6.1: + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 ts-morph: 12.0.0 dev: false - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} dev: true - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: true - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 dev: true - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: true - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 dev: true - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 dev: true - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 dev: true @@ -591,21 +664,31 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + /acorn-import-assertions@1.9.0(acorn@8.12.1): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.8.2 + acorn: 8.12.1 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -613,7 +696,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -648,6 +731,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -655,15 +750,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -672,6 +786,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -685,38 +804,73 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 dev: false - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001452 - electron-to-chromium: 1.4.295 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.27 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) dev: true + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 + dev: false + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} dev: false - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} dev: true @@ -745,6 +899,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -754,12 +913,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -767,15 +947,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -784,39 +969,52 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false - /electron-to-chromium@1.4.295: - resolution: {integrity: sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==} + /electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 tapable: 2.2.1 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} dev: true /esbuild-android-64@0.14.47: @@ -1027,8 +1225,8 @@ packages: esbuild-windows-arm64: 0.14.47 dev: false - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} dev: true @@ -1061,50 +1259,100 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} dev: true - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -1116,9 +1364,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -1131,6 +1395,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1144,6 +1420,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1153,8 +1430,8 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -1165,9 +1442,23 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -1175,22 +1466,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1213,11 +1528,24 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.18 + '@types/node': 18.19.34 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -1233,7 +1561,7 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false @@ -1244,6 +1572,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -1267,7 +1609,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: @@ -1276,18 +1618,27 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false @@ -1303,12 +1654,28 @@ packages: mime-db: 1.52.0 dev: true + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1316,11 +1683,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1329,6 +1702,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1340,12 +1720,16 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false @@ -1354,45 +1738,43 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1422,13 +1804,25 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: true /nopt@5.0.0: @@ -1439,8 +1833,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1453,12 +1860,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1473,30 +1903,55 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1506,8 +1961,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} /queue-microtask@1.2.3: @@ -1520,25 +1986,35 @@ packages: safe-buffer: 5.2.1 dev: true - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1546,6 +2022,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1563,6 +2046,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1577,36 +2061,46 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true @@ -1615,12 +2109,33 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false @@ -1636,6 +2151,34 @@ packages: engines: {node: '>=0.10.0'} dev: true + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1658,7 +2201,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1672,7 +2220,7 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 dev: false /supports-color@8.1.1: @@ -1687,20 +2235,33 @@ packages: engines: {node: '>=6'} dev: true - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: false - /terser-webpack-plugin@5.3.6(webpack@5.75.0): - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + /terser-webpack-plugin@5.3.10(webpack@5.91.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -1715,21 +2276,21 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.3 - webpack: 5.75.0 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.33.0 + webpack: 5.91.0 dev: true - /terser@5.16.3: - resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -1748,10 +2309,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1759,7 +2330,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1774,18 +2345,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1794,62 +2365,99 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + + /update-browserslist-db@1.1.0(browserslist@4.23.3): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 dev: true /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1857,14 +2465,18 @@ packages: - supports-color dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1874,8 +2486,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.75.0: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} + /webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -1884,29 +2496,29 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.1 + acorn-import-assertions: 1.9.0(acorn@8.12.1) + browserslist: 4.23.3 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(webpack@5.75.0) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -1921,6 +2533,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1931,31 +2551,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1963,13 +2625,43 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx index ef731ec5c6eb..266435d1c00e 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx @@ -1,5 +1,6 @@ const { db } = require('db') +// eslint-disable-next-line @typescript-eslint/require-await export async function generateStaticParams() { return [{ id: '1' }] } @@ -7,16 +8,10 @@ export async function generateStaticParams() { async function doPrismaQuery(params) { if (params.id === '1') return JSON.stringify({}) - await db.user.deleteMany() - const user = await db.user.create({ - data: { - email: 'test', - }, - }) - - return JSON.stringify(user) + const result = await db.$queryRaw`SELECT 1` + return JSON.stringify(result) } export default async function Page({ params }) { - return
{`${await doPrismaQuery(params)}`}
+ return
{await doPrismaQuery(params)}
} diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/next.config.js b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/next.config.js index 2d03046f2ae0..7d6c9f6786b1 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/next.config.js +++ b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/next.config.js @@ -3,9 +3,6 @@ const { PrismaPlugin } = require('@prisma/nextjs-monorepo-workaround-plugin') /** @type {import('next').NextConfig} */ module.exports = { output: 'standalone', - experimental: { - appDir: true, - }, webpack: (config, { isServer }) => { if (isServer && process.env.WORKAROUND === 'true') { config.plugins = [...config.plugins, new PrismaPlugin()] diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/package.json index 377fe6cfb2d0..6265228c1cd5 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/packages/service/package.json @@ -12,13 +12,13 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", - "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz" + "@types/react": "18.3.3" }, "dependencies": { "db": "workspace:*", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml index 9c4e027f145b..7ae5abe80eb9 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/12_monorepo-serverComponents-noCustomOutput-reExportIndirect/pnpm-lock.yaml @@ -9,15 +9,15 @@ importers: packages/db: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -25,30 +25,30 @@ importers: specifier: workspace:* version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 packages: @@ -59,78 +59,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -138,8 +145,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -147,26 +154,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -174,8 +163,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -183,8 +172,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -192,8 +181,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -201,8 +190,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -210,8 +199,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -219,8 +208,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -246,9 +235,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -257,23 +249,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -284,141 +290,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false + + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -429,13 +502,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -444,7 +527,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -474,6 +557,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -481,15 +576,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -498,6 +612,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -511,15 +630,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -548,6 +702,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -557,12 +716,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -570,15 +750,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -587,18 +772,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -606,6 +792,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -818,48 +1016,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -871,9 +1120,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -886,6 +1151,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -895,6 +1172,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -904,17 +1182,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -922,22 +1214,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -960,6 +1276,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -967,12 +1296,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -980,6 +1310,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -998,32 +1342,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1031,11 +1405,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1044,6 +1424,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1055,55 +1442,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1133,8 +1522,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1146,8 +1547,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1160,12 +1574,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1180,31 +1617,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1214,34 +1676,56 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + requiresBuild: true dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1249,6 +1733,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1266,6 +1757,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1281,38 +1773,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1335,7 +1886,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1349,16 +1905,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1378,10 +1947,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1389,7 +1968,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1404,18 +1983,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1424,52 +2003,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1477,6 +2093,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1488,6 +2108,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1498,31 +2126,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1530,13 +2200,43 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/packages/service/package.json index 17256288f472..a4c866298c7c 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/packages/service/package.json @@ -12,13 +12,13 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", - "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz" + "@types/react": "18.3.3" }, "dependencies": { "db": "workspace:../db", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/pnpm-lock.yaml index d13bc7e880c1..5ec9809513bd 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/13_monorepo-noServerComponents-customOutput-reExportDirect/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: devDependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -21,30 +21,30 @@ importers: specifier: workspace:../db version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 packages: @@ -55,78 +55,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -134,8 +141,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -143,26 +150,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -215,8 +204,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -242,9 +231,13 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + dev: true + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -253,23 +246,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -280,141 +287,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -425,13 +499,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -440,7 +524,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -470,6 +554,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -477,15 +573,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -494,6 +609,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -507,15 +627,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -544,6 +699,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -553,12 +713,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -566,15 +747,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -583,18 +769,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -602,6 +789,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -814,48 +1013,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -867,9 +1117,26 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -882,6 +1149,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -891,6 +1170,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -900,17 +1180,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -918,22 +1212,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -956,6 +1274,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -963,12 +1294,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -976,6 +1308,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -994,32 +1340,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1027,11 +1403,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1040,6 +1422,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1051,55 +1440,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1129,8 +1520,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1142,8 +1545,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1156,12 +1572,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1176,31 +1615,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1210,8 +1674,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1219,25 +1694,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1245,6 +1730,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1262,6 +1754,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1277,38 +1770,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1331,7 +1883,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1345,16 +1902,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1374,10 +1944,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1385,7 +1965,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1400,18 +1980,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1420,52 +2000,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1473,6 +2090,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1484,6 +2105,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1494,32 +2123,74 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 dev: true - bundledDependencies: - - '@prisma/engines' - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1527,13 +2198,47 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: true + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + dev: true + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + dev: true + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + dev: true + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz dev: true - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/app/test/[id]/page.jsx index 8cbc53af771e..c75731bf84cc 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/app/test/[id]/page.jsx @@ -1,5 +1,6 @@ const { PrismaClient } = require('db') +// eslint-disable-next-line @typescript-eslint/require-await export async function generateStaticParams() { return [{ id: '1' }] } @@ -9,16 +10,10 @@ async function doPrismaQuery(params) { const prisma = new PrismaClient() - await prisma.user.deleteMany() - const user = await prisma.user.create({ - data: { - email: 'test', - }, - }) - - return JSON.stringify(user) + const result = await prisma.$queryRaw`SELECT 1` + return JSON.stringify(result) } export default async function Page({ params }) { - return
{`${await doPrismaQuery(params)}`}
+ return
{await doPrismaQuery(params)}
} diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/next.config.js b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/next.config.js index 2d03046f2ae0..7d6c9f6786b1 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/next.config.js +++ b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/next.config.js @@ -3,9 +3,6 @@ const { PrismaPlugin } = require('@prisma/nextjs-monorepo-workaround-plugin') /** @type {import('next').NextConfig} */ module.exports = { output: 'standalone', - experimental: { - appDir: true, - }, webpack: (config, { isServer }) => { if (isServer && process.env.WORKAROUND === 'true') { config.plugins = [...config.plugins, new PrismaPlugin()] diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/package.json index 17256288f472..a4c866298c7c 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/packages/service/package.json @@ -12,13 +12,13 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", - "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz" + "@types/react": "18.3.3" }, "dependencies": { "db": "workspace:../db", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/pnpm-lock.yaml index d13bc7e880c1..5ec9809513bd 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/14_monorepo-serverComponents-customOutput-reExportDirect/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: devDependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -21,30 +21,30 @@ importers: specifier: workspace:../db version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 packages: @@ -55,78 +55,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -134,8 +141,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -143,26 +150,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -215,8 +204,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -242,9 +231,13 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + dev: true + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -253,23 +246,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -280,141 +287,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -425,13 +499,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -440,7 +524,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -470,6 +554,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -477,15 +573,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -494,6 +609,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -507,15 +627,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -544,6 +699,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -553,12 +713,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -566,15 +747,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -583,18 +769,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -602,6 +789,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -814,48 +1013,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -867,9 +1117,26 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -882,6 +1149,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -891,6 +1170,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -900,17 +1180,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -918,22 +1212,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -956,6 +1274,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -963,12 +1294,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -976,6 +1308,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -994,32 +1340,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1027,11 +1403,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1040,6 +1422,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1051,55 +1440,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1129,8 +1520,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1142,8 +1545,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1156,12 +1572,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1176,31 +1615,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1210,8 +1674,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1219,25 +1694,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1245,6 +1730,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1262,6 +1754,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1277,38 +1770,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1331,7 +1883,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1345,16 +1902,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1374,10 +1944,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1385,7 +1965,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1400,18 +1980,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1420,52 +2000,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1473,6 +2090,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1484,6 +2105,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1494,32 +2123,74 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 dev: true - bundledDependencies: - - '@prisma/engines' - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1527,13 +2198,47 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: true + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + dev: true + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + dev: true + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + dev: true + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz dev: true - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/packages/service/package.json index 502085f3b0b9..d4393605777d 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/packages/service/package.json @@ -12,14 +12,14 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "webpack": "5.91.0" }, "dependencies": { "db": "workspace:*", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/pnpm-lock.yaml index 2b984c635041..4ad24e0dff50 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/15_monorepo-noServerComponents-customOutput-reExportIndirect/pnpm-lock.yaml @@ -11,15 +11,15 @@ importers: packages/db: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -27,33 +27,33 @@ importers: specifier: workspace:* version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 webpack: - specifier: 5.75.0 - version: 5.75.0 + specifier: 5.91.0 + version: 5.91.0 packages: @@ -64,104 +64,111 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -169,8 +176,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -178,26 +185,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -205,8 +194,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -214,8 +203,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -223,8 +212,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -232,8 +221,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -241,8 +230,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -250,8 +239,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -277,9 +266,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -288,23 +280,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -315,267 +321,334 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.21.1 - '@types/estree': 0.0.51 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 dev: true - /@types/eslint@8.21.1: - resolution: {integrity: sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==} + /@types/eslint@9.6.1: + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 ts-morph: 12.0.0 dev: false - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} dev: true - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: true - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 dev: true - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: true - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 dev: true - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 dev: true - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 dev: true @@ -591,21 +664,31 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + /acorn-import-assertions@1.9.0(acorn@8.12.1): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.8.2 + acorn: 8.12.1 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -613,7 +696,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -648,6 +731,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -655,15 +750,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -672,6 +786,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -685,38 +804,73 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 dev: false - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001452 - electron-to-chromium: 1.4.295 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.27 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) dev: true + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 + dev: false + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} dev: false - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} dev: true @@ -745,6 +899,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -754,12 +913,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -767,15 +947,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -784,39 +969,52 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false - /electron-to-chromium@1.4.295: - resolution: {integrity: sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==} + /electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 tapable: 2.2.1 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} dev: true /esbuild-android-64@0.14.47: @@ -1027,8 +1225,8 @@ packages: esbuild-windows-arm64: 0.14.47 dev: false - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} dev: true @@ -1061,50 +1259,100 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} dev: true - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -1116,9 +1364,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -1131,6 +1395,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1144,6 +1420,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1153,8 +1430,8 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -1165,9 +1442,23 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -1175,22 +1466,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1213,11 +1528,24 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.18 + '@types/node': 18.19.34 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -1233,7 +1561,7 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false @@ -1244,6 +1572,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -1267,7 +1609,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: @@ -1276,18 +1618,27 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false @@ -1303,12 +1654,28 @@ packages: mime-db: 1.52.0 dev: true + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1316,11 +1683,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1329,6 +1702,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1340,12 +1720,16 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false @@ -1354,45 +1738,43 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1422,13 +1804,25 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: true /nopt@5.0.0: @@ -1439,8 +1833,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1453,12 +1860,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1473,30 +1903,55 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1506,8 +1961,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} /queue-microtask@1.2.3: @@ -1520,25 +1986,35 @@ packages: safe-buffer: 5.2.1 dev: true - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1546,6 +2022,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1563,6 +2046,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1577,36 +2061,46 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true @@ -1615,12 +2109,33 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false @@ -1636,6 +2151,34 @@ packages: engines: {node: '>=0.10.0'} dev: true + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1658,7 +2201,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1672,7 +2220,7 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 dev: false /supports-color@8.1.1: @@ -1687,20 +2235,33 @@ packages: engines: {node: '>=6'} dev: true - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: false - /terser-webpack-plugin@5.3.6(webpack@5.75.0): - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + /terser-webpack-plugin@5.3.10(webpack@5.91.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -1715,21 +2276,21 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.3 - webpack: 5.75.0 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.33.0 + webpack: 5.91.0 dev: true - /terser@5.16.3: - resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -1748,10 +2309,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1759,7 +2330,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1774,18 +2345,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1794,62 +2365,99 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + + /update-browserslist-db@1.1.0(browserslist@4.23.3): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 dev: true /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1857,14 +2465,18 @@ packages: - supports-color dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1874,8 +2486,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.75.0: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} + /webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -1884,29 +2496,29 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.1 + acorn-import-assertions: 1.9.0(acorn@8.12.1) + browserslist: 4.23.3 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(webpack@5.75.0) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -1921,6 +2533,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1931,31 +2551,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1963,13 +2625,43 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx index ef731ec5c6eb..005b756b3869 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/app/test/[id]/page.jsx @@ -1,5 +1,6 @@ -const { db } = require('db') +import { db } from 'db' +// eslint-disable-next-line @typescript-eslint/require-await export async function generateStaticParams() { return [{ id: '1' }] } @@ -7,16 +8,10 @@ export async function generateStaticParams() { async function doPrismaQuery(params) { if (params.id === '1') return JSON.stringify({}) - await db.user.deleteMany() - const user = await db.user.create({ - data: { - email: 'test', - }, - }) - - return JSON.stringify(user) + const result = await db.$queryRaw`SELECT 1` + return JSON.stringify(result) } export default async function Page({ params }) { - return
{`${await doPrismaQuery(params)}`}
+ return
{await doPrismaQuery(params)}
} diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/next.config.js b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/next.config.js index 2d03046f2ae0..7d6c9f6786b1 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/next.config.js +++ b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/next.config.js @@ -3,9 +3,6 @@ const { PrismaPlugin } = require('@prisma/nextjs-monorepo-workaround-plugin') /** @type {import('next').NextConfig} */ module.exports = { output: 'standalone', - experimental: { - appDir: true, - }, webpack: (config, { isServer }) => { if (isServer && process.env.WORKAROUND === 'true') { config.plugins = [...config.plugins, new PrismaPlugin()] diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/package.json index 377fe6cfb2d0..6265228c1cd5 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/packages/service/package.json @@ -12,13 +12,13 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", - "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz" + "@types/react": "18.3.3" }, "dependencies": { "db": "workspace:*", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/pnpm-lock.yaml index 9c4e027f145b..81b690f15b90 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/16_monorepo-serverComponents-customOutput-reExportIndirect/pnpm-lock.yaml @@ -9,15 +9,15 @@ importers: packages/db: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -25,30 +25,30 @@ importers: specifier: workspace:* version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 packages: @@ -59,78 +59,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -138,8 +145,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -147,26 +154,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -174,8 +163,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -183,8 +172,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -192,8 +181,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -201,8 +190,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -210,8 +199,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -219,8 +208,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -246,9 +235,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -257,23 +249,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -284,141 +290,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -429,13 +502,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -444,7 +527,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -474,6 +557,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -481,15 +576,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -498,6 +612,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -511,15 +630,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -548,6 +702,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -557,12 +716,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -570,15 +750,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -587,18 +772,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -606,6 +792,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -818,48 +1016,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -871,9 +1120,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -886,6 +1151,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -895,6 +1172,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -904,17 +1182,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -922,22 +1214,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -960,6 +1276,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -967,12 +1296,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -980,6 +1310,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -998,32 +1342,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1031,11 +1405,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1044,6 +1424,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1055,55 +1442,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1133,8 +1522,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1146,8 +1547,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1160,12 +1574,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1180,31 +1617,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1214,8 +1676,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1223,25 +1696,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1249,6 +1732,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1266,6 +1756,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1281,38 +1772,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1335,7 +1885,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1349,16 +1904,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1378,10 +1946,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1389,7 +1967,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1404,18 +1982,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1424,52 +2002,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1477,6 +2092,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1488,6 +2107,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1498,31 +2125,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1530,13 +2199,43 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/packages/service/package.json index 502085f3b0b9..d4393605777d 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/packages/service/package.json @@ -12,14 +12,14 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "webpack": "5.91.0" }, "dependencies": { "db": "workspace:*", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml index 2b984c635041..4ad24e0dff50 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/17_monorepo-noServerComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml @@ -11,15 +11,15 @@ importers: packages/db: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -27,33 +27,33 @@ importers: specifier: workspace:* version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 webpack: - specifier: 5.75.0 - version: 5.75.0 + specifier: 5.91.0 + version: 5.91.0 packages: @@ -64,104 +64,111 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -169,8 +176,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -178,26 +185,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -205,8 +194,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -214,8 +203,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -223,8 +212,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -232,8 +221,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -241,8 +230,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -250,8 +239,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -277,9 +266,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -288,23 +280,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -315,267 +321,334 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.21.1 - '@types/estree': 0.0.51 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 dev: true - /@types/eslint@8.21.1: - resolution: {integrity: sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==} + /@types/eslint@9.6.1: + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 ts-morph: 12.0.0 dev: false - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} dev: true - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: true - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 dev: true - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: true - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 dev: true - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 dev: true - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 dev: true @@ -591,21 +664,31 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + /acorn-import-assertions@1.9.0(acorn@8.12.1): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.8.2 + acorn: 8.12.1 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -613,7 +696,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -648,6 +731,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -655,15 +750,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -672,6 +786,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -685,38 +804,73 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 dev: false - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001452 - electron-to-chromium: 1.4.295 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.27 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) dev: true + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 + dev: false + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} dev: false - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} dev: true @@ -745,6 +899,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -754,12 +913,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -767,15 +947,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -784,39 +969,52 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false - /electron-to-chromium@1.4.295: - resolution: {integrity: sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==} + /electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 tapable: 2.2.1 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} dev: true /esbuild-android-64@0.14.47: @@ -1027,8 +1225,8 @@ packages: esbuild-windows-arm64: 0.14.47 dev: false - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} dev: true @@ -1061,50 +1259,100 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} dev: true - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -1116,9 +1364,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -1131,6 +1395,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1144,6 +1420,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1153,8 +1430,8 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -1165,9 +1442,23 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -1175,22 +1466,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1213,11 +1528,24 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.18 + '@types/node': 18.19.34 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -1233,7 +1561,7 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false @@ -1244,6 +1572,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -1267,7 +1609,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: @@ -1276,18 +1618,27 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false @@ -1303,12 +1654,28 @@ packages: mime-db: 1.52.0 dev: true + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1316,11 +1683,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1329,6 +1702,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1340,12 +1720,16 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false @@ -1354,45 +1738,43 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1422,13 +1804,25 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: true /nopt@5.0.0: @@ -1439,8 +1833,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1453,12 +1860,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1473,30 +1903,55 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1506,8 +1961,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} /queue-microtask@1.2.3: @@ -1520,25 +1986,35 @@ packages: safe-buffer: 5.2.1 dev: true - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1546,6 +2022,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1563,6 +2046,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1577,36 +2061,46 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true @@ -1615,12 +2109,33 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false @@ -1636,6 +2151,34 @@ packages: engines: {node: '>=0.10.0'} dev: true + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1658,7 +2201,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1672,7 +2220,7 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 dev: false /supports-color@8.1.1: @@ -1687,20 +2235,33 @@ packages: engines: {node: '>=6'} dev: true - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: false - /terser-webpack-plugin@5.3.6(webpack@5.75.0): - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + /terser-webpack-plugin@5.3.10(webpack@5.91.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -1715,21 +2276,21 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.3 - webpack: 5.75.0 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.33.0 + webpack: 5.91.0 dev: true - /terser@5.16.3: - resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -1748,10 +2309,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1759,7 +2330,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1774,18 +2345,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1794,62 +2365,99 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + + /update-browserslist-db@1.1.0(browserslist@4.23.3): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 dev: true /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1857,14 +2465,18 @@ packages: - supports-color dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1874,8 +2486,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.75.0: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} + /webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -1884,29 +2496,29 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.1 + acorn-import-assertions: 1.9.0(acorn@8.12.1) + browserslist: 4.23.3 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(webpack@5.75.0) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -1921,6 +2533,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1931,31 +2551,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1963,13 +2625,43 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/app/test/[id]/page.tsx b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/app/test/[id]/page.tsx index 6867e7e8b831..005b756b3869 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/app/test/[id]/page.tsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/app/test/[id]/page.tsx @@ -8,14 +8,8 @@ export async function generateStaticParams() { async function doPrismaQuery(params) { if (params.id === '1') return JSON.stringify({}) - await db.user.deleteMany() - const user = await db.user.create({ - data: { - email: 'test', - }, - }) - - return JSON.stringify(user) + const result = await db.$queryRaw`SELECT 1` + return JSON.stringify(result) } export default async function Page({ params }) { diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/next.config.js b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/next.config.js index 2d03046f2ae0..7d6c9f6786b1 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/next.config.js +++ b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/next.config.js @@ -3,9 +3,6 @@ const { PrismaPlugin } = require('@prisma/nextjs-monorepo-workaround-plugin') /** @type {import('next').NextConfig} */ module.exports = { output: 'standalone', - experimental: { - appDir: true, - }, webpack: (config, { isServer }) => { if (isServer && process.env.WORKAROUND === 'true') { config.plugins = [...config.plugins, new PrismaPlugin()] diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/package.json index 377fe6cfb2d0..6265228c1cd5 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/packages/service/package.json @@ -12,13 +12,13 @@ "author": "", "license": "ISC", "devDependencies": { + "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz", "@types/node": "18.19.34", - "@types/react": "18.3.3", - "@prisma/nextjs-monorepo-workaround-plugin": "/tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz" + "@types/react": "18.3.3" }, "dependencies": { "db": "workspace:*", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml index 9c4e027f145b..81b690f15b90 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/18_monorepo-serverComponents-customOutput-reExportIndirect-ts/pnpm-lock.yaml @@ -9,15 +9,15 @@ importers: packages/db: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages/service: dependencies: @@ -25,30 +25,30 @@ importers: specifier: workspace:* version: link:../db next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@prisma/nextjs-monorepo-workaround-plugin': - specifier: ../../../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz - version: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + specifier: /tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 packages: @@ -59,78 +59,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -138,8 +145,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -147,26 +154,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -174,8 +163,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -183,8 +172,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -192,8 +181,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -201,8 +190,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -210,8 +199,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -219,8 +208,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -246,9 +235,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -257,23 +249,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -284,141 +290,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -429,13 +502,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -444,7 +527,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -474,6 +557,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -481,15 +576,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -498,6 +612,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -511,15 +630,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -548,6 +702,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -557,12 +716,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -570,15 +750,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -587,18 +772,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -606,6 +792,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -818,48 +1016,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -871,9 +1120,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -886,6 +1151,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -895,6 +1172,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -904,17 +1182,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -922,22 +1214,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -960,6 +1276,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -967,12 +1296,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -980,6 +1310,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -998,32 +1342,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1031,11 +1405,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1044,6 +1424,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1055,55 +1442,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1133,8 +1522,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1146,8 +1547,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1160,12 +1574,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1180,31 +1617,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1214,8 +1676,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1223,25 +1696,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1249,6 +1732,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1266,6 +1756,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1281,38 +1772,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1335,7 +1885,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1349,16 +1904,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1378,10 +1946,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1389,7 +1967,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1404,18 +1982,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1424,52 +2002,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1477,6 +2092,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1488,6 +2107,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1498,31 +2125,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1530,13 +2199,43 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' - file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: - resolution: {integrity: sha512-3Z8EOOdgJA5edAOrcYt5ZAzXd2RkuqTbi1Zdq+FDN3IV3nJ04AQJa8PcHkSveJY6ddO2TJlbvJQXYxoOoXq6XA==, tarball: file:../../prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz: + resolution: {integrity: sha512-jYyBuZY53ZG2QAgzquTJrGaJRkrug+zwnKxkWuVkgfxPuWs+Q7lX1bry7W8io7NIM4x6LrdP/D6bGPPUp9FUig==, tarball: file:../../../../../../../../../../tmp/prisma-nextjs-monorepo-workaround-plugin-0.0.0.tgz} name: '@prisma/nextjs-monorepo-workaround-plugin' version: 0.0.0 dev: true diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/_steps.ts b/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/_steps.ts index 07680817c9d3..e8e57c5ccaec 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/_steps.ts +++ b/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/_steps.ts @@ -9,7 +9,7 @@ void executeSteps({ await $`pnpm exec prisma db push --force-reset` }, test: async () => { - await testNonServerComponents() + await testNonServerComponents({ monorepo: false }) }, finish: async () => {}, }) diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml index 80783f21df28..483a2a69627e 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/3_simplerepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: .: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false + + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1138,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1159,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1169,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1201,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1263,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1283,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1297,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1329,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1392,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1411,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1429,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1509,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1534,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1561,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1604,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1201,34 +1663,56 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + requiresBuild: true dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1720,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1744,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1760,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1873,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1892,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1934,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1955,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1970,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1990,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2080,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2095,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2113,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2187,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/_steps.ts b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/_steps.ts index 38b66b08522b..4dbe33cb1137 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/_steps.ts +++ b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/_steps.ts @@ -9,7 +9,7 @@ void executeSteps({ await $`pnpm exec prisma db push --force-reset` }, test: async () => { - await testServerComponents() + await testServerComponents({ monorepo: false }) }, finish: async () => {}, }) diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/app/test/[id]/page.jsx index 8f0e013dfac6..7b8210800edd 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/app/test/[id]/page.jsx @@ -9,14 +9,9 @@ async function doPrismaQuery(params) { const prisma = new PrismaClient() - await prisma.user.deleteMany() - const user = await prisma.user.create({ - data: { - email: 'test', - }, - }) + const result = await prisma.$queryRaw`SELECT 1` - return JSON.stringify(user) + return JSON.stringify(result) } export default async function Page({ params }) { diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml index 80783f21df28..f1a86a9e8f40 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/4_simplerepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: .: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1138,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1159,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1169,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1201,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1263,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1283,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1297,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1329,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1392,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1411,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1429,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1509,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1534,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1561,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1604,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1201,8 +1663,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1210,25 +1683,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1719,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1743,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1759,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1872,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1891,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1933,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1954,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1969,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1989,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2079,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2094,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2112,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2186,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/_steps.skip.ts b/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/_steps.skip.ts index 07680817c9d3..e8e57c5ccaec 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/_steps.skip.ts +++ b/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/_steps.skip.ts @@ -9,7 +9,7 @@ void executeSteps({ await $`pnpm exec prisma db push --force-reset` }, test: async () => { - await testNonServerComponents() + await testNonServerComponents({ monorepo: false }) }, finish: async () => {}, }) diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml index 80783f21df28..21841f9a21d1 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/5_simplerepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: .: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.12 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001658: + resolution: {integrity: sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,26 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + deprecated: '"Please update to latest v2.3 or v2.2"' + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1139,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1160,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1170,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1202,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1264,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1284,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1298,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1330,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1393,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1412,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1430,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001658 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1510,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1535,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1562,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1605,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.8.0 + dev: false + + /path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.0 dev: false /pretty-ms@7.0.1: @@ -1201,8 +1664,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1210,25 +1684,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1720,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1744,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1760,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1873,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1892,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1934,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1955,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1970,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1990,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2080,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2095,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2113,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2187,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/_steps.skip.ts b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/_steps.skip.ts index 38b66b08522b..4dbe33cb1137 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/_steps.skip.ts +++ b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/_steps.skip.ts @@ -9,7 +9,7 @@ void executeSteps({ await $`pnpm exec prisma db push --force-reset` }, test: async () => { - await testServerComponents() + await testServerComponents({ monorepo: false }) }, finish: async () => {}, }) diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/app/test/[id]/page.jsx index dde153c1b0d1..7b8210800edd 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/app/test/[id]/page.jsx @@ -1,4 +1,4 @@ -const { PrismaClient } = require('../../../prisma/client') +const { PrismaClient } = require('@prisma/client') export async function generateStaticParams() { return [{ id: '1' }] @@ -9,14 +9,9 @@ async function doPrismaQuery(params) { const prisma = new PrismaClient() - await prisma.user.deleteMany() - const user = await prisma.user.create({ - data: { - email: 'test', - }, - }) + const result = await prisma.$queryRaw`SELECT 1` - return JSON.stringify(user) + return JSON.stringify(result) } export default async function Page({ params }) { diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml index 80783f21df28..76ed0068cbda 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/6_simplerepo-serverComponents-customOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: .: dependencies: '@prisma/client': - specifier: ../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.12 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false + + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001658: + resolution: {integrity: sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,26 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + deprecated: '"Please update to latest v2.3 or v2.2"' + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1139,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1160,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1170,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1202,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1264,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1284,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1298,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1330,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1393,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1412,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1430,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001658 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1510,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1535,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1562,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1605,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.8.0 + dev: false + + /path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.0 dev: false /pretty-ms@7.0.1: @@ -1201,34 +1664,56 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + requiresBuild: true dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1721,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1745,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1761,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1874,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1893,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1935,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1956,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1971,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1991,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2081,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2096,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2114,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2188,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/packages/service/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/packages/service/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml index f86d3739e31c..6d6deec850a6 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/7_monorepo-noServerComponents-noCustomOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: packages/service: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1138,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1159,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1169,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1201,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1263,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1283,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1297,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1329,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1392,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1411,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1429,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1509,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1534,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1561,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1604,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1201,8 +1663,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1210,25 +1683,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1719,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1743,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1759,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1872,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1891,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1933,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1954,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1969,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1989,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2079,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2094,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2112,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2186,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/app/test/[id]/page.jsx b/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/app/test/[id]/page.jsx index 8f0e013dfac6..db95ce2093c9 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/app/test/[id]/page.jsx +++ b/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/app/test/[id]/page.jsx @@ -9,16 +9,12 @@ async function doPrismaQuery(params) { const prisma = new PrismaClient() - await prisma.user.deleteMany() - const user = await prisma.user.create({ - data: { - email: 'test', - }, - }) + const result = await prisma.$queryRaw`SELECT 1` - return JSON.stringify(user) + return JSON.stringify(result) } export default async function Page({ params }) { + console.error('hello', params) return
{await doPrismaQuery(params)}
} diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/packages/service/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml index f86d3739e31c..6d6deec850a6 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/8_monorepo-serverComponents-noCustomOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: packages/service: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} + dev: false + + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1138,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1159,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1169,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1201,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1263,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1283,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1297,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1329,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1392,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1411,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1429,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1509,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1534,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1561,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1604,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1201,8 +1663,19 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false @@ -1210,25 +1683,35 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1719,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1743,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1759,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1872,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1891,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1933,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1954,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1969,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1989,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2079,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2094,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2112,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2186,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/packages/service/package.json b/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/packages/service/package.json index 23ac9dffcfe2..ba05ba4486bf 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/packages/service/package.json +++ b/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/packages/service/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "next": "13.1.4", + "next": "14.2.8", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.4.5", diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml b/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml index f86d3739e31c..5cb9dba0d602 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml +++ b/packages/client/tests/e2e/nextjs-schema-not-found/9_monorepo-noServerComponents-customOutput-noReExport/pnpm-lock.yaml @@ -9,33 +9,33 @@ importers: packages/service: dependencies: '@prisma/client': - specifier: ../../../../prisma-client-0.0.0.tgz - version: file:../../prisma-client-0.0.0.tgz(prisma@0.0.0) + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) next: - specifier: 13.1.4 - version: 13.1.4(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.8 + version: 14.2.8(react-dom@18.3.1)(react@18.3.1) react: - specifier: 18.2.0 - version: 18.2.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) typescript: - specifier: 4.9.4 - version: 4.9.4 + specifier: 5.4.5 + version: 5.4.5 vercel: - specifier: 28.13.0 - version: 28.13.0 + specifier: 33.5.0 + version: 33.5.0 devDependencies: '@types/node': - specifier: 18.11.18 - version: 18.11.18 + specifier: 18.19.34 + version: 18.19.34 '@types/react': - specifier: 18.0.26 - version: 18.0.26 + specifier: 18.3.3 + version: 18.3.3 prisma: - specifier: ../../../../prisma-0.0.0.tgz - version: file:../../prisma-0.0.0.tgz + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -46,78 +46,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@edge-runtime/format@1.1.0: - resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} + /@edge-runtime/cookies@3.4.1: + resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==} + engines: {node: '>=16'} dev: false - /@edge-runtime/primitives@2.0.0: - resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} + /@edge-runtime/format@2.2.0: + resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==} + engines: {node: '>=16'} dev: false - /@edge-runtime/vm@2.0.0: - resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} + /@edge-runtime/node-utils@2.2.1: + resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==} + engines: {node: '>=16'} dependencies: - '@edge-runtime/primitives': 2.0.0 + '@edge-runtime/cookies': 3.4.1 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@edge-runtime/ponyfill@2.4.1: + resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/primitives@4.0.5: + resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==} + engines: {node: '>=16'} + dev: false + + /@edge-runtime/vm@3.1.7: + resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==} + engines: {node: '>=16'} + dependencies: + '@edge-runtime/primitives': 4.0.5 + dev: false + + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + semver: 7.6.3 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@next/env@13.1.4: - resolution: {integrity: sha512-x7ydhMpi9/xX7yVK+Fw33OuwwQWVZUFRxenK3z89fmPzQZyUk35Ynb+b7JkrhfRhDIFFvvqpzVSXeseSlBAw7A==} - dev: false - - /@next/swc-android-arm-eabi@13.1.4: - resolution: {integrity: sha512-5PAchzFst3In6Ml+9APvBj89H29lcPXcUqEYBVv09fWK/V4IuViKc2qOqM9pyPyw7KsqaZPmuqaG595E6jdZLA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true + /@next/env@14.2.8: + resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} dev: false - optional: true - /@next/swc-android-arm64@13.1.4: - resolution: {integrity: sha512-LCLjjRhsQ5fR9ExzR2fqxuyJe/D4Ct/YkdonVfJfqOfkEpFwUTQDOVo5GrQec4LZDk3zY+o6vZYjXbB0nD9VLA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64@13.1.4: - resolution: {integrity: sha512-LSc/tF1FQ1y1SwKiCdGg8IIl7+Csk6nuLcLIyQXs24UNYjXg5+7vUQXqE8y66v/Dq8qFDC9rM61QhpM9ZDftbg==} + /@next/swc-darwin-arm64@14.2.8: + resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -125,8 +132,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.1.4: - resolution: {integrity: sha512-WoApDo8xfafrNc9+Mz5MwGFKUwbDHsGqLleTGZ8upegwVqDyHsYzqJQudf+loqhV58oGTOqP1eWaHn2J7dijXA==} + /@next/swc-darwin-x64@14.2.8: + resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -134,26 +141,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64@13.1.4: - resolution: {integrity: sha512-fqNyeT8G4guN8AHPIoBRhGY2GJg89FyWpuwX4o0Y3vUy/84IGZpNst3paCzaYkQSqQE/AuCpkB7hKxkN7ittXw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf@13.1.4: - resolution: {integrity: sha512-MEfm8OC1YR9/tYHUzlQsxcSmiuf8XdO7bqh5VtG4pilScjc5I5t+tQgIDgoDGePfh5W99W23hb3s6oCFrt99rw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu@13.1.4: - resolution: {integrity: sha512-2wgth/KsuODzW/E7jsRoWdhKmE5oZzXcBPvf9RW+ZpBNvYQkEDlzfLA7n8DtxTU8I4oMas0mdEPdCWXrSNnVZw==} + /@next/swc-linux-arm64-gnu@14.2.8: + resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -161,8 +150,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.1.4: - resolution: {integrity: sha512-GdWhCRljsT7rNEElEsdu4RRppd+XaQOX1IJslsh/+HU6LsJGUE8tXpa68yJjCsHZHifkbdZNeCr5SYdsN6CbAA==} + /@next/swc-linux-arm64-musl@14.2.8: + resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -170,8 +159,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.1.4: - resolution: {integrity: sha512-Rsk/ojwYqMskN2eo5hUSVe7UuMV/aSjmrmJ0BCFGFPfBY9sPgmYj/oXlDDN0y5lJD9acPuiBjknLWgnOnx5JIA==} + /@next/swc-linux-x64-gnu@14.2.8: + resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -179,8 +168,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.1.4: - resolution: {integrity: sha512-gKSVPozedA2gpA+vggYnAqpDuzWFed2oxFeXxHw0aW2ALdAZswAinn1ZwXEQ5fHnVguxjZhH0+2nBxpMdF8p5Q==} + /@next/swc-linux-x64-musl@14.2.8: + resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -188,8 +177,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.1.4: - resolution: {integrity: sha512-+kAXIIVb7Q4LCKmi7dn9qVlG1XUf3Chgj5Rwl0rAP4WBV2TnJIgsOEC24G1Mm3jjif+qXm7SJS9YZ9Yg3Y8sSQ==} + /@next/swc-win32-arm64-msvc@14.2.8: + resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -197,8 +186,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.1.4: - resolution: {integrity: sha512-EsfzAFBVaw1zg1FzlLMgRaTX/DKY+EnAvJ6mCIJMGeSOPIj4Oy6xF2yEQ3VaRkwFpAafHJH6JNB/CGrdKFCMXw==} + /@next/swc-win32-ia32-msvc@14.2.8: + resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -206,8 +195,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.1.4: - resolution: {integrity: sha512-bygNjmnq+F9NqJXh7OfhJgqu6LGU29GNKQYVyZkxY/h5K0WWUvAE/VL+TdyMwbvQr9KByx5XLwORwetLxXCo4g==} + /@next/swc-win32-x64-msvc@14.2.8: + resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -233,9 +222,12 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -244,23 +236,37 @@ packages: picomatch: 2.3.1 dev: false - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: false + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: - tslib: 2.5.0 + '@swc/counter': 0.1.3 + tslib: 2.7.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: false /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 minimatch: 3.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -271,141 +277,208 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: false - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: false - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: true - /@types/react@18.0.26: - resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/prop-types': 15.7.13 + csstype: 3.1.3 dev: true - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - dev: true + /@vercel/build-utils@7.6.0: + resolution: {integrity: sha512-NHTakIX/OMl/VY+uKVZA8teNAekkkldUlYuoAxUGfVuxnRDoUGSouE6LJR3Cwi0NJXte20Y+z1n5h+fhLdqcrA==} + dev: false + + /@vercel/error-utils@2.0.2: + resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==} + dev: false - /@vercel/build-utils@5.9.0: - resolution: {integrity: sha512-LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==} + /@vercel/fun@1.1.0: + resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==} + engines: {node: '>= 10'} + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.1.1 + execa: 3.2.0 + fs-extra: 8.1.0 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.3.5 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 4.4.18 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + uuid: 3.3.2 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color dev: false - /@vercel/go@2.2.30: - resolution: {integrity: sha512-ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.11: + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + dependencies: + web-vitals: 0.2.4 dev: false - /@vercel/hydrogen@0.0.44: - resolution: {integrity: sha512-7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==} + /@vercel/gatsby-plugin-vercel-builder@2.0.17: + resolution: {integrity: sha512-HeN9lW5CPvMSGoMwD+OHOJROSZn7IAVDrN4qytE/XWAGihaKWjvcjnUycOygtrFP25wq4pOis5N9+6gMBcu/jQ==} + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 7.6.0 + '@vercel/routing-utils': 3.1.0 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 dev: false - /@vercel/next@3.3.18: - resolution: {integrity: sha512-RmYSlWgkCHytIdrqO5FtJ46H43WUhi+ISIiiNNp7jR5uzAviuOo9jdvCKuR7vRoEBoLc359GCXbUOlG6/VHYkw==} + /@vercel/go@3.0.5: + resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==} dev: false - /@vercel/nft@0.22.5: - resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} - engines: {node: '>=14'} + /@vercel/hydrogen@1.0.2: + resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==} + dependencies: + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + dev: false + + /@vercel/next@4.1.1: + resolution: {integrity: sha512-bc+UimeP+Swwye10LNcB93uaGq2lMuPUhB3den0GBJ+x/aSFmSwVziohF+p1n4ozFGEUx6Qx/CyZcfopuO5jZA==} + dependencies: + '@vercel/nft': 0.26.3 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vercel/nft@0.26.3: + resolution: {integrity: sha512-h1z/NN9ppS4YOKwSgBoopJlhm7tS2Qb/9Ld1HXjDpvvTE7mY0xVD8nllXs+RihD9uTGJISOIMzp18Eg0EApaMA==} + engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.8.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + node-gyp-build: 4.8.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/node-bridge@3.1.10: - resolution: {integrity: sha512-0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==} - dev: false - - /@vercel/node@2.8.15: - resolution: {integrity: sha512-pS445kGQGi4xN2vd/95mp5E86WrVEV7VH/u7f2G0Q5jCbcw590czJv1U+FLlW5OrznuuGT0LbNRKA0TBAUrbfA==} + /@vercel/node@3.0.18: + resolution: {integrity: sha512-EOwOQB80B/+JyXkjNDZs0N9z8P+5QyzGU3RrnpqqfcFkh518yiP5TQedS0NUBeITqKc04az5BTGIEr5uhyRngA==} dependencies: - '@edge-runtime/vm': 2.0.0 + '@edge-runtime/node-utils': 2.2.1 + '@edge-runtime/primitives': 4.0.5 + '@edge-runtime/vm': 3.1.7 '@types/node': 14.18.33 - '@vercel/build-utils': 5.9.0 - '@vercel/node-bridge': 3.1.10 - '@vercel/static-config': 2.0.11 - edge-runtime: 2.0.0 + '@vercel/build-utils': 7.6.0 + '@vercel/error-utils': 2.0.2 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + async-listen: 3.0.0 + edge-runtime: 2.5.7 esbuild: 0.14.47 - exit-hook: 2.2.1 - node-fetch: 2.6.7 - ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) - typescript: 4.3.4 + etag: 1.8.1 + node-fetch: 2.6.9 + path-to-regexp: 6.2.1 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5) + typescript: 4.9.5 + undici: 5.26.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding + - supports-color dev: false - /@vercel/python@3.1.40: - resolution: {integrity: sha512-Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==} + /@vercel/python@4.1.1: + resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==} dev: false - /@vercel/redwood@1.0.51: - resolution: {integrity: sha512-0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==} + /@vercel/redwood@2.0.7: + resolution: {integrity: sha512-5BqSq9QP4kC3h9YmXJbuUM79EMErs2qs8MMBlw7r2zTLc2rqlUR6suzshn5Ei/Beqoj2pm7d+qrludEBVDBxkw==} dependencies: - '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.8 - semver: 6.1.1 + '@vercel/nft': 0.26.3 + '@vercel/routing-utils': 3.1.0 + semver: 6.3.1 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/remix@1.2.7: - resolution: {integrity: sha512-7og2psE5EGBkBSPwv09an/TM4ucLyMwxvq4yjxT/6UajQf1Evd8hi/kkBWNQYTAH+tq5kBXCXgbaJ3ggbwcD4g==} + /@vercel/remix-builder@2.0.19: + resolution: {integrity: sha512-mODNijOpRGKtW09ksg01ju6tOt+C/fba71l1rrHi8I/ejPxpXHnfArNyO5SPRldyq5eHrhBMeePStQLVKNetug==} dependencies: - '@vercel/nft': 0.22.5 + '@vercel/nft': 0.26.3 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@vercel/routing-utils@2.1.8: - resolution: {integrity: sha512-rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==} + /@vercel/routing-utils@3.1.0: + resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: false - /@vercel/ruby@1.3.56: - resolution: {integrity: sha512-fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==} + /@vercel/ruby@2.0.5: + resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==} dev: false - /@vercel/static-build@1.2.0: - resolution: {integrity: sha512-jQKalffqT1bgZ4oSaxbeCLZD8EzZ0BxD8A+Ggifc64Lx2vRpLR/ZBbY6m/oSImU9RtnPDxS31hv1nltdDJ2V8Q==} + /@vercel/static-build@2.3.0: + resolution: {integrity: sha512-rtUvz9p3Opud2yj5ZrkbN6j2Xq79tDX8sWasmikpGvPbvgPVwzXcL8QhjGIJ6CLuwg2A9+2rBkyRBJKKfmsE8g==} + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.17 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 dev: false - /@vercel/static-config@2.0.11: - resolution: {integrity: sha512-dw6CAJ7U2AcQpjZV9YfOyz2wTseSFdkT3qivBg2GjHtVyd5wdY7vkQ9seLKEckYhFx3CjQ29IhzhDND9F5oINw==} + /@vercel/static-config@3.0.0: + resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 @@ -416,13 +489,23 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.12.1 + dev: false + + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -431,7 +514,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false @@ -461,6 +544,18 @@ packages: engines: {node: '>=8'} dev: false + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false @@ -468,15 +563,34 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + dev: false + + /arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false + /async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + dev: false + + /async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + dev: false + + /async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + dev: false + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false @@ -485,6 +599,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -498,15 +617,50 @@ packages: concat-map: 0.0.1 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: false + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + dev: false + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: false + + /chokidar@3.3.1: + resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.3.0 + optionalDependencies: + fsevents: 2.1.3 dev: false - /caniuse-lite@1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false /chownr@2.0.0: @@ -535,6 +689,11 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} @@ -544,12 +703,33 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.1 + dev: false + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,15 +737,20 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false @@ -574,18 +759,19 @@ packages: engines: {node: '>=0.3.1'} dev: false - /edge-runtime@2.0.0: - resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} + /edge-runtime@2.5.7: + resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==} + engines: {node: '>=16'} hasBin: true dependencies: - '@edge-runtime/format': 1.1.0 - '@edge-runtime/vm': 2.0.0 - exit-hook: 2.2.1 - http-status: 1.5.3 + '@edge-runtime/format': 2.2.0 + '@edge-runtime/ponyfill': 2.4.1 + '@edge-runtime/vm': 3.1.7 + async-listen: 3.0.1 mri: 1.2.0 picocolors: 1.0.0 - pretty-bytes: 5.6.0 pretty-ms: 7.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: false @@ -593,6 +779,18 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false + /end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + dependencies: + once: 1.3.3 + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} @@ -805,48 +1003,99 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false - /exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} - engines: {node: '>=6'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + dev: false + + /execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + requiresBuild: true dev: false optional: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -858,9 +1107,25 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false + /fsevents@2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -873,6 +1138,18 @@ packages: wide-align: 1.1.5 dev: false + /generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -882,6 +1159,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -891,17 +1169,31 @@ packages: path-is-absolute: 1.0.1 dev: false - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: false /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false - /http-status@1.5.3: - resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} - engines: {node: '>= 0.4.0'} + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: false + + /http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 dev: false /https-proxy-agent@5.0.1: @@ -909,22 +1201,46 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color dev: false + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: false + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -947,6 +1263,19 @@ packages: engines: {node: '>=0.12.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -954,12 +1283,13 @@ packages: /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 ts-toolbelt: 6.15.5 dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + requiresBuild: true dev: false optional: true @@ -967,6 +1297,20 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -985,32 +1329,62 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.1 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + dev: false + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: false + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1018,11 +1392,17 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: false + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -1031,6 +1411,13 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -1042,55 +1429,57 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /next@13.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0oBUU+tcOPKbXTVdsDO2adc6wd/ggqauHHysPQJxuIKqZ+fwICGJht0C5D5V0A/77eQDF5EFwNdAHkFvBDsog==} - engines: {node: '>=14.6.0'} + /next@14.2.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: - fibers: + '@opentelemetry/api': optional: true - node-sass: + '@playwright/test': optional: true sass: optional: true dependencies: - '@next/env': 13.1.4 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001452 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + '@next/env': 14.2.8 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001663 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.4 - '@next/swc-android-arm64': 13.1.4 - '@next/swc-darwin-arm64': 13.1.4 - '@next/swc-darwin-x64': 13.1.4 - '@next/swc-freebsd-x64': 13.1.4 - '@next/swc-linux-arm-gnueabihf': 13.1.4 - '@next/swc-linux-arm64-gnu': 13.1.4 - '@next/swc-linux-arm64-musl': 13.1.4 - '@next/swc-linux-x64-gnu': 13.1.4 - '@next/swc-linux-x64-musl': 13.1.4 - '@next/swc-win32-arm64-msvc': 13.1.4 - '@next/swc-win32-ia32-msvc': 13.1.4 - '@next/swc-win32-x64-msvc': 13.1.4 + '@next/swc-darwin-arm64': 14.2.8 + '@next/swc-darwin-x64': 14.2.8 + '@next/swc-linux-arm64-gnu': 14.2.8 + '@next/swc-linux-arm64-musl': 14.2.8 + '@next/swc-linux-x64-gnu': 14.2.8 + '@next/swc-linux-x64-musl': 14.2.8 + '@next/swc-win32-arm64-msvc': 14.2.8 + '@next/swc-win32-ia32-msvc': 14.2.8 + '@next/swc-win32-x64-msvc': 14.2.8 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -1120,8 +1509,20 @@ packages: whatwg-url: 5.0.0 dev: false - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true dev: false @@ -1133,8 +1534,21 @@ packages: abbrev: 1.1.1 dev: false + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -1147,12 +1561,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: false + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + dev: false + + /p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + dev: false + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -1167,31 +1604,56 @@ packages: engines: {node: '>=0.10.0'} dev: false + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + dev: false + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: false + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /pretty-ms@7.0.1: @@ -1201,34 +1663,56 @@ packages: parse-ms: 2.1.0 dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + dev: false + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + requiresBuild: true dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -1236,6 +1720,13 @@ packages: util-deprecate: 1.0.2 dev: false + /readdirp@3.3.0: + resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1253,6 +1744,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -1268,38 +1760,97 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false - /semver@6.1.1: - resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false + /setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: false + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false + /stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: false + + /stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1322,7 +1873,12 @@ packages: ansi-regex: 5.0.1 dev: false - /styled-jsx@5.1.1(react@18.2.0): + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /styled-jsx@5.1.1(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -1336,16 +1892,29 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 + dev: false + + /tar@4.4.18: + resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.0.3 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -1365,10 +1934,20 @@ packages: is-number: 7.0.0 dev: false + /toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: false + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: @@ -1376,7 +1955,7 @@ packages: code-block-writer: 10.1.1 dev: false - /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -1391,18 +1970,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 14.18.33 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.3.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -1411,52 +1990,89 @@ packages: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false - /typescript@4.3.4: - resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true dev: false + /uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /undici@5.26.5: + resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@3.3.2: + resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /vercel@28.13.0: - resolution: {integrity: sha512-Ap2S4SPyasCcd9n1eWFpsN/tYOUX4XWJMKE57ppXNkU8Y3JzriLIv4szYbezKDkyShbUcCqVLVB2ek0dG4wLXg==} - engines: {node: '>= 14'} + /vercel@33.5.0: + resolution: {integrity: sha512-NRv9JbozIqzBbhsrZFCfSvvCGO6HMGR7IqoPkNUGoj5wmdLqu01gYB77byTBs3GOtWgP8TgqkStaKGGF5VmVlQ==} + engines: {node: '>= 16'} hasBin: true - requiresBuild: true dependencies: - '@vercel/build-utils': 5.9.0 - '@vercel/go': 2.2.30 - '@vercel/hydrogen': 0.0.44 - '@vercel/next': 3.3.18 - '@vercel/node': 2.8.15 - '@vercel/python': 3.1.40 - '@vercel/redwood': 1.0.51 - '@vercel/remix': 1.2.7 - '@vercel/ruby': 1.3.56 - '@vercel/static-build': 1.2.0 + '@vercel/build-utils': 7.6.0 + '@vercel/fun': 1.1.0 + '@vercel/go': 3.0.5 + '@vercel/hydrogen': 1.0.2 + '@vercel/next': 4.1.1 + '@vercel/node': 3.0.18 + '@vercel/python': 4.1.1 + '@vercel/redwood': 2.0.7 + '@vercel/remix-builder': 2.0.19 + '@vercel/ruby': 2.0.5 + '@vercel/static-build': 2.3.0 + chokidar: 3.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1464,6 +2080,10 @@ packages: - supports-color dev: false + /web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -1475,6 +2095,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -1485,31 +2113,73 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false + /xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + dependencies: + xdg-portable: 7.3.0 + dev: false + + /xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + dependencies: + os-paths: 4.4.0 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + dependencies: + events-intercept: 2.0.0 + dev: false + + /yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: false + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: false - file:../../prisma-0.0.0.tgz: - resolution: {integrity: sha512-S8mrUXJjyiGxhjgt1HNRTy93QLnj9mpZj2sAHRn9O5PvMBrFaLWzNMzlUveqWVUpgfQIqn8W+WQ88pwM+Kz9Qg==, tarball: file:../../prisma-0.0.0.tgz} + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true - bundledDependencies: - - '@prisma/engines' + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0w7lFM1bRUVdT7nHjyYTUqoFmYcSU+VFsmzKpiTt8qH1xVx8qUZW/ivC4KcM6Z7vM1EbPcZHzcPY2NlzpFf7BQ==, tarball: file:../../prisma-client-0.0.0.tgz} - id: file:../../prisma-client-0.0.0.tgz + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 - engines: {node: '>=14.17'} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -1517,7 +2187,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../prisma-0.0.0.tgz + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - bundledDependencies: - - '@prisma/engines-version' + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/nextjs-schema-not-found/_shared/test.ts b/packages/client/tests/e2e/nextjs-schema-not-found/_shared/test.ts index eb39382807fc..d1a9589f135b 100644 --- a/packages/client/tests/e2e/nextjs-schema-not-found/_shared/test.ts +++ b/packages/client/tests/e2e/nextjs-schema-not-found/_shared/test.ts @@ -1,5 +1,10 @@ +import http from 'node:http' + import { $ } from 'zx' +export const MONOREPO_APP_DIR_SERVER = '.next/standalone/packages/service/server.js' +export const DEFAULT_SERVER = '.next/standalone/server.js' + /** * Starts the Next.js server and tests the endpoint. It tests: * - No workaround + Server Components: if fails, nice error message @@ -8,27 +13,27 @@ import { $ } from 'zx' * - Workaround + non-Server Components: should succeed * @param endpoint the endpoint to test */ -async function test(endpoint: string) { +async function test({ endpoint, server = DEFAULT_SERVER }: { endpoint: string; server?: string }) { console.log(`Testing ${endpoint} with WORKAROUND=${process.env.WORKAROUND}`) // prepare and start the next.js server const nextJsBuild = await $`pnpm exec next build`.nothrow() await $`rm -fr .next/standalone/node_modules/next`.nothrow() - const nextJsProcess = $`node .next/standalone/server.js`.nothrow() + const nextJsProcess = $`HOSTNAME=127.0.0.1 node ${server}`.nothrow() // wait for the server to be fully ready for await (const line of nextJsProcess.stdout) { - if (line.includes('Listening on port')) break + if (line.includes('Ready in')) break } // attempt to query the endpoint with curl - const data = await $`curl -LI http://localhost:3000/${endpoint} -o /dev/null -w '%{http_code}' -s`.nothrow() + const code = await getHttpCode(endpoint) // kill and proceed with test assertions await nextJsProcess.kill('SIGINT') // Path 1: No workaround + a nice error message - if (process.env.WORKAROUND !== 'true' && (data.stdout === '500' || nextJsBuild.exitCode !== 0)) { + if (process.env.WORKAROUND !== 'true' && (code === 500 || nextJsBuild.exitCode !== 0)) { // Dual logic: server components error at build & runtime, non-Server components at runtime // this is also why we use `.nothrow()` and only check for exit codes as well as http codes const stderr = nextJsBuild.stderr + (await nextJsProcess).stderr // dual logic @@ -42,26 +47,43 @@ async function test(endpoint: string) { } // Path 2: Workaround + no error message - if (process.env.WORKAROUND === 'true' && data.stdout === '200') { + if (process.env.WORKAROUND === 'true' && code === 200) { return } // Path 3: Otherwise, it should succeed - if (data.stdout !== '200') { - throw new Error(`Expected 200 but got ${data.stdout}`) + if (code !== 200) { + throw new Error(`Expected 200 but got ${code}`) } } -export async function testServerComponents() { - process.env.WORKAROUND = 'true' - await test('test/42') - process.env.WORKAROUND = 'false' - await test('test/42') +export async function getHttpCode(endpoint: string): Promise { + return new Promise((resolve, reject) => { + http + .get(new URL(endpoint, 'http://localhost:3000'), (res) => { + res.resume() // consume body + res.on('end', () => resolve(res.statusCode)) + }) + .on('error', (error) => reject(error)) + }) +} + +type TestOptions = { + monorepo?: boolean +} + +export function testServerComponents(options?: TestOptions) { + return testEndpoint('test/42', options) +} + +export async function testNonServerComponents(options?: TestOptions) { + return testEndpoint('api/test', options) } -export async function testNonServerComponents() { +async function testEndpoint(endpoint, { monorepo = true }: TestOptions = {}) { + const server = monorepo ? MONOREPO_APP_DIR_SERVER : DEFAULT_SERVER process.env.WORKAROUND = 'true' - await test('api/test') + await test({ endpoint, server }) process.env.WORKAROUND = 'false' - await test('api/test') + await test({ endpoint, server }) } diff --git a/packages/client/tests/e2e/noengine-file-deletion/package.json b/packages/client/tests/e2e/noengine-file-deletion/package.json index 3c838499011e..709def0675fa 100644 --- a/packages/client/tests/e2e/noengine-file-deletion/package.json +++ b/packages/client/tests/e2e/noengine-file-deletion/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/noengine-file-deletion/pnpm-lock.yaml b/packages/client/tests/e2e/noengine-file-deletion/pnpm-lock.yaml index 3710512a393f..a951d495df79 100644 --- a/packages/client/tests/e2e/noengine-file-deletion/pnpm-lock.yaml +++ b/packages/client/tests/e2e/noengine-file-deletion/pnpm-lock.yaml @@ -7,115 +7,118 @@ settings: dependencies: '@prisma/client': specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) devDependencies: '@types/jest': - specifier: 29.5.11 - version: 29.5.11 + specifier: 29.5.12 + version: 29.5.12 '@types/node': - specifier: 16.18.65 - version: 16.18.65 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz packages: - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} dev: true - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.1.0 dev: true - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.65 - '@types/yargs': 17.0.24 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 dev: true - /@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64: - resolution: {integrity: sha512-HFl7275yF0FWbdcNvcSRbbu9JCBSLMcurYwvWc8WGDnpu7APxQo2ONtZrUggU3WxLxUJ2uBX+0GOFIcJeVeOOQ==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 dev: true - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 dev: true - /@types/jest@29.5.11: - resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 + expect: 29.7.0 + pretty-format: 29.7.0 dev: true - /@types/node@16.18.65: - resolution: {integrity: sha512-5E9WgTy95B7i90oISjui9U5Zu7iExUPfU4ygtv4yXEy6zJFE3oQYHCnh5H1jZRPkjphJt2Ml3oQW6M0qtK534A==} + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} dev: true - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@17.0.33: + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 dev: true /ansi-styles@3.2.1: @@ -137,11 +140,11 @@ packages: engines: {node: '>=10'} dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 dev: true /chalk@2.4.2: @@ -161,8 +164,8 @@ packages: supports-color: 7.2.0 dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} dev: true @@ -187,8 +190,8 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -202,25 +205,31 @@ packages: engines: {node: '>=8'} dev: true - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.65 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true @@ -240,54 +249,54 @@ packages: engines: {node: '>=0.12.0'} dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 + micromatch: 4.0.8 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.65 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: true @@ -296,30 +305,34 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: true + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: true + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: true /slash@3.0.0: @@ -355,19 +368,25 @@ packages: is-number: 7.0.0 dev: true - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-Q3PnZuFEnItVHqV89rMG1QFT6vj2PCWuTVicg4WrDgiwYI/QOn6UisMj6603/o/69DL1IIFvUvm9w1uaMDZDNA==, tarball: file:../../tmp/prisma-0.0.0.tgz} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-RoppbUFZhgtNgeEdLz0wNLWj5k5SIweJUw77Hb31tYvMk6kucFwWaa+31tw2dQdakpl8Zoaq9P4cCoACy0cuCQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz + file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 engines: {node: '>=16.13'} @@ -378,37 +397,37 @@ packages: prisma: optional: true dependencies: - prisma: file:../../tmp/prisma-0.0.0.tgz + prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-+NjOXqSA36mCakAX/8qgeyhjhBIX9tVMpvXLCZ4ZM31ivfbIA8rxozbfALGySmD8G/e17iDd0TXZP2zlx3rl4w==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} name: '@prisma/debug' version: 0.0.0 - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-dGKMK89Mw/Z4O/djSqGwrCwa4VewQECl0x3e981+q6OpXy5nWZE0piaQ/KZsckB0CKo8c+zBT7XaCyFp+4gsRQ==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} name: '@prisma/engines' version: 0.0.0 requiresBuild: true dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 - '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz - '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-+o/fxSBZsRBq5oa9JQwbZONUbqekLh5BM/EvPPnLjla/4jJYx6oNfSVozfCpWU0Iz5uBQnVq+bRM5nb76mJc6Q==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} name: '@prisma/fetch-engine' version: 0.0.0 dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 - '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-n1FeQ4sScsmnrVS2CMGzl21kZgWdrO5KjK/7P20iCmYkopuwPSx+j6WGfZp8xO1zfIoQFSIt0qvEXcYg1NoApg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} name: '@prisma/get-platform' version: 0.0.0 dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/output-location-warning/package.json b/packages/client/tests/e2e/output-location-warning/package.json index 58a8711207dc..5521cf158540 100644 --- a/packages/client/tests/e2e/output-location-warning/package.json +++ b/packages/client/tests/e2e/output-location-warning/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "jest": "29.7.0", "prisma": "/tmp/prisma-0.0.0.tgz" } diff --git a/packages/client/tests/e2e/output-location-warning/pnpm-lock.yaml b/packages/client/tests/e2e/output-location-warning/pnpm-lock.yaml new file mode 100644 index 000000000000..8abec5c15968 --- /dev/null +++ b/packages/client/tests/e2e/output-location-warning/pnpm-lock.yaml @@ -0,0 +1,2330 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + db: + specifier: ./custom + version: link:custom + +devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@18.19.50) + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + dev: true + + /@babel/compat-data@7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.25.2: + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.25.6: + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets@7.25.2: + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-plugin-utils@7.24.8: + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-simple-access@7.24.7: + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-string-parser@7.24.8: + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.24.8: + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.25.6: + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + dev: true + + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + dev: true + + /@babel/parser@7.25.6: + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.25.6 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/template@7.25.0: + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + dev: true + + /@babel/traverse@7.25.6: + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.25.6: + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.19.50) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-mock: 29.7.0 + dev: true + + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + dev: true + + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 18.19.50 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 18.19.50 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + dev: true + + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.25.2 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.1 + dev: true + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + dev: true + + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.25.6 + dev: true + + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + dev: true + + /@types/babel__traverse@7.20.6: + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + dependencies: + '@babel/types': 7.25.6 + dev: true + + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + dependencies: + '@types/node': 18.19.50 + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + dev: true + + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + dev: true + + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true + + /@types/yargs@17.0.33: + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /babel-jest@29.7.0(@babel/core@7.25.2): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.25.2 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.25.2) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.24.8 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + dev: true + + /babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.25.2): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.25.2 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + dev: true + + /browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.27 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + dev: true + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /create-jest@29.7.0(@types/node@18.19.50): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.19.50) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.7 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + dev: true + + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-cli@29.7.0(@types/node@18.19.50): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.19.50) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@18.19.50) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /jest-config@29.7.0(@types/node@18.19.50): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.25.2 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + babel-jest: 29.7.0(@babel/core@7.25.2) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 18.19.50 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-util: 29.7.0 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.7.0 + dev: true + + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + dev: true + + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + cjs-module-lexer: 1.4.1 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/types': 7.25.6 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + dev: true + + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + dev: true + + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 18.19.50 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@29.7.0(@types/node@18.19.50): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@18.19.50) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.3 + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + dev: true + + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /update-browserslist-db@1.1.0(browserslist@4.23.3): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 + dev: true + + /v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + file:../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/pg-global-type-parsers/package.json b/packages/client/tests/e2e/pg-global-type-parsers/package.json index 1211ff9b160f..42b0bf470a67 100644 --- a/packages/client/tests/e2e/pg-global-type-parsers/package.json +++ b/packages/client/tests/e2e/pg-global-type-parsers/package.json @@ -4,13 +4,13 @@ "main": "index.js", "scripts": {}, "dependencies": { + "@prisma/adapter-neon": "/tmp/prisma-adapter-neon-0.0.0.tgz", "@prisma/adapter-pg": "/tmp/prisma-adapter-pg-0.0.0.tgz", "@prisma/adapter-pg-worker": "/tmp/prisma-adapter-pg-worker-0.0.0.tgz", - "@prisma/adapter-neon": "/tmp/prisma-adapter-neon-0.0.0.tgz", "pg": "8.11.5" }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.97" + "@types/node": "18.19.50" } } diff --git a/packages/client/tests/e2e/pg-global-type-parsers/pnpm-lock.yaml b/packages/client/tests/e2e/pg-global-type-parsers/pnpm-lock.yaml index e80621b3028a..56766fb1820a 100644 --- a/packages/client/tests/e2e/pg-global-type-parsers/pnpm-lock.yaml +++ b/packages/client/tests/e2e/pg-global-type-parsers/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: dependencies: '@prisma/adapter-neon': - specifier: /tmp/prisma-adapter-neon-0.0.0.tgz - version: file:../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.3) + specifier: file:/tmp/prisma-adapter-neon-0.0.0.tgz + version: file:../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.5) '@prisma/adapter-pg': - specifier: /tmp/prisma-adapter-pg-0.0.0.tgz + specifier: file:/tmp/prisma-adapter-pg-0.0.0.tgz version: file:../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.11.5) '@prisma/adapter-pg-worker': - specifier: /tmp/prisma-adapter-pg-worker-0.0.0.tgz - version: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz(@prisma/pg-worker@5.15.0) + specifier: file:/tmp/prisma-adapter-pg-worker-0.0.0.tgz + version: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz(@prisma/pg-worker@5.19.1) pg: specifier: 8.11.5 version: 8.11.5 @@ -25,100 +25,92 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.97 - version: 16.18.97 + specifier: 18.19.50 + version: 18.19.50 packages: - '@babel/code-frame@7.22.10': - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.5': - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.22.10': - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - - '@jest/expect-utils@29.6.2': - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/schemas@29.6.0': - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/types@29.6.1': - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@neondatabase/serverless@0.9.3': - resolution: {integrity: sha512-6ZBK8asl2Z3+ADEaELvbaVVGVlmY1oAzkxxZfpmXPKFuJhbDN+5fU3zYBamsahS/Ch1zE+CVWB3R+8QEI2LMSw==} + '@neondatabase/serverless@0.9.5': + resolution: {integrity: sha512-siFas6gItqv6wD/pZnvdu34wEqgG3nSE6zWZdq5j2DEsa+VvX8i/5HXJOo06qrw5axPXn+lGCxeR+NLaSPIXug==} '@prisma/adapter-neon@file:../../tmp/prisma-adapter-neon-0.0.0.tgz': - resolution: {integrity: sha512-culz2nQiSK7UtO3riTZUA2jmi6Zw1QzqSiO5Gifv7WQdvK3SXV+D496O6PobZmEXWPBowTFkti52loOJiaMzVw==, tarball: file:../../tmp/prisma-adapter-neon-0.0.0.tgz} + resolution: {integrity: sha512-6SjUW/l6KNkJLhSUvnZRdP720au4/oDKtH4+b1VF/y/dN/IHGxXWuyTVZ7nfqFyWVH1YZjOaKmn9q7vzQZ2rAQ==, tarball: file:../../tmp/prisma-adapter-neon-0.0.0.tgz} version: 0.0.0 peerDependencies: - '@neondatabase/serverless': ^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 + '@neondatabase/serverless': ^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 '@prisma/adapter-pg-worker@file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz': - resolution: {integrity: sha512-oBb6HvImweXuOlyc/WuKUMa7IKM8t8/m89Nm9UPV8LpDG/q12WtL9d6hJ04ep+weXRNiO+UnCdSUO8E5HfxC7g==, tarball: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz} + resolution: {integrity: sha512-soOLWSXXpuQ80DAkUE45ZNlRZuK+A+OVdqsF5J39nGBul+GNaeSRFSMhhiluiSqp3PQnWxRUXFcabA1wftgZkg==, tarball: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz} version: 0.0.0 peerDependencies: '@prisma/pg-worker': ^5.11.0 '@prisma/adapter-pg@file:../../tmp/prisma-adapter-pg-0.0.0.tgz': - resolution: {integrity: sha512-xRXLOJVuEodHeHuYnXTdLJWxXG1755DIBStoO7WEloxHOg4LQZWQ1v+kwVHiRf24aYvxuaFptd9B+PbnGvzTSQ==, tarball: file:../../tmp/prisma-adapter-pg-0.0.0.tgz} + resolution: {integrity: sha512-4r7sk6QwjkeaFDPzTEb17bLHLjZ3yE9jfV1mK9en8tWzfFhdTv8SWRYMa+6oMX9vhergqscKsaMh57d2DTUIEg==, tarball: file:../../tmp/prisma-adapter-pg-0.0.0.tgz} version: 0.0.0 peerDependencies: pg: ^8.11.3 '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-vRX5a16DrZmICrsN+t2cG5HNguowWAVqVCySAGJ1it8hx7e4iPkK5xy/HR0FCBO0OIcR0t0izDJLJXuKIogsBQ==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': - resolution: {integrity: sha512-jiFNRY5w97A1N/U//RBt+8z5YGDZ/zBs1NURvkTbKqtBYLLXrEHJ3mAw47rs5C80laeTLKQ4fXvuNnG/HYuN/Q==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + resolution: {integrity: sha512-EsH1eFc27KdbUjrAl9AI/7+Ev7TL133B7V/aECsyPH9JtbGvIiKfVJBS+fNLH1hk6nbTdjlFp1LRPAUNhrPGNw==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} version: 0.0.0 - '@prisma/pg-worker@5.15.0': - resolution: {integrity: sha512-ADxhzR2u0aNuUIizHVMVQyjIbFAPfJhEQf2LZItKfGspeEa1W5cmg1DmHfqI43W3rUnEpMrtg5SkSYULvZP8OQ==} + '@prisma/pg-worker@5.19.1': + resolution: {integrity: sha512-h1UEI9sXFLJtHYFuuddN0aQqF2epRvFpK4vQ71veqr1bN1XTXmm311tcpcB/3ySo3ky33f6DOIeBQh+ayxb5Vg==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@types/istanbul-lib-coverage@2.0.4': - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - '@types/istanbul-lib-report@3.0.0': - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - '@types/istanbul-reports@3.0.1': - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - '@types/node@16.18.97': - resolution: {integrity: sha512-4muilE1Lbfn57unR+/nT9AFjWk0MtWi5muwCEJqnOvfRQDbSfLCUdN7vCIg8TYuaANfhLOV85ve+FNpiUsbSRg==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/pg@8.11.6': resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} - '@types/stack-utils@2.0.1': - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/yargs-parser@21.0.0': - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.24': - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -128,62 +120,44 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -192,31 +166,31 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} obuf@1.1.2: @@ -225,8 +199,8 @@ packages: pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -236,13 +210,13 @@ packages: resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} engines: {node: '>=4'} - pg-pool@3.6.2: - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + pg-pool@3.7.0: + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} peerDependencies: pg: '>=8.0' - pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -264,6 +238,9 @@ packages: pgpass@1.0.5: resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -303,12 +280,12 @@ packages: postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -322,10 +299,6 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -334,56 +307,54 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} snapshots: - '@babel/code-frame@7.22.10': + '@babel/code-frame@7.26.2': dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - - '@babel/helper-validator-identifier@7.22.5': {} - - '@babel/highlight@7.22.10': - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 + '@babel/helper-validator-identifier': 7.25.9 js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-validator-identifier@7.25.9': {} - '@jest/expect-utils@29.6.2': + '@jest/expect-utils@29.7.0': dependencies: - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 - '@jest/schemas@29.6.0': + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - '@jest/types@29.6.1': + '@jest/types@29.6.3': dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.97 - '@types/yargs': 17.0.24 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 - '@neondatabase/serverless@0.9.3': + '@neondatabase/serverless@0.9.5': dependencies: '@types/pg': 8.11.6 - '@prisma/adapter-neon@file:../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.3)': + '@prisma/adapter-neon@file:../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.5)': dependencies: - '@neondatabase/serverless': 0.9.3 + '@neondatabase/serverless': 0.9.5 '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz postgres-array: 3.0.2 - '@prisma/adapter-pg-worker@file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz(@prisma/pg-worker@5.15.0)': + '@prisma/adapter-pg-worker@file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz(@prisma/pg-worker@5.19.1)': dependencies: '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz - '@prisma/pg-worker': 5.15.0 + '@prisma/pg-worker': 5.19.1 postgres-array: 3.0.2 '@prisma/adapter-pg@file:../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.11.5)': @@ -398,46 +369,44 @@ snapshots: dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/pg-worker@5.15.0': + '@prisma/pg-worker@5.19.1': dependencies: '@types/pg': 8.11.6 '@sinclair/typebox@0.27.8': {} - '@types/istanbul-lib-coverage@2.0.4': {} + '@types/istanbul-lib-coverage@2.0.6': {} - '@types/istanbul-lib-report@3.0.0': + '@types/istanbul-lib-report@3.0.3': dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports@3.0.1': + '@types/istanbul-reports@3.0.4': dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 '@types/jest@29.5.12': dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 + expect: 29.7.0 + pretty-format: 29.7.0 - '@types/node@16.18.97': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 '@types/pg@8.11.6': dependencies: - '@types/node': 16.18.97 - pg-protocol: 1.6.1 + '@types/node': 18.19.50 + pg-protocol: 1.7.0 pg-types: 4.0.2 - '@types/stack-utils@2.0.1': {} - - '@types/yargs-parser@21.0.0': {} + '@types/stack-utils@2.0.3': {} - '@types/yargs@17.0.24': - dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser@21.0.3': {} - ansi-styles@3.2.1: + '@types/yargs@17.0.33': dependencies: - color-convert: 1.9.3 + '@types/yargs-parser': 21.0.3 ansi-styles@4.3.0: dependencies: @@ -445,104 +414,87 @@ snapshots: ansi-styles@5.2.0: {} - braces@3.0.2: - dependencies: - fill-range: 7.0.1 - - chalk@2.4.2: + braces@3.0.3: dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 + fill-range: 7.1.1 chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - ci-info@3.8.0: {} - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 + ci-info@3.9.0: {} color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} - diff-sequences@29.4.3: {} - - escape-string-regexp@1.0.5: {} + diff-sequences@29.6.3: {} escape-string-regexp@2.0.0: {} - expect@29.6.2: + expect@29.7.0: dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.97 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 graceful-fs@4.2.11: {} - has-flag@3.0.0: {} - has-flag@4.0.0: {} is-number@7.0.0: {} - jest-diff@29.6.2: + jest-diff@29.7.0: dependencies: chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - jest-get-type@29.4.3: {} + jest-get-type@29.6.3: {} - jest-matcher-utils@29.6.2: + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - jest-message-util@29.6.2: + jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 + '@babel/code-frame': 7.26.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 + micromatch: 4.0.8 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - jest-util@29.6.2: + jest-util@29.7.0: dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.97 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 js-tokens@4.0.0: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 obuf@1.1.2: {} @@ -550,17 +502,17 @@ snapshots: pg-cloudflare@1.1.1: optional: true - pg-connection-string@2.6.4: {} + pg-connection-string@2.7.0: {} pg-int8@1.0.1: {} pg-numeric@1.0.2: {} - pg-pool@3.6.2(pg@8.11.5): + pg-pool@3.7.0(pg@8.11.5): dependencies: pg: 8.11.5 - pg-protocol@1.6.1: {} + pg-protocol@1.7.0: {} pg-types@2.2.0: dependencies: @@ -582,9 +534,9 @@ snapshots: pg@8.11.5: dependencies: - pg-connection-string: 2.6.4 - pg-pool: 3.6.2(pg@8.11.5) - pg-protocol: 1.6.1 + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.11.5) + pg-protocol: 1.7.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -594,6 +546,8 @@ snapshots: dependencies: split2: 4.2.0 + picocolors@1.1.1: {} + picomatch@2.3.1: {} postgres-array@2.0.0: {} @@ -618,13 +572,13 @@ snapshots: postgres-range@1.1.4: {} - pretty-format@29.6.2: + pretty-format@29.7.0: dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 - react-is@18.2.0: {} + react-is@18.3.1: {} slash@3.0.0: {} @@ -634,10 +588,6 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -646,4 +596,6 @@ snapshots: dependencies: is-number: 7.0.0 + undici-types@5.26.5: {} + xtend@4.0.2: {} diff --git a/packages/client/tests/e2e/pg-self-signed-cert-error/package.json b/packages/client/tests/e2e/pg-self-signed-cert-error/package.json index fa3ed38d78e7..f815161b6154 100644 --- a/packages/client/tests/e2e/pg-self-signed-cert-error/package.json +++ b/packages/client/tests/e2e/pg-self-signed-cert-error/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/pg-self-signed-cert-error/pnpm-lock.yaml b/packages/client/tests/e2e/pg-self-signed-cert-error/pnpm-lock.yaml index 01c0b24c439e..c8d59180d376 100644 --- a/packages/client/tests/e2e/pg-self-signed-cert-error/pnpm-lock.yaml +++ b/packages/client/tests/e2e/pg-self-signed-cert-error/pnpm-lock.yaml @@ -7,24 +7,24 @@ settings: dependencies: '@prisma/adapter-pg': specifier: /tmp/prisma-adapter-pg-0.0.0.tgz - version: file:../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.11.3) + version: file:../../../../../../../../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.11.5) '@prisma/client': specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) pg: - specifier: 8.11.3 - version: 8.11.3 + specifier: 8.11.5 + version: 8.11.5 devDependencies: '@types/jest': specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.84 - version: 16.18.84 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz packages: @@ -71,13 +71,13 @@ packages: '@jest/schemas': 29.6.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.84 + '@types/node': 18.19.50 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true - /@prisma/engines-version@5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102: - resolution: {integrity: sha512-WXCuyoymvrS4zLz4wQagSsc3/nE6CHy8znyiMv8RKazKymOMd5o9FP5RGwGHAtgoxd+aB/BWqxuP/Ckfu7/3MA==} + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -106,8 +106,10 @@ packages: pretty-format: 29.6.2 dev: true - /@types/node@16.18.84: - resolution: {integrity: sha512-mtn6ixzrUK5IMf6gyyMVUsm0TIeF3IYpUr3i0HHTuPJVbdZ6kc93poZ+wCkFNtxXoP/tyGrdVPOL6/WqGXjfXw==} + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 dev: true /@types/stack-utils@2.0.1: @@ -150,11 +152,6 @@ packages: fill-range: 7.0.1 dev: true - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - dev: false - /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -218,7 +215,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.84 + '@types/node': 18.19.50 jest-get-type: 29.4.3 jest-matcher-utils: 29.6.2 jest-message-util: 29.6.2 @@ -232,6 +229,13 @@ packages: to-regex-range: 5.0.1 dev: true + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true @@ -296,7 +300,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 16.18.84 + '@types/node': 18.19.50 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -315,18 +319,14 @@ packages: picomatch: 2.3.1 dev: true - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - dev: false - /pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true dev: false optional: true - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + /pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} dev: false /pg-int8@1.0.1: @@ -334,16 +334,16 @@ packages: engines: {node: '>=4.0.0'} dev: false - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + /pg-pool@3.7.0(pg@8.11.5): + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} peerDependencies: pg: '>=8.0' dependencies: - pg: 8.11.3 + pg: 8.11.5 dev: false - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + /pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} dev: false /pg-types@2.2.0: @@ -357,8 +357,8 @@ packages: postgres-interval: 1.2.0 dev: false - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + /pg@8.11.5: + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -366,11 +366,9 @@ packages: pg-native: optional: true dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.11.5) + pg-protocol: 1.7.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -466,37 +464,43 @@ packages: is-number: 7.0.0 dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: false - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-xTcW91tjcRr86tgNgPQ4Vl85vw3yNoUTQB4ZIfULFK5zbVpmbuS1KzeK5Oo26XkBxqJp7zqnKAOgKXPzml+Y3w==, tarball: file:../../tmp/prisma-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} name: prisma version: 0.0.0 engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - file:../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.11.3): - resolution: {integrity: sha512-eIacm/ylH1AXI/iLLDmkbbMfBudDE/wmkauCn//a+mAJtG3W8fAUFSqP2JHJCLEGvIHjd7xsNzLPaY1qFAW3xw==, tarball: file:../../tmp/prisma-adapter-pg-0.0.0.tgz} - id: file:../../tmp/prisma-adapter-pg-0.0.0.tgz + file:../../../../../../../../../tmp/prisma-adapter-pg-0.0.0.tgz(pg@8.11.5): + resolution: {integrity: sha512-SZ5coPE1wLlf6iNNnzX4L1YwkMpf8qR96R7SWo1ty9+JHlOMyZ2zbFSgaOaSb7BZzEQPzBYNu1U/YCshD2jvfw==, tarball: file:../../../../../../../../../tmp/prisma-adapter-pg-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-adapter-pg-0.0.0.tgz name: '@prisma/adapter-pg' version: 0.0.0 peerDependencies: pg: ^8.11.3 dependencies: - '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz - pg: 8.11.3 + '@prisma/driver-adapter-utils': file:../../../../../../../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + pg: 8.11.5 postgres-array: 3.0.2 dev: false - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-Y8emB4LQvhfEuET8D7rMPoPQzFjspVaCk4+ALxScLKTWlR8P0kedbqF4FvX2xxnXlKBKu8SVK1rPW7y5z7qtVA==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz + file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz name: '@prisma/client' version: 0.0.0 engines: {node: '>=16.13'} @@ -507,45 +511,45 @@ packages: prisma: optional: true dependencies: - prisma: file:../../tmp/prisma-0.0.0.tgz + prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-75wQVdn+vC9yZ9y67UXTjjpL1lamc5tNWi7/HDWnDkXqh5AYKD4bVZCoo0pDvQZpfD+/GHX8oOpSL8pNNvI06A==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} name: '@prisma/debug' version: 0.0.0 - file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz: - resolution: {integrity: sha512-JVJ+mY4ehUuKDECfE1JkKEriFYP197gjDY777xF0e4q4EAJSO0nLnBmSBlAsVrfEzJoOAUDfNBd5eFVn6bCb1Q==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz: + resolution: {integrity: sha512-wXngMyVf72pH6BrnSh6JM2R0IQdyNvw7gnsPI3sUMYd0KtT3dZXy/Qjw2jfKECRXnVZWBcyIKHtrU7N3LYYYRA==, tarball: file:../../../../../../../../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} name: '@prisma/driver-adapter-utils' version: 0.0.0 dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz dev: false - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-lD80mLOO4AiqhJ7QQCpP0QtB5NUQxcl9Nk34O39d1fu2InmrcVZQlEGU4EM+qW1u2bLTywK2QVjioEbo4beBqQ==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} name: '@prisma/engines' version: 0.0.0 requiresBuild: true dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102 - '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz - '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-j67ZjzvQRYCoX0v7uXaXPkcXMIHhMtOfIxgeQwiuPvRopnEL/DMeocIe2ubhklZ+BLAUQw/J5gxmP8uAFqgODQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} name: '@prisma/fetch-engine' version: 0.0.0 dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102 - '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-zJzQdzCl7SowuNQFV6wSBbg1YkwHwJXlGumHehkKFcCnOhMPUB84VFF+Wv2ZY2qvDHtRS1uZkTlgwbw0i4tZwA==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} name: '@prisma/get-platform' version: 0.0.0 dependencies: - '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/platform-caching-error/package.json b/packages/client/tests/e2e/platform-caching-error/package.json index b8026493a1c9..527d45d5828d 100644 --- a/packages/client/tests/e2e/platform-caching-error/package.json +++ b/packages/client/tests/e2e/platform-caching-error/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/platform-caching-error/pnpm-lock.yaml b/packages/client/tests/e2e/platform-caching-error/pnpm-lock.yaml new file mode 100644 index 000000000000..f2b4b68ab048 --- /dev/null +++ b/packages/client/tests/e2e/platform-caching-error/pnpm-lock.yaml @@ -0,0 +1,100 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + +devDependencies: + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/prisma-client-imports/.gitignore b/packages/client/tests/e2e/prisma-client-imports-mysql/.gitignore similarity index 100% rename from packages/client/tests/e2e/prisma-client-imports/.gitignore rename to packages/client/tests/e2e/prisma-client-imports-mysql/.gitignore diff --git a/packages/client/tests/e2e/prisma-client-imports/_steps.ts b/packages/client/tests/e2e/prisma-client-imports-mysql/_steps.ts similarity index 77% rename from packages/client/tests/e2e/prisma-client-imports/_steps.ts rename to packages/client/tests/e2e/prisma-client-imports-mysql/_steps.ts index 6f794efbd9b8..1ce7416774dd 100644 --- a/packages/client/tests/e2e/prisma-client-imports/_steps.ts +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/_steps.ts @@ -10,10 +10,6 @@ void executeSteps({ }, test: async () => { await $`pnpm test` - - await $`tsx src/default.ts`.quiet() - await $`tsx src/dep.ts`.quiet() - await $`tsx src/no-dep.ts`.quiet() }, finish: async () => { await $`echo "done"` diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/jest.config.js b/packages/client/tests/e2e/prisma-client-imports-mysql/jest.config.js new file mode 100644 index 000000000000..56a85175a1b6 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/jest.config.js @@ -0,0 +1 @@ +module.exports = require('../jest.config') diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/package.json b/packages/client/tests/e2e/prisma-client-imports-mysql/package.json new file mode 100644 index 000000000000..3543967b74fc --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/package.json @@ -0,0 +1,23 @@ +{ + "private": true, + "version": "0.0.0", + "main": "index.js", + "scripts": { + "test": "jest --verbose" + }, + "dependencies": { + "@planetscale/database": "1.18.0", + "@prisma/adapter-planetscale": "/tmp/prisma-adapter-planetscale-0.0.0.tgz", + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", + "@prisma/extension-accelerate": "1.2.1", + "@prisma/extension-read-replicas": "0.3.0", + "db": "link:custom" + }, + "devDependencies": { + "@types/jest": "29.5.12", + "@types/node": "18.19.50", + "jest": "29.7.0", + "prisma": "/tmp/prisma-0.0.0.tgz", + "typescript": "5.4.5" + } +} diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/pnpm-lock.yaml b/packages/client/tests/e2e/prisma-client-imports-mysql/pnpm-lock.yaml new file mode 100644 index 000000000000..c6cc7a986519 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/pnpm-lock.yaml @@ -0,0 +1,2682 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@planetscale/database': + specifier: 1.18.0 + version: 1.18.0 + '@prisma/adapter-planetscale': + specifier: /tmp/prisma-adapter-planetscale-0.0.0.tgz + version: file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz(@planetscale/database@1.18.0) + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + '@prisma/extension-accelerate': + specifier: 1.2.1 + version: 1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + '@prisma/extension-read-replicas': + specifier: 0.3.0 + version: 0.3.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + db: + specifier: link:custom + version: link:custom + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@18.19.50) + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + typescript: + specifier: 5.4.5 + version: 5.4.5 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@planetscale/database@1.18.0': + resolution: {integrity: sha512-t2XdOfrVgcF7AW791FtdPS27NyNqcE1SpoXgk3HpziousvUMsJi4Q6NL3JyOBpsMOrvk94749o8yyonvX5quPw==} + engines: {node: '>=16'} + + '@prisma/adapter-planetscale@file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz': + resolution: {integrity: sha512-1B0rbTGgzk9YGe+NGsEjdLTLdaDbaqirQoweatXbNasF2LoTLp215sS3+Bf5wU5Ow5Ah9WYrNHYYjrWiXEisTw==, tarball: file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz} + version: 0.0.0 + peerDependencies: + '@planetscale/database': ^1.15.0 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + resolution: {integrity: sha512-EsH1eFc27KdbUjrAl9AI/7+Ev7TL133B7V/aECsyPH9JtbGvIiKfVJBS+fNLH1hk6nbTdjlFp1LRPAUNhrPGNw==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/extension-accelerate@1.2.1': + resolution: {integrity: sha512-QicnMeyqL226ilT3vvRsFAqPeIdqHGKR4c25CoK5zZ1tNIv8egfgpD1gCKqOGmfAz0pIKQnMuJU3eNg9KItC7A==} + version: 1.2.1 + engines: {node: '>=16'} + peerDependencies: + '@prisma/client': '>=4.16.1' + + '@prisma/extension-read-replicas@0.3.0': + resolution: {integrity: sha512-F9+rSmYday6GT2qjhJtkZcBOpLO5LtpvFcMGqrBDHf+78LEdSuxfFjOxYlNuqk4B+th62yxpbhfpmB9/Mca14Q==} + version: 0.3.0 + peerDependencies: + '@prisma/client': ^5.2.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-preset-current-node-syntax@1.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001632: + resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + electron-to-chromium@1.4.799: + resolution: {integrity: sha512-3D3DwWkRTzrdEpntY0hMLYwj7SeBk1138CkPE8sBDSj3WzrzOiG2rHm3luw8jucpf+WiyLBCZyU9lMHyQI9M9Q==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.7': + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.19.50) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 18.19.50 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 18.19.50 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.2.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.24.7 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.7 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@planetscale/database@1.18.0': {} + + '@prisma/adapter-planetscale@file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz(@planetscale/database@1.18.0)': + dependencies: + '@planetscale/database': 1.18.0 + '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/extension-accelerate@1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': + dependencies: + '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + + '@prisma/extension-read-replicas@0.3.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': + dependencies: + '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.24.7 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.24.7 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 18.19.50 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + babel-jest@29.7.0(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.24.7) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.24.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + + babel-preset-jest@29.6.3(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + + balanced-match@1.0.2: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.1: + dependencies: + caniuse-lite: 1.0.30001632 + electron-to-chromium: 1.4.799 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001632: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.3.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + create-jest@29.7.0(@types/node@18.19.50): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.19.50) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.3.5: + dependencies: + ms: 2.1.2 + + dedent@1.5.3: {} + + deepmerge@4.3.1: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} + + electron-to-chromium@1.4.799: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + escalade@3.1.2: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + esprima@4.0.1: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fast-json-stable-stringify@2.1.0: {} + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-package-type@0.1.0: {} + + get-stream@6.0.1: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + html-escaper@2.0.2: {} + + human-signals@2.1.0: {} + + import-local@3.1.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.2 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-number@7.0.0: {} + + is-stream@2.0.1: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.2: + dependencies: + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.3.5 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@18.19.50): + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.19.50) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@18.19.50) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@18.19.50): + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.19.50 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 18.19.50 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.7 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + cjs-module-lexer: 1.3.1 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@29.7.0: + dependencies: + '@types/node': 18.19.50 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@18.19.50): + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@18.19.50) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + jsesc@2.5.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json5@2.2.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + lines-and-columns@1.2.4: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@4.0.0: + dependencies: + semver: 7.6.2 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + merge-stream@2.0.0: {} + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + ms@2.1.2: {} + + natural-compare@1.4.0: {} + + node-int64@0.4.0: {} + + node-releases@2.0.14: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-try@2.2.0: {} + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + pure-rand@6.1.0: {} + + react-is@18.3.1: {} + + require-directory@2.1.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@5.0.0: {} + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + semver@6.3.1: {} + + semver@7.6.2: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + typescript@5.4.5: {} + + undici-types@5.26.5: {} + + update-browserslist-db@1.0.16(browserslist@4.23.1): + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + + v8-to-istanbul@9.2.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/prisma/custom-output.prisma b/packages/client/tests/e2e/prisma-client-imports-mysql/prisma/custom-output.prisma new file mode 100644 index 000000000000..a6ac8b5090c2 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/prisma/custom-output.prisma @@ -0,0 +1,18 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] + output = "../custom" +} + +datasource db { + provider = "mysql" + url = "mysql://prisma:prisma@localhost:3306/prisma" +} + +model User { + id Int @id @default(autoincrement()) + email String @unique +} diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/prisma/default-output.prisma b/packages/client/tests/e2e/prisma-client-imports-mysql/prisma/default-output.prisma new file mode 100644 index 000000000000..94df3edc2943 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/prisma/default-output.prisma @@ -0,0 +1,17 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] +} + +datasource db { + provider = "mysql" + url = "mysql://prisma:prisma@localhost:3306/prisma" +} + +model User { + id Int @id @default(autoincrement()) + email String @unique +} diff --git a/packages/client/tests/e2e/prisma-client-imports/readme.md b/packages/client/tests/e2e/prisma-client-imports-mysql/readme.md similarity index 100% rename from packages/client/tests/e2e/prisma-client-imports/readme.md rename to packages/client/tests/e2e/prisma-client-imports-mysql/readme.md diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/src/default.ts b/packages/client/tests/e2e/prisma-client-imports-mysql/src/default.ts new file mode 100644 index 000000000000..fc4276b02b61 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/src/default.ts @@ -0,0 +1,35 @@ +/* eslint-disable import/no-duplicates */ +import { Client as PlanetScaleClient } from '@planetscale/database' +import { PrismaPlanetScale } from '@prisma/adapter-planetscale' +import { PrismaClient } from '@prisma/client' +// @ts-ignore no types available +import * as G1 from '@prisma/client/generator-build' +// @ts-ignore no types available +import * as G2 from '@prisma/client/generator-build/index.js' +import { PrismaClientKnownRequestError as E1 } from '@prisma/client/runtime/library' +import { PrismaClientKnownRequestError as E2 } from '@prisma/client/runtime/library.js' +import { withAccelerate } from '@prisma/extension-accelerate' +import { readReplicas } from '@prisma/extension-read-replicas' + +// Setup +const connectionString = 'just-a-string' + +export const errors = [E1, E2] + +export const client = new PrismaClient() +void client.user.findMany() + +export const accelerateClient = client.$extends(withAccelerate()) +void accelerateClient.user.findMany() + +export const replicaClient = client.$extends(readReplicas({ url: '' })) +void replicaClient.user.findMany() + +export const generators = [G1, G2] + +/* Driver Adapters */ +const planetScaleClient = new PlanetScaleClient({ url: connectionString }) +export const planetScalePrismaClient = new PrismaClient({ + adapter: new PrismaPlanetScale(planetScaleClient), +}) +void planetScalePrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/src/dep.ts b/packages/client/tests/e2e/prisma-client-imports-mysql/src/dep.ts new file mode 100644 index 000000000000..bc58de5eefa9 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/src/dep.ts @@ -0,0 +1,28 @@ +import { Client as PlanetScaleClient } from '@planetscale/database' +import { PrismaPlanetScale } from '@prisma/adapter-planetscale' +import { withAccelerate } from '@prisma/extension-accelerate' +import { readReplicas } from '@prisma/extension-read-replicas' +import { PrismaClient } from 'db' +import { PrismaClientKnownRequestError as E1 } from 'db/runtime/library' +import { PrismaClientKnownRequestError as E2 } from 'db/runtime/library.js' + +// Setup +const connectionString = 'just-a-string' + +export const errors = [E1, E2] + +export const client = new PrismaClient() +void client.user.findMany() + +export const accelerateClient = client.$extends(withAccelerate()) +void accelerateClient.user.findMany() + +export const replicaClient = client.$extends(readReplicas({ url: '' })) +void replicaClient.user.findMany() + +/* Driver Adapters */ +const planetScaleClient = new PlanetScaleClient({ url: connectionString }) +export const planetScalePrismaClient = new PrismaClient({ + adapter: new PrismaPlanetScale(planetScaleClient), +}) +void planetScalePrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/src/no-dep.ts b/packages/client/tests/e2e/prisma-client-imports-mysql/src/no-dep.ts new file mode 100644 index 000000000000..202513d38ad1 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/src/no-dep.ts @@ -0,0 +1,28 @@ +import { Client as PlanetScaleClient } from '@planetscale/database' +import { PrismaPlanetScale } from '@prisma/adapter-planetscale' +import { withAccelerate } from '@prisma/extension-accelerate' +import { readReplicas } from '@prisma/extension-read-replicas' + +import { PrismaClient } from '../custom' +import { PrismaClientKnownRequestError as E1 } from '../custom/runtime/library' +import { PrismaClientKnownRequestError as E2 } from '../custom/runtime/library.js' + +// Setup +const connectionString = 'just-a-string' + +export const errors = [E1, E2] +export const client = new PrismaClient() +void client.user.findMany() + +export const accelerateClient = client.$extends(withAccelerate()) +void accelerateClient.user.findMany() + +export const replicaClient = client.$extends(readReplicas({ url: '' })) +void replicaClient.user.findMany() + +/* Driver Adapters */ +const planetScaleClient = new PlanetScaleClient({ url: connectionString }) +export const planetScalePrismaClient = new PrismaClient({ + adapter: new PrismaPlanetScale(planetScaleClient), +}) +void planetScalePrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports-mysql/tests/main.test.ts b/packages/client/tests/e2e/prisma-client-imports-mysql/tests/main.test.ts new file mode 100644 index 000000000000..1692e016e6d9 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-mysql/tests/main.test.ts @@ -0,0 +1,61 @@ +import path from 'path' +import * as ts from 'typescript' + +import { allOptions } from '../../_utils/prisma-client-imports' + +const baseTsConfig = require('../../tsconfig.base.json').compilerOptions + +const dirPath = path.join(__dirname, '..', 'src') +const depTs = path.resolve(dirPath, 'dep.ts') +const noDepTs = path.resolve(dirPath, 'no-dep.ts') +const defaultTs = path.resolve(dirPath, 'default.ts') + +describe('Typechecking', () => { + test('custom import via dependency', () => { + for (const options of allOptions) { + typeCheck(depTs, options) + } + }) + + test('custom direct import', () => { + for (const options of allOptions) { + typeCheck(noDepTs, options) + } + }) + + test('default import', () => { + for (const options of allOptions) { + typeCheck(defaultTs, options) + } + }) +}) + +function typeCheck(fileName: string, options: any) { + console.info(`Typechecking ${fileName} with options:`, options) + + const fullOptions = ts.convertCompilerOptionsFromJson( + { ...baseTsConfig, ...options }, + path.resolve(__dirname, '..', 'tsconfig.json'), + ) + + assertNoErrors(fullOptions.errors) + + const program = ts.createProgram([fileName], fullOptions.options) + + assertNoErrors(program.getConfigFileParsingDiagnostics()) + assertNoErrors(program.getOptionsDiagnostics()) + const sourceFile = program.getSourceFile(fileName) + if (!sourceFile) { + throw new Error(`Source file ${fileName} not found`) + } + assertNoErrors(program.getSemanticDiagnostics()) + assertNoErrors(program.getSyntacticDiagnostics()) +} + +function assertNoErrors(errors: readonly ts.Diagnostic[]) { + if (errors.length > 0) { + errors.map(console.error) + + throw new Error(`Test exited with ${errors.length} errors. See above for details.`) + } +} diff --git a/packages/client/tests/e2e/prisma-client-imports/tsconfig.json b/packages/client/tests/e2e/prisma-client-imports-mysql/tsconfig.json similarity index 100% rename from packages/client/tests/e2e/prisma-client-imports/tsconfig.json rename to packages/client/tests/e2e/prisma-client-imports-mysql/tsconfig.json diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/.gitignore b/packages/client/tests/e2e/prisma-client-imports-postgres/.gitignore new file mode 100644 index 000000000000..8f4052a5c9ef --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/.gitignore @@ -0,0 +1 @@ +custom \ No newline at end of file diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/_steps.ts b/packages/client/tests/e2e/prisma-client-imports-postgres/_steps.ts new file mode 100644 index 000000000000..1ce7416774dd --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/_steps.ts @@ -0,0 +1,17 @@ +import { $ } from 'zx' + +import { executeSteps } from '../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm prisma generate --schema prisma/custom-output.prisma` + await $`pnpm prisma generate --schema prisma/default-output.prisma` + }, + test: async () => { + await $`pnpm test` + }, + finish: async () => { + await $`echo "done"` + }, +}) diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/jest.config.js b/packages/client/tests/e2e/prisma-client-imports-postgres/jest.config.js new file mode 100644 index 000000000000..56a85175a1b6 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/jest.config.js @@ -0,0 +1 @@ +module.exports = require('../jest.config') diff --git a/packages/client/tests/e2e/prisma-client-imports/package.json b/packages/client/tests/e2e/prisma-client-imports-postgres/package.json similarity index 66% rename from packages/client/tests/e2e/prisma-client-imports/package.json rename to packages/client/tests/e2e/prisma-client-imports-postgres/package.json index ac207916a39f..65d89bdaea5b 100644 --- a/packages/client/tests/e2e/prisma-client-imports/package.json +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/package.json @@ -6,18 +6,12 @@ "test": "jest --verbose" }, "dependencies": { - "@cloudflare/workers-types": "4.20240603.0", - "@libsql/client": "0.6.2", "@neondatabase/serverless": "0.9.3", - "@planetscale/database": "1.18.0", - "@prisma/adapter-d1": "/tmp/prisma-adapter-d1-0.0.0.tgz", - "@prisma/adapter-libsql": "/tmp/prisma-adapter-libsql-0.0.0.tgz", "@prisma/adapter-neon": "/tmp/prisma-adapter-neon-0.0.0.tgz", "@prisma/adapter-pg": "/tmp/prisma-adapter-pg-0.0.0.tgz", "@prisma/adapter-pg-worker": "/tmp/prisma-adapter-pg-worker-0.0.0.tgz", - "@prisma/adapter-planetscale": "/tmp/prisma-adapter-planetscale-0.0.0.tgz", "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", - "@prisma/extension-accelerate": "1.1.0", + "@prisma/extension-accelerate": "1.2.1", "@prisma/extension-read-replicas": "0.3.0", "@prisma/pg-worker": "/tmp/prisma-pg-worker-0.0.0.tgz", "db": "link:custom", @@ -26,7 +20,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "@types/pg": "8.11.6", "@types/ws": "8.5.10", "jest": "29.7.0", diff --git a/packages/client/tests/e2e/prisma-client-imports/pnpm-lock.yaml b/packages/client/tests/e2e/prisma-client-imports-postgres/pnpm-lock.yaml similarity index 71% rename from packages/client/tests/e2e/prisma-client-imports/pnpm-lock.yaml rename to packages/client/tests/e2e/prisma-client-imports-postgres/pnpm-lock.yaml index 7e26ad6f0d44..1b5c38030796 100644 --- a/packages/client/tests/e2e/prisma-client-imports/pnpm-lock.yaml +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/pnpm-lock.yaml @@ -8,24 +8,9 @@ importers: .: dependencies: - '@cloudflare/workers-types': - specifier: 4.20240512.0 - version: 4.20240512.0 - '@libsql/client': - specifier: 0.6.0 - version: 0.6.0 '@neondatabase/serverless': specifier: 0.9.3 version: 0.9.3 - '@planetscale/database': - specifier: 1.18.0 - version: 1.18.0 - '@prisma/adapter-d1': - specifier: /tmp/prisma-adapter-d1-0.0.0.tgz - version: file:../../tmp/prisma-adapter-d1-0.0.0.tgz - '@prisma/adapter-libsql': - specifier: /tmp/prisma-adapter-libsql-0.0.0.tgz - version: file:../../tmp/prisma-adapter-libsql-0.0.0.tgz(@libsql/client@0.6.0) '@prisma/adapter-neon': specifier: /tmp/prisma-adapter-neon-0.0.0.tgz version: file:../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.3) @@ -35,15 +20,12 @@ importers: '@prisma/adapter-pg-worker': specifier: /tmp/prisma-adapter-pg-worker-0.0.0.tgz version: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz(@prisma/pg-worker@file:../../tmp/prisma-pg-worker-0.0.0.tgz) - '@prisma/adapter-planetscale': - specifier: /tmp/prisma-adapter-planetscale-0.0.0.tgz - version: file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz(@planetscale/database@1.18.0) '@prisma/client': specifier: /tmp/prisma-client-0.0.0.tgz version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) '@prisma/extension-accelerate': - specifier: 1.0.0 - version: 1.0.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + specifier: 1.2.1 + version: 1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) '@prisma/extension-read-replicas': specifier: 0.3.0 version: 0.3.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) @@ -64,17 +46,17 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 '@types/pg': - specifier: 8.11.5 - version: 8.11.5 + specifier: 8.11.6 + version: 8.11.6 '@types/ws': specifier: 8.5.10 version: 8.5.10 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@16.18.96) + version: 29.7.0(@types/node@18.19.50) prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz @@ -84,98 +66,86 @@ importers: packages: - '@ampproject/remapping@2.2.1': - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.22.10': - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/code-frame@7.23.5': - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.23.5': - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} - '@babel/core@7.23.7': - resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.23.6': - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.23.6': - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.22.20': - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.23.0': - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.22.5': - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.22.15': - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.23.3': - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.22.5': - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.22.5': - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.23.4': - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.5': - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.23.5': - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.23.8': - resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.22.10': - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.23.4': - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.23.6': - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true @@ -204,8 +174,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.23.3': - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -246,33 +216,27 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.23.3': - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/template@7.22.15': - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.23.7': - resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} - '@babel/types@7.23.6': - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@cloudflare/workers-types@4.20240502.0': - resolution: {integrity: sha512-OB1jIyPOzyOcuZFHWhsQnkRLN6u8+jmU9X3T4KZlGgn3Ivw8pBiswhLOp+yFeChR3Y4/5+V0hPFRko5SReordg==} - - '@cloudflare/workers-types@4.20240512.0': - resolution: {integrity: sha512-o2yTEWg+YK/I1t/Me+dA0oarO0aCbjibp6wSeaw52DSE9tDyKJ7S+Qdyw/XsMrKn4t8kF6f/YOba+9O4MJfW9w==} - '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -347,122 +311,49 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.3': - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.1.2': - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.22': - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} - - '@libsql/client@0.6.0': - resolution: {integrity: sha512-qhQzTG/y2IEVbL3+9PULDvlQFWJ/RnjFXECr/Nc3nRngGiiMysDaOV5VUzYk7DulUX98EA4wi+z3FspKrUplUA==} - - '@libsql/core@0.6.0': - resolution: {integrity: sha512-affAB8vSqQwqI9NBDJ5uJCVaHoOAS2pOpbv1kWConh1SBbmJBnHHd4KG73RAJ2sgd2+NbT9WA+XJBqxgp28YSw==} - - '@libsql/darwin-arm64@0.3.18': - resolution: {integrity: sha512-Zt49dt+cwhPCkuoWgvjbQd4ckNfCJR5xzIAyhgHl3CBZqZaEuaXTOGKLNQT7bnFRPuQcdLt5PBT1cenKu2N6pA==} - cpu: [arm64] - os: [darwin] - - '@libsql/darwin-x64@0.3.18': - resolution: {integrity: sha512-faq6HUGDaNaueeqPei5cypHaD/hhazUyfHo094CXiEeRZq6ZKtNl5PHdlr8jE/Uw8USNpVVQaLdnvSgKcpRPHw==} - cpu: [x64] - os: [darwin] - - '@libsql/hrana-client@0.6.0': - resolution: {integrity: sha512-k+fqzdjqg3IvWfKmVJK5StsbjeTcyNAXFelUbXbGNz3yH1gEVT9mZ6kmhsIXP30ZSyVV0AE1Gi25p82mxC9hwg==} - - '@libsql/isomorphic-fetch@0.2.1': - resolution: {integrity: sha512-Sv07QP1Aw8A5OOrmKgRUBKe2fFhF2hpGJhtHe3d1aRnTESZCGkn//0zDycMKTGamVWb3oLYRroOsCV8Ukes9GA==} - - '@libsql/isomorphic-ws@0.1.5': - resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - - '@libsql/linux-arm64-gnu@0.3.18': - resolution: {integrity: sha512-5m9xtDAhoyLSV54tho9uQ2ZIDeJWc0vU3Xpe/VK4+6bpURISs23qNhXiCrZnnq3oV0hFlBfcIgQUIATmb6jD2A==} - cpu: [arm64] - os: [linux] - - '@libsql/linux-arm64-musl@0.3.18': - resolution: {integrity: sha512-oYD5+oM2gPEalp+EoR5DVQBRtdGjLsocjsRbQs5O2m4WOBJKER7VUfDYZHsifLGZoBSc11Yo6s9IR9rjGWy20w==} - cpu: [arm64] - os: [linux] - - '@libsql/linux-x64-gnu@0.3.18': - resolution: {integrity: sha512-QDSSP60nS8KIldGE7H3bpEflQHiL1erwED6huoVJdmDFxsyDJX2CYdWUWW8Za0ZUOvUbnEWAOyMhp6j1dBbZqw==} - cpu: [x64] - os: [linux] - - '@libsql/linux-x64-musl@0.3.18': - resolution: {integrity: sha512-5SXwTlaLCUPzxYyq+P0c7Ko7tcEjpd1X6RZKe1DuRFmJPg6f7j2+LrPEhMSIbqKcrl5ACUUAyoKmGZqNYwz23w==} - cpu: [x64] - os: [linux] - - '@libsql/win32-x64-msvc@0.3.18': - resolution: {integrity: sha512-9EEIHz+e8tTbx9TMkb8ByZnzxc0pYFirK1nSbqC6cFEST95fiY0NCfQ/zAzJxe90KckbjifX6BbO69eWIi3TAg==} - cpu: [x64] - os: [win32] - - '@neon-rs/load@0.0.4': - resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} '@neondatabase/serverless@0.9.3': resolution: {integrity: sha512-6ZBK8asl2Z3+ADEaELvbaVVGVlmY1oAzkxxZfpmXPKFuJhbDN+5fU3zYBamsahS/Ch1zE+CVWB3R+8QEI2LMSw==} - '@planetscale/database@1.18.0': - resolution: {integrity: sha512-t2XdOfrVgcF7AW791FtdPS27NyNqcE1SpoXgk3HpziousvUMsJi4Q6NL3JyOBpsMOrvk94749o8yyonvX5quPw==} - engines: {node: '>=16'} - - '@prisma/adapter-d1@file:../../tmp/prisma-adapter-d1-0.0.0.tgz': - resolution: {integrity: sha512-5oJSe2yXUuJ2D7ay0fnUnhY8g7wzHqGIPJun3ni4aO35N9pDH2+3xRg9c6+y9MOi0JSXBs+P/uPVv+ZiRUIsYw==, tarball: file:../../tmp/prisma-adapter-d1-0.0.0.tgz} - version: 0.0.0 - - '@prisma/adapter-libsql@file:../../tmp/prisma-adapter-libsql-0.0.0.tgz': - resolution: {integrity: sha512-YfDdksbaa4pybTii4Kxbzb4WrFa1daZUpBhjxQ4q9lI2U8L5jtN/1vu85B7QecfTlXB/qi5erote2Di3BBSavg==, tarball: file:../../tmp/prisma-adapter-libsql-0.0.0.tgz} - version: 0.0.0 - peerDependencies: - '@libsql/client': ^0.3.5 || ^0.4.0 || ^0.5.0 || ^0.6.0 - '@prisma/adapter-neon@file:../../tmp/prisma-adapter-neon-0.0.0.tgz': - resolution: {integrity: sha512-9TgqKW82yU6isAOuY1UUDq7HsD3yn0iPRbAnS/Jo3saLWuW9Bxqxdm8/iaJ4S8Z4SRmM2bK3kXhNfwHysTSxWw==, tarball: file:../../tmp/prisma-adapter-neon-0.0.0.tgz} + resolution: {integrity: sha512-6SjUW/l6KNkJLhSUvnZRdP720au4/oDKtH4+b1VF/y/dN/IHGxXWuyTVZ7nfqFyWVH1YZjOaKmn9q7vzQZ2rAQ==, tarball: file:../../tmp/prisma-adapter-neon-0.0.0.tgz} version: 0.0.0 peerDependencies: - '@neondatabase/serverless': ^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 + '@neondatabase/serverless': ^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 '@prisma/adapter-pg-worker@file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz': - resolution: {integrity: sha512-bMrDGtUT7tO2DCHFkIiMHRRTxWCJF/1tF6z957CIMo42iJNIIztcor7wPlYeinq2HzvDAivqFqfj0y/RPnVlrw==, tarball: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz} + resolution: {integrity: sha512-soOLWSXXpuQ80DAkUE45ZNlRZuK+A+OVdqsF5J39nGBul+GNaeSRFSMhhiluiSqp3PQnWxRUXFcabA1wftgZkg==, tarball: file:../../tmp/prisma-adapter-pg-worker-0.0.0.tgz} version: 0.0.0 peerDependencies: '@prisma/pg-worker': ^5.11.0 '@prisma/adapter-pg@file:../../tmp/prisma-adapter-pg-0.0.0.tgz': - resolution: {integrity: sha512-NyH/RakpdYLsrJKeXVshrq8vrdP6+LjNUGAhn+Bo4E53Qh3qt71qjQjDseTbjSAon4v5WwQfW7s3ngwYtuUIzg==, tarball: file:../../tmp/prisma-adapter-pg-0.0.0.tgz} + resolution: {integrity: sha512-4r7sk6QwjkeaFDPzTEb17bLHLjZ3yE9jfV1mK9en8tWzfFhdTv8SWRYMa+6oMX9vhergqscKsaMh57d2DTUIEg==, tarball: file:../../tmp/prisma-adapter-pg-0.0.0.tgz} version: 0.0.0 peerDependencies: pg: ^8.11.3 - '@prisma/adapter-planetscale@file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz': - resolution: {integrity: sha512-/fMS1CKPsg8zn4G6IhQgwgdHqHGXgsFEiiWpTjqS4QrgBWQHkhvd8GgPVCcpFn4FwHDDO0RVW3p4N2E5Pz/79g==, tarball: file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz} - version: 0.0.0 - peerDependencies: - '@planetscale/database': ^1.15.0 - '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-oCArRuOXfiSbFn7BctOMIpIAHqisaKGkN5sLfasNgelTIVvPW5jl6BpF2fDW7S7hMN23EOhGK+bXYJZxyDz9hg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -470,23 +361,23 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-fQzuc77RRHK1x0T21Jqe9OVWl+s4nVf2Tv1BWOLmQXCxtQVwtSvOX/CKj3hX3GzWIvFiK8hXzwgl1UpQXeYBRA==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': - resolution: {integrity: sha512-G8PHLMbbWQ3JI4b3MiIUfeWVRmK1CjfCTRdBLC7GwHRcxhLKY/qKIVuvE2bCIuy6NqOnSoWu2b6x6ooz0WIRIA==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + resolution: {integrity: sha512-EsH1eFc27KdbUjrAl9AI/7+Ev7TL133B7V/aECsyPH9JtbGvIiKfVJBS+fNLH1hk6nbTdjlFp1LRPAUNhrPGNw==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.15.0-3.97f638f5e0f371a1a553cf726f9d597bbe811bff': - resolution: {integrity: sha512-LaVw8tpyzeG/QSN5ANkB5MWLWrO7xnB77NHNSMNf9s9pBachwO+0y70i483A9LGYPasYFOdQsIRB/p6b8lsSAg==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-mS3mSZf57xfVfm8CQ9DGqG/6AVdLAT5JPE772G84xofJ4C7nGqazvJ5/D/eMLiuPM769xCEVDpMTe5j0Yk2x6A==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 - '@prisma/extension-accelerate@1.0.0': - resolution: {integrity: sha512-5oSpPtKCMfTl/sSXaS/7vBsPqfm+eEVB6/5KPBJITFatDoFcmjx/PIC/T93mHLiHI98xKwosPN59NGXjDDhcFA==} - version: 1.0.0 + '@prisma/extension-accelerate@1.2.1': + resolution: {integrity: sha512-QicnMeyqL226ilT3vvRsFAqPeIdqHGKR4c25CoK5zZ1tNIv8egfgpD1gCKqOGmfAz0pIKQnMuJU3eNg9KItC7A==} + version: 1.2.1 engines: {node: '>=16'} peerDependencies: '@prisma/client': '>=4.16.1' @@ -498,15 +389,15 @@ packages: '@prisma/client': ^5.2.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-bT/GU3vvhVdCpbNqlPSTQoI+eFzyf32RpyMEVrYYdTpNTocc8i23ze4et6ic9YVdfh6NQb+w8tR4nF6CHjsMaA==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-+0Nsm6YiWEuO/SSRjTqzU16rWfOza3LJtaz9UJVh26mhnOuwuFpB4R8Ypl/ysT6bT/TWcE4yoTMZQhR5RGwykA==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 '@prisma/pg-worker@file:../../tmp/prisma-pg-worker-0.0.0.tgz': - resolution: {integrity: sha512-S1BC+IO60vNVNi/EKXazEeKp5Q5ft97asFf3JH2diMcOXTvfW0tyHq2v6hDf3Rgx+NEh/x6eRzXh7pbfFP5pQg==, tarball: file:../../tmp/prisma-pg-worker-0.0.0.tgz} + resolution: {integrity: sha512-j1y/edPJST4gfCT1QE0x32B+qUtUIG49622PH0rGySLXyisfytdYk49GmQFm+GdPn+1cX1AtTvG8JYM8ma3xDw==, tarball: file:../../tmp/prisma-pg-worker-0.0.0.tgz} version: 0.0.0 '@sinclair/typebox@0.27.8': @@ -527,44 +418,41 @@ packages: '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.5': - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - '@types/istanbul-lib-coverage@2.0.4': - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - '@types/istanbul-lib-report@3.0.0': - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - '@types/istanbul-reports@3.0.1': - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} - - '@types/pg@8.11.5': - resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/pg@8.11.6': resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} - '@types/stack-utils@2.0.1': - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - '@types/yargs-parser@21.0.0': - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.24': - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -593,9 +481,6 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - async-mutex@0.5.0: - resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} - babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -627,12 +512,12 @@ packages: brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -654,8 +539,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001579: - resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} + caniuse-lite@1.0.30001632: + resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -669,12 +554,12 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -715,12 +600,8 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -728,8 +609,8 @@ packages: supports-color: optional: true - dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -740,10 +621,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -752,8 +629,8 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - electron-to-chromium@1.4.643: - resolution: {integrity: sha512-QHscvvS7gt155PtoRC0dR2ilhL8E9LHhfTQEq1uD5AL0524rBLAwpAREFH06f87/e45B9XkR6Ki5dbhbCsVEIg==} + electron-to-chromium@1.4.799: + resolution: {integrity: sha512-3D3DwWkRTzrdEpntY0hMLYwj7SeBk1138CkPE8sBDSj3WzrzOiG2rHm3luw8jucpf+WiyLBCZyU9lMHyQI9M9Q==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -765,8 +642,8 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} escape-string-regexp@1.0.5: @@ -800,22 +677,14 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -845,6 +714,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -861,8 +731,8 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} html-escaper@2.0.2: @@ -883,6 +753,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -920,8 +791,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} - istanbul-lib-instrument@6.0.1: - resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} engines: {node: '>=10'} istanbul-lib-report@3.0.1: @@ -932,8 +803,8 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} - istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} jest-changed-files@29.7.0: @@ -1065,9 +936,6 @@ packages: node-notifier: optional: true - js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -1096,11 +964,6 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - libsql@0.3.18: - resolution: {integrity: sha512-lvhKr7WV3NLWRbXkjn/MeKqXOAqWKU0PX9QYrvDh7fneukapj+iUQ4qgJASrQyxcCrEsClXCQiiK5W6OoYPAlA==} - cpu: [x64, arm64, wasm32] - os: [darwin, linux, win32] - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -1111,10 +974,6 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -1125,8 +984,8 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} mimic-fn@2.1.0: @@ -1142,14 +1001,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -1251,8 +1102,8 @@ packages: pgpass@1.0.5: resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1306,20 +1157,20 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-cfu52w4D07vFRJ+a4mFgSdEPfuutsoA3CXdH83INr8XAfOq5hSCsN9nuKh1hOqokIj6mWVI0Lu3v7A+1zLI1kg==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - pure-rand@6.0.4: - resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} @@ -1345,8 +1196,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -1441,9 +1292,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -1457,8 +1305,11 @@ packages: engines: {node: '>=14.17'} hasBin: true - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -1470,10 +1321,6 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1513,9 +1360,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -1530,227 +1374,218 @@ packages: snapshots: - '@ampproject/remapping@2.2.1': + '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.22.10': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - - '@babel/code-frame@7.23.5': - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 - '@babel/compat-data@7.23.5': {} + '@babel/compat-data@7.24.7': {} - '@babel/core@7.23.7': + '@babel/core@7.24.7': dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) - '@babel/helpers': 7.23.8 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.23.6': + '@babel/generator@7.24.7': dependencies: - '@babel/types': 7.23.6 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/helper-compilation-targets@7.23.6': + '@babel/helper-compilation-targets@7.24.7': dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-environment-visitor@7.22.20': {} + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 - '@babel/helper-function-name@7.23.0': + '@babel/helper-function-name@7.24.7': dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/helper-hoist-variables@7.22.5': + '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.7 - '@babel/helper-module-imports@7.22.15': + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/types': 7.23.6 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7)': + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-plugin-utils@7.22.5': {} + '@babel/helper-plugin-utils@7.24.7': {} - '@babel/helper-simple-access@7.22.5': + '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/types': 7.23.6 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-split-export-declaration@7.22.6': + '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.23.6 - - '@babel/helper-string-parser@7.23.4': {} + '@babel/types': 7.24.7 - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-validator-identifier@7.22.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.23.5': {} - - '@babel/helpers@7.23.8': - dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 - transitivePeerDependencies: - - supports-color + '@babel/helper-validator-option@7.24.7': {} - '@babel/highlight@7.22.10': + '@babel/helpers@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/highlight@7.23.4': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.1 - '@babel/parser@7.23.6': + '@babel/parser@7.24.7': dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.7)': + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/template@7.22.15': + '@babel/template@7.24.7': dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@babel/traverse@7.23.7': + '@babel/traverse@7.24.7': dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - debug: 4.3.4 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.23.6': + '@babel/types@7.24.7': dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 '@bcoe/v8-coverage@0.2.3': {} - '@cloudflare/workers-types@4.20240502.0': {} - - '@cloudflare/workers-types@4.20240512.0': {} - '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -1764,7 +1599,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -1777,14 +1612,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@16.18.96) + jest-config: 29.7.0(@types/node@18.19.50) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -1796,7 +1631,7 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -1809,7 +1644,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -1827,7 +1662,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 16.18.96 + '@types/node': 18.19.50 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -1848,18 +1683,18 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.22 - '@types/node': 16.18.96 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 18.19.50 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.1 + istanbul-lib-instrument: 6.0.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 + istanbul-reports: 3.1.7 jest-message-util: 29.7.0 jest-util: 29.7.0 jest-worker: 29.7.0 @@ -1876,7 +1711,7 @@ snapshots: '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -1884,7 +1719,7 @@ snapshots: dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 '@jest/test-sequencer@29.7.0': @@ -1896,9 +1731,9 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.7 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -1907,7 +1742,7 @@ snapshots: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -1917,103 +1752,33 @@ snapshots: '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.96 - '@types/yargs': 17.0.24 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.32 chalk: 4.1.2 - '@jridgewell/gen-mapping@0.3.3': + '@jridgewell/gen-mapping@0.3.5': dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.1': {} + '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.1.2': {} + '@jridgewell/set-array@1.2.1': {} '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.22': + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@libsql/client@0.6.0': - dependencies: - '@libsql/core': 0.6.0 - '@libsql/hrana-client': 0.6.0 - js-base64: 3.7.7 - libsql: 0.3.18 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/core@0.6.0': - dependencies: - js-base64: 3.7.7 - - '@libsql/darwin-arm64@0.3.18': - optional: true - - '@libsql/darwin-x64@0.3.18': - optional: true - - '@libsql/hrana-client@0.6.0': - dependencies: - '@libsql/isomorphic-fetch': 0.2.1 - '@libsql/isomorphic-ws': 0.1.5 - js-base64: 3.7.7 - node-fetch: 3.3.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/isomorphic-fetch@0.2.1': {} - - '@libsql/isomorphic-ws@0.1.5': - dependencies: - '@types/ws': 8.5.10 - ws: 8.17.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/linux-arm64-gnu@0.3.18': - optional: true - - '@libsql/linux-arm64-musl@0.3.18': - optional: true - - '@libsql/linux-x64-gnu@0.3.18': - optional: true - - '@libsql/linux-x64-musl@0.3.18': - optional: true - - '@libsql/win32-x64-msvc@0.3.18': - optional: true - - '@neon-rs/load@0.0.4': {} - '@neondatabase/serverless@0.9.3': dependencies: '@types/pg': 8.11.6 - '@planetscale/database@1.18.0': {} - - '@prisma/adapter-d1@file:../../tmp/prisma-adapter-d1-0.0.0.tgz': - dependencies: - '@cloudflare/workers-types': 4.20240502.0 - '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz - - '@prisma/adapter-libsql@file:../../tmp/prisma-adapter-libsql-0.0.0.tgz(@libsql/client@0.6.0)': - dependencies: - '@libsql/client': 0.6.0 - '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz - async-mutex: 0.5.0 - '@prisma/adapter-neon@file:../../tmp/prisma-adapter-neon-0.0.0.tgz(@neondatabase/serverless@0.9.3)': dependencies: '@neondatabase/serverless': 0.9.3 @@ -2032,11 +1797,6 @@ snapshots: pg: 8.11.5 postgres-array: 3.0.2 - '@prisma/adapter-planetscale@file:../../tmp/prisma-adapter-planetscale-0.0.0.tgz(@planetscale/database@1.18.0)': - dependencies: - '@planetscale/database': 1.18.0 - '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz - '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': optionalDependencies: prisma: file:../../tmp/prisma-0.0.0.tgz @@ -2047,16 +1807,16 @@ snapshots: dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version@5.15.0-3.97f638f5e0f371a1a553cf726f9d597bbe811bff': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.15.0-3.97f638f5e0f371a1a553cf726f9d597bbe811bff + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - '@prisma/extension-accelerate@1.0.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': + '@prisma/extension-accelerate@1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': dependencies: '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) @@ -2067,7 +1827,7 @@ snapshots: '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.15.0-3.97f638f5e0f371a1a553cf726f9d597bbe811bff + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': @@ -2076,7 +1836,7 @@ snapshots: '@prisma/pg-worker@file:../../tmp/prisma-pg-worker-0.0.0.tgz': dependencies: - '@types/pg': 8.11.5 + '@types/pg': 8.11.6 '@sinclair/typebox@0.27.8': {} @@ -2090,69 +1850,65 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@types/babel__traverse@7.20.5': + '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.7 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 16.18.96 + '@types/node': 18.19.50 - '@types/istanbul-lib-coverage@2.0.4': {} + '@types/istanbul-lib-coverage@2.0.6': {} - '@types/istanbul-lib-report@3.0.0': + '@types/istanbul-lib-report@3.0.3': dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports@3.0.1': + '@types/istanbul-reports@3.0.4': dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 '@types/jest@29.5.12': dependencies: expect: 29.7.0 pretty-format: 29.7.0 - '@types/node@16.18.96': {} - - '@types/pg@8.11.5': + '@types/node@18.19.50': dependencies: - '@types/node': 16.18.96 - pg-protocol: 1.6.1 - pg-types: 4.0.2 + undici-types: 5.26.5 '@types/pg@8.11.6': dependencies: - '@types/node': 16.18.96 + '@types/node': 18.19.50 pg-protocol: 1.6.1 pg-types: 4.0.2 - '@types/stack-utils@2.0.1': {} + '@types/stack-utils@2.0.3': {} '@types/ws@8.5.10': dependencies: - '@types/node': 16.18.96 + '@types/node': 18.19.50 - '@types/yargs-parser@21.0.0': {} + '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.24': + '@types/yargs@17.0.32': dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 ansi-escapes@4.3.2: dependencies: @@ -2179,17 +1935,13 @@ snapshots: dependencies: sprintf-js: 1.0.3 - async-mutex@0.5.0: - dependencies: - tslib: 2.6.2 - - babel-jest@29.7.0(@babel/core@7.23.7): + babel-jest@29.7.0(@babel/core@7.24.7): dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.7 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.23.7) + babel-preset-jest: 29.6.3(@babel/core@7.24.7) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -2198,7 +1950,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -2208,32 +1960,32 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 - - babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.7): - dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - - babel-preset-jest@29.6.3(@babel/core@7.23.7): - dependencies: - '@babel/core': 7.23.7 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + + babel-preset-jest@29.6.3(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) balanced-match@1.0.2: {} @@ -2242,16 +1994,16 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - browserslist@4.22.2: + browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001579 - electron-to-chromium: 1.4.643 + caniuse-lite: 1.0.30001632 + electron-to-chromium: 1.4.799 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.16(browserslist@4.23.1) bser@2.1.1: dependencies: @@ -2265,7 +2017,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001579: {} + caniuse-lite@1.0.30001632: {} chalk@2.4.2: dependencies: @@ -2280,9 +2032,9 @@ snapshots: char-regex@1.0.2: {} - ci-info@3.8.0: {} + ci-info@3.9.0: {} - cjs-module-lexer@1.2.3: {} + cjs-module-lexer@1.3.1: {} cliui@8.0.1: dependencies: @@ -2310,13 +2062,13 @@ snapshots: convert-source-map@2.0.0: {} - create-jest@29.7.0(@types/node@16.18.96): + create-jest@29.7.0(@types/node@18.19.50): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@16.18.96) + jest-config: 29.7.0(@types/node@18.19.50) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -2331,23 +2083,19 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - data-uri-to-buffer@4.0.1: {} - - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 - dedent@1.5.1: {} + dedent@1.5.3: {} deepmerge@4.3.1: {} - detect-libc@2.0.2: {} - detect-newline@3.1.0: {} diff-sequences@29.6.3: {} - electron-to-chromium@1.4.643: {} + electron-to-chromium@1.4.799: {} emittery@0.13.1: {} @@ -2357,7 +2105,7 @@ snapshots: dependencies: is-arrayish: 0.2.1 - escalade@3.1.1: {} + escalade@3.1.2: {} escape-string-regexp@1.0.5: {} @@ -2393,12 +2141,7 @@ snapshots: dependencies: bser: 2.1.1 - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -2407,10 +2150,6 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -2443,7 +2182,7 @@ snapshots: has-flag@4.0.0: {} - hasown@2.0.0: + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -2469,7 +2208,7 @@ snapshots: is-core-module@2.13.1: dependencies: - hasown: 2.0.0 + hasown: 2.0.2 is-fullwidth-code-point@3.0.0: {} @@ -2485,21 +2224,21 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: - supports-color - istanbul-lib-instrument@6.0.1: + istanbul-lib-instrument@6.0.2: dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.5.4 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -2511,13 +2250,13 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - istanbul-reports@3.1.6: + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 @@ -2534,10 +2273,10 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.1 + dedent: 1.5.3 is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -2547,23 +2286,23 @@ snapshots: jest-util: 29.7.0 p-limit: 3.1.0 pretty-format: 29.7.0 - pure-rand: 6.0.4 + pure-rand: 6.1.0 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@16.18.96): + jest-cli@29.7.0(@types/node@18.19.50): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@16.18.96) + create-jest: 29.7.0(@types/node@18.19.50) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@16.18.96) + jest-config: 29.7.0(@types/node@18.19.50) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -2573,14 +2312,14 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@16.18.96): + jest-config@29.7.0(@types/node@18.19.50): dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.23.7) + babel-jest: 29.7.0(@babel/core@7.24.7) chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 @@ -2592,13 +2331,13 @@ snapshots: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 16.18.96 + '@types/node': 18.19.50 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -2627,7 +2366,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -2637,14 +2376,14 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 16.18.96 + '@types/node': 18.19.50 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -2663,12 +2402,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.1 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -2676,7 +2415,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -2711,7 +2450,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -2739,9 +2478,9 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 - cjs-module-lexer: 1.2.3 + cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -2759,15 +2498,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.23.7 - '@babel/generator': 7.23.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -2778,16 +2517,16 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.5.4 + semver: 7.6.2 transitivePeerDependencies: - supports-color jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 @@ -2804,7 +2543,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -2813,25 +2552,23 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 16.18.96 + '@types/node': 18.19.50 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@16.18.96): + jest@29.7.0(@types/node@18.19.50): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@16.18.96) + jest-cli: 29.7.0(@types/node@18.19.50) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - js-base64@3.7.7: {} - js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -2849,19 +2586,6 @@ snapshots: leven@3.1.0: {} - libsql@0.3.18: - dependencies: - '@neon-rs/load': 0.0.4 - detect-libc: 2.0.2 - optionalDependencies: - '@libsql/darwin-arm64': 0.3.18 - '@libsql/darwin-x64': 0.3.18 - '@libsql/linux-arm64-gnu': 0.3.18 - '@libsql/linux-arm64-musl': 0.3.18 - '@libsql/linux-x64-gnu': 0.3.18 - '@libsql/linux-x64-musl': 0.3.18 - '@libsql/win32-x64-msvc': 0.3.18 - lines-and-columns@1.2.4: {} locate-path@5.0.0: @@ -2872,13 +2596,9 @@ snapshots: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - make-dir@4.0.0: dependencies: - semver: 7.5.4 + semver: 7.6.2 makeerror@1.0.12: dependencies: @@ -2886,9 +2606,9 @@ snapshots: merge-stream@2.0.0: {} - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mimic-fn@2.1.0: {} @@ -2901,14 +2621,6 @@ snapshots: natural-compare@1.4.0: {} - node-domexception@1.0.0: {} - - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - node-int64@0.4.0: {} node-releases@2.0.14: {} @@ -2945,7 +2657,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -3005,7 +2717,7 @@ snapshots: dependencies: split2: 4.2.0 - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -3041,20 +2753,22 @@ snapshots: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - pure-rand@6.0.4: {} + pure-rand@6.1.0: {} - react-is@18.2.0: {} + react-is@18.3.1: {} require-directory@2.1.1: {} @@ -3074,9 +2788,7 @@ snapshots: semver@6.3.1: {} - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} shebang-command@2.0.0: dependencies: @@ -3154,32 +2866,30 @@ snapshots: dependencies: is-number: 7.0.0 - tslib@2.6.2: {} - type-detect@4.0.8: {} type-fest@0.21.3: {} typescript@5.4.5: {} - update-browserslist-db@1.0.13(browserslist@4.22.2): + undici-types@5.26.5: {} + + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 v8-to-istanbul@9.2.0: dependencies: - '@jridgewell/trace-mapping': 0.3.22 - '@types/istanbul-lib-coverage': 2.0.4 + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 walker@1.0.8: dependencies: makeerror: 1.0.12 - web-streams-polyfill@3.3.3: {} - which@2.0.2: dependencies: isexe: 2.0.0 @@ -3205,14 +2915,12 @@ snapshots: yallist@3.1.1: {} - yallist@4.0.0: {} - yargs-parser@21.1.1: {} yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/prisma/custom-output.prisma b/packages/client/tests/e2e/prisma-client-imports-postgres/prisma/custom-output.prisma new file mode 100644 index 000000000000..60cb9163079d --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/prisma/custom-output.prisma @@ -0,0 +1,18 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] + output = "../custom" +} + +datasource db { + provider = "postgres" + url = "postgresql://prisma:prisma@localhost:5432/prisma" +} + +model User { + id Int @id @default(autoincrement()) + email String @unique +} diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/prisma/default-output.prisma b/packages/client/tests/e2e/prisma-client-imports-postgres/prisma/default-output.prisma new file mode 100644 index 000000000000..93c4057a67fc --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/prisma/default-output.prisma @@ -0,0 +1,17 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] +} + +datasource db { + provider = "postgres" + url = "postgresql://prisma:prisma@localhost:5432/prisma" +} + +model User { + id Int @id @default(autoincrement()) + email String @unique +} diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/readme.md b/packages/client/tests/e2e/prisma-client-imports-postgres/readme.md new file mode 100644 index 000000000000..4c974787957d --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/readme.md @@ -0,0 +1,8 @@ +# Readme + +This test suite is for ensuring that the `PrismaClient` and related utils can be correctly imported in various scenarios: + +- Ensures that `module`/`moduleResolution` combinations produce a deprecated `PrismaClient` with additional instructions. +- Ensures that imports from `@prisma/client/runtime/library` are allowed and work both on the type level and at runtime. +- Ensures that `accelerate` and `read-replicas` extensions can be imported and used correctly on the type level and at runtime. +- Ensure that Driver Adapters are working both on the type level and at runtime. diff --git a/packages/client/tests/e2e/prisma-client-imports/src/default.ts b/packages/client/tests/e2e/prisma-client-imports-postgres/src/default.ts similarity index 77% rename from packages/client/tests/e2e/prisma-client-imports/src/default.ts rename to packages/client/tests/e2e/prisma-client-imports-postgres/src/default.ts index e833d6a1391f..ef10ad8623b1 100644 --- a/packages/client/tests/e2e/prisma-client-imports/src/default.ts +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/src/default.ts @@ -1,11 +1,8 @@ -import { D1Database } from '@cloudflare/workers-types' +/* eslint-disable import/no-duplicates */ import { neon, neonConfig, Pool as NeonPool } from '@neondatabase/serverless' -import { Client as PlanetScaleClient } from '@planetscale/database' -import { PrismaD1 } from '@prisma/adapter-d1' import { PrismaNeon, PrismaNeonHTTP } from '@prisma/adapter-neon' import { PrismaPg } from '@prisma/adapter-pg' import { PrismaPg as PrismaPgWorker } from '@prisma/adapter-pg-worker' -import { PrismaPlanetScale } from '@prisma/adapter-planetscale' import { PrismaClient } from '@prisma/client' // @ts-ignore no types available import * as G1 from '@prisma/client/generator-build' @@ -23,7 +20,6 @@ import ws from 'ws' neonConfig.webSocketConstructor = ws const connectionString = 'just-a-string' - export const errors = [E1, E2] export const client = new PrismaClient() @@ -38,12 +34,8 @@ void replicaClient.user.findMany() export const generators = [G1, G2] /* Driver Adapters */ -const d1Db = {} as D1Database -export const d1PrismaClient = new PrismaClient({ - adapter: new PrismaD1(d1Db), -}) -void d1PrismaClient.user.findMany() +/* Driver Adapters */ const neonPool = new NeonPool({ connectionString }) export const neonPrismaClient = new PrismaClient({ adapter: new PrismaNeon(neonPool), @@ -70,9 +62,3 @@ export const pgWorkerPrismaClient = new PrismaClient({ adapter: new PrismaPgWorker(pgWorkerPool), }) void pgWorkerPrismaClient.user.findMany() - -const planetScaleClient = new PlanetScaleClient({ url: connectionString }) -export const planetScalePrismaClient = new PrismaClient({ - adapter: new PrismaPlanetScale(planetScaleClient), -}) -void planetScalePrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports/src/dep.ts b/packages/client/tests/e2e/prisma-client-imports-postgres/src/dep.ts similarity index 74% rename from packages/client/tests/e2e/prisma-client-imports/src/dep.ts rename to packages/client/tests/e2e/prisma-client-imports-postgres/src/dep.ts index 3eda94cf7029..7620a94e964b 100644 --- a/packages/client/tests/e2e/prisma-client-imports/src/dep.ts +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/src/dep.ts @@ -1,12 +1,7 @@ -/* eslint-disable import/no-duplicates */ -import { D1Database } from '@cloudflare/workers-types' import { neon, neonConfig, Pool as NeonPool } from '@neondatabase/serverless' -import { Client as PlanetScaleClient } from '@planetscale/database' -import { PrismaD1 } from '@prisma/adapter-d1' import { PrismaNeon, PrismaNeonHTTP } from '@prisma/adapter-neon' import { PrismaPg } from '@prisma/adapter-pg' import { PrismaPg as PrismaPgWorker } from '@prisma/adapter-pg-worker' -import { PrismaPlanetScale } from '@prisma/adapter-planetscale' import { withAccelerate } from '@prisma/extension-accelerate' import { readReplicas } from '@prisma/extension-read-replicas' import { Pool as PgWorkerPool } from '@prisma/pg-worker' @@ -33,12 +28,6 @@ export const replicaClient = client.$extends(readReplicas({ url: '' })) void replicaClient.user.findMany() /* Driver Adapters */ -const d1Db = {} as D1Database -export const d1PrismaClient = new PrismaClient({ - adapter: new PrismaD1(d1Db), -}) -void d1PrismaClient.user.findMany() - const neonPool = new NeonPool({ connectionString }) export const neonPrismaClient = new PrismaClient({ adapter: new PrismaNeon(neonPool), @@ -65,9 +54,3 @@ export const pgWorkerPrismaClient = new PrismaClient({ adapter: new PrismaPgWorker(pgWorkerPool), }) void pgWorkerPrismaClient.user.findMany() - -const planetScaleClient = new PlanetScaleClient({ url: connectionString }) -export const planetScalePrismaClient = new PrismaClient({ - adapter: new PrismaPlanetScale(planetScaleClient), -}) -void planetScalePrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports/src/no-dep.ts b/packages/client/tests/e2e/prisma-client-imports-postgres/src/no-dep.ts similarity index 74% rename from packages/client/tests/e2e/prisma-client-imports/src/no-dep.ts rename to packages/client/tests/e2e/prisma-client-imports-postgres/src/no-dep.ts index 06aa4d63fbcd..128a4288e310 100644 --- a/packages/client/tests/e2e/prisma-client-imports/src/no-dep.ts +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/src/no-dep.ts @@ -1,13 +1,8 @@ -/* eslint-disable import/no-duplicates */ -import { D1Database } from '@cloudflare/workers-types' import { neon, neonConfig, Pool as NeonPool } from '@neondatabase/serverless' -import { Client as PlanetScaleClient } from '@planetscale/database' -import { PrismaD1 } from '@prisma/adapter-d1' // import { PrismaLibSQL } from '@prisma/adapter-libsql' import { PrismaNeon, PrismaNeonHTTP } from '@prisma/adapter-neon' import { PrismaPg } from '@prisma/adapter-pg' import { PrismaPg as PrismaPgWorker } from '@prisma/adapter-pg-worker' -import { PrismaPlanetScale } from '@prisma/adapter-planetscale' import { withAccelerate } from '@prisma/extension-accelerate' import { readReplicas } from '@prisma/extension-read-replicas' import { Pool as PgWorkerPool } from '@prisma/pg-worker' @@ -34,12 +29,6 @@ export const replicaClient = client.$extends(readReplicas({ url: '' })) void replicaClient.user.findMany() /* Driver Adapters */ -const d1Db = {} as D1Database -export const d1PrismaClient = new PrismaClient({ - adapter: new PrismaD1(d1Db), -}) -void d1PrismaClient.user.findMany() - const neonPool = new NeonPool({ connectionString }) export const neonPrismaClient = new PrismaClient({ adapter: new PrismaNeon(neonPool), @@ -66,11 +55,3 @@ export const pgWorkerPrismaClient = new PrismaClient({ adapter: new PrismaPgWorker(pgWorkerPool), }) void pgWorkerPrismaClient.user.findMany() - -const planetScaleClient = new PlanetScaleClient({ url: connectionString }) -export const planetScalePrismaClient = new PrismaClient({ - adapter: new PrismaPlanetScale(planetScaleClient), -}) -void planetScalePrismaClient.user.findMany() - -// TODO libsql diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/tests/main.test.ts b/packages/client/tests/e2e/prisma-client-imports-postgres/tests/main.test.ts new file mode 100644 index 000000000000..1692e016e6d9 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/tests/main.test.ts @@ -0,0 +1,61 @@ +import path from 'path' +import * as ts from 'typescript' + +import { allOptions } from '../../_utils/prisma-client-imports' + +const baseTsConfig = require('../../tsconfig.base.json').compilerOptions + +const dirPath = path.join(__dirname, '..', 'src') +const depTs = path.resolve(dirPath, 'dep.ts') +const noDepTs = path.resolve(dirPath, 'no-dep.ts') +const defaultTs = path.resolve(dirPath, 'default.ts') + +describe('Typechecking', () => { + test('custom import via dependency', () => { + for (const options of allOptions) { + typeCheck(depTs, options) + } + }) + + test('custom direct import', () => { + for (const options of allOptions) { + typeCheck(noDepTs, options) + } + }) + + test('default import', () => { + for (const options of allOptions) { + typeCheck(defaultTs, options) + } + }) +}) + +function typeCheck(fileName: string, options: any) { + console.info(`Typechecking ${fileName} with options:`, options) + + const fullOptions = ts.convertCompilerOptionsFromJson( + { ...baseTsConfig, ...options }, + path.resolve(__dirname, '..', 'tsconfig.json'), + ) + + assertNoErrors(fullOptions.errors) + + const program = ts.createProgram([fileName], fullOptions.options) + + assertNoErrors(program.getConfigFileParsingDiagnostics()) + assertNoErrors(program.getOptionsDiagnostics()) + const sourceFile = program.getSourceFile(fileName) + if (!sourceFile) { + throw new Error(`Source file ${fileName} not found`) + } + assertNoErrors(program.getSemanticDiagnostics()) + assertNoErrors(program.getSyntacticDiagnostics()) +} + +function assertNoErrors(errors: readonly ts.Diagnostic[]) { + if (errors.length > 0) { + errors.map(console.error) + + throw new Error(`Test exited with ${errors.length} errors. See above for details.`) + } +} diff --git a/packages/client/tests/e2e/prisma-client-imports-postgres/tsconfig.json b/packages/client/tests/e2e/prisma-client-imports-postgres/tsconfig.json new file mode 100644 index 000000000000..5453db6461de --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-postgres/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "module": "ES2022", + "moduleResolution": "NodeNext" + }, + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/.gitignore b/packages/client/tests/e2e/prisma-client-imports-sqlite/.gitignore new file mode 100644 index 000000000000..8f4052a5c9ef --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/.gitignore @@ -0,0 +1 @@ +custom \ No newline at end of file diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/_steps.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/_steps.ts new file mode 100644 index 000000000000..fa05b6fe272a --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/_steps.ts @@ -0,0 +1,28 @@ +import { $ } from 'zx' + +import { executeSteps } from '../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm prisma generate --schema prisma/custom-output.prisma` + await $`pnpm prisma generate --schema prisma/default-output.prisma` + }, + test: async () => { + await $`pnpm test` + + /** + * Contrary to the `-postgres` and `-mysql` tests, it is safe to run the scripts + * via `tsx`. This is because `sqlite` doesn't need any "external" connections. + */ + await $`tsx src/default.ts`.quiet() + await $`tsx src/dep.ts`.quiet() + await $`tsx src/no-dep.ts`.quiet() + await $`tsx src/esm-only-pkgs/default.ts`.quiet() + await $`tsx src/esm-only-pkgs/dep.ts`.quiet() + await $`tsx src/esm-only-pkgs/no-dep.ts`.quiet() + }, + finish: async () => { + await $`echo "done"` + }, +}) diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/jest.config.js b/packages/client/tests/e2e/prisma-client-imports-sqlite/jest.config.js new file mode 100644 index 000000000000..56a85175a1b6 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/jest.config.js @@ -0,0 +1 @@ +module.exports = require('../jest.config') diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/package.json b/packages/client/tests/e2e/prisma-client-imports-sqlite/package.json new file mode 100644 index 000000000000..6967bfedff68 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/package.json @@ -0,0 +1,25 @@ +{ + "private": true, + "version": "0.0.0", + "main": "index.js", + "scripts": { + "test": "jest --verbose" + }, + "dependencies": { + "@cloudflare/workers-types": "4.20240603.0", + "@libsql/client": "0.8.0", + "@prisma/adapter-d1": "/tmp/prisma-adapter-d1-0.0.0.tgz", + "@prisma/adapter-libsql": "/tmp/prisma-adapter-libsql-0.0.0.tgz", + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz", + "@prisma/extension-accelerate": "1.2.1", + "@prisma/extension-read-replicas": "0.3.0", + "db": "link:custom" + }, + "devDependencies": { + "@types/jest": "29.5.12", + "@types/node": "18.19.50", + "jest": "29.7.0", + "prisma": "/tmp/prisma-0.0.0.tgz", + "typescript": "5.4.5" + } +} diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/pnpm-lock.yaml b/packages/client/tests/e2e/prisma-client-imports-sqlite/pnpm-lock.yaml new file mode 100644 index 000000000000..4bdbb052bdb5 --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/pnpm-lock.yaml @@ -0,0 +1,2925 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@cloudflare/workers-types': + specifier: 4.20240603.0 + version: 4.20240603.0 + '@libsql/client': + specifier: 0.8.0 + version: 0.8.0 + '@prisma/adapter-d1': + specifier: /tmp/prisma-adapter-d1-0.0.0.tgz + version: file:../../tmp/prisma-adapter-d1-0.0.0.tgz + '@prisma/adapter-libsql': + specifier: /tmp/prisma-adapter-libsql-0.0.0.tgz + version: file:../../tmp/prisma-adapter-libsql-0.0.0.tgz(@libsql/client@0.8.0) + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + '@prisma/extension-accelerate': + specifier: 1.2.1 + version: 1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + '@prisma/extension-read-replicas': + specifier: 0.3.0 + version: 0.3.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + db: + specifier: link:custom + version: link:custom + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@18.19.50) + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + typescript: + specifier: 5.4.5 + version: 5.4.5 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.25.6': + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@cloudflare/workers-types@4.20240603.0': + resolution: {integrity: sha512-KmsjZcd/dPWM51FoT08cvUGCq9l3nFEriloQ12mcdJPoW911Gi5S/9Cq4xeFvTrtk9TJ2krvxP23IeobecRmOQ==} + + '@cloudflare/workers-types@4.20240614.0': + resolution: {integrity: sha512-fnV3uXD1Hpq5EWnY7XYb+smPcjzIoUFiZpTSV/Tk8qKL3H+w6IqcngZwXQBZ/2U/DwYkDilXHW3FfPhnyD7FZA==} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@libsql/client@0.8.0': + resolution: {integrity: sha512-ncx6p2wsaZtCAbRJCIkaTO14ya18qFYLJ1yTm5zHgwd9mlcvgenG4imSgJy2zNrKJkeyr1wzD+80jNqI7nCYoA==} + + '@libsql/core@0.8.1': + resolution: {integrity: sha512-u6nrj6HZMTPsgJ9EBhLzO2uhqhlHQJQmVHV+0yFLvfGf3oSP8w7TjZCNUgu1G8jHISx6KFi7bmcrdXW9lRt++A==} + + '@libsql/darwin-arm64@0.3.19': + resolution: {integrity: sha512-rmOqsLcDI65zzxlUOoEiPJLhqmbFsZF6p4UJQ2kMqB+Kc0Rt5/A1OAdOZ/Wo8fQfJWjR1IbkbpEINFioyKf+nQ==} + cpu: [arm64] + os: [darwin] + + '@libsql/darwin-x64@0.3.19': + resolution: {integrity: sha512-q9O55B646zU+644SMmOQL3FIfpmEvdWpRpzubwFc2trsa+zoBlSkHuzU9v/C+UNoPHQVRMP7KQctJ455I/h/xw==} + cpu: [x64] + os: [darwin] + + '@libsql/hrana-client@0.6.2': + resolution: {integrity: sha512-MWxgD7mXLNf9FXXiM0bc90wCjZSpErWKr5mGza7ERy2FJNNMXd7JIOv+DepBA1FQTIfI8TFO4/QDYgaQC0goNw==} + + '@libsql/isomorphic-fetch@0.2.5': + resolution: {integrity: sha512-8s/B2TClEHms2yb+JGpsVRTPBfy1ih/Pq6h6gvyaNcYnMVJvgQRY7wAa8U2nD0dppbCuDU5evTNMEhrQ17ZKKg==} + engines: {node: '>=18.0.0'} + + '@libsql/isomorphic-ws@0.1.5': + resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} + + '@libsql/linux-arm64-gnu@0.3.19': + resolution: {integrity: sha512-mgeAUU1oqqh57k7I3cQyU6Trpdsdt607eFyEmH5QO7dv303ti+LjUvh1pp21QWV6WX7wZyjeJV1/VzEImB+jRg==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-arm64-musl@0.3.19': + resolution: {integrity: sha512-VEZtxghyK6zwGzU9PHohvNxthruSxBEnRrX7BSL5jQ62tN4n2JNepJ6SdzXp70pdzTfwroOj/eMwiPt94gkVRg==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-x64-gnu@0.3.19': + resolution: {integrity: sha512-2t/J7LD5w2f63wGihEO+0GxfTyYIyLGEvTFEsMO16XI5o7IS9vcSHrxsvAJs4w2Pf907uDjmc7fUfMg6L82BrQ==} + cpu: [x64] + os: [linux] + + '@libsql/linux-x64-musl@0.3.19': + resolution: {integrity: sha512-BLsXyJaL8gZD8+3W2LU08lDEd9MIgGds0yPy5iNPp8tfhXx3pV/Fge2GErN0FC+nzt4DYQtjL+A9GUMglQefXQ==} + cpu: [x64] + os: [linux] + + '@libsql/win32-x64-msvc@0.3.19': + resolution: {integrity: sha512-ay1X9AobE4BpzG0XPw1gplyLZPGHIgJOovvW23gUrukRegiUP62uzhpRbKNogLlUOynyXeq//prHgPXiebUfWg==} + cpu: [x64] + os: [win32] + + '@neon-rs/load@0.0.4': + resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} + + '@prisma/adapter-d1@file:../../tmp/prisma-adapter-d1-0.0.0.tgz': + resolution: {integrity: sha512-hLBdC7dLBmrRKg+Exq/pUjWTpBN3r+W/I7Tm9tCUwRpbCih3DWc1Rp+PX/DNj6uxKi/QULReUPtFsTg9HgU+Jw==, tarball: file:../../tmp/prisma-adapter-d1-0.0.0.tgz} + version: 0.0.0 + + '@prisma/adapter-libsql@file:../../tmp/prisma-adapter-libsql-0.0.0.tgz': + resolution: {integrity: sha512-MJC2id/k+fomxu0AKMTuC8KYfxKfFXo3JyUW1QJhC8UpLOE6atzsQyVvcd5ECN0TgZn+OjbRDzYOOyiUpK/bQw==, tarball: file:../../tmp/prisma-adapter-libsql-0.0.0.tgz} + version: 0.0.0 + peerDependencies: + '@libsql/client': ^0.3.5 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 || ^0.8.0 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + resolution: {integrity: sha512-EsH1eFc27KdbUjrAl9AI/7+Ev7TL133B7V/aECsyPH9JtbGvIiKfVJBS+fNLH1hk6nbTdjlFp1LRPAUNhrPGNw==, tarball: file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/extension-accelerate@1.2.1': + resolution: {integrity: sha512-QicnMeyqL226ilT3vvRsFAqPeIdqHGKR4c25CoK5zZ1tNIv8egfgpD1gCKqOGmfAz0pIKQnMuJU3eNg9KItC7A==} + version: 1.2.1 + engines: {node: '>=16'} + peerDependencies: + '@prisma/client': '>=4.16.1' + + '@prisma/extension-read-replicas@0.3.0': + resolution: {integrity: sha512-F9+rSmYday6GT2qjhJtkZcBOpLO5LtpvFcMGqrBDHf+78LEdSuxfFjOxYlNuqk4B+th62yxpbhfpmB9/Mca14Q==} + version: 0.3.0 + peerDependencies: + '@prisma/client': ^5.2.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/ws@8.5.12': + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + async-mutex@0.5.0: + resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-preset-current-node-syntax@1.1.0: + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + libsql@0.3.19: + resolution: {integrity: sha512-Aj5cQ5uk/6fHdmeW0TiXK42FqUlwx7ytmMLPSaUQPin5HKKKuUPD62MAbN4OEweGBBI7q1BekoEN4gPUEL6MZA==} + os: [darwin, linux, win32] + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + promise-limit@2.7.0: + resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helpers@7.25.6': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.25.6 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@cloudflare/workers-types@4.20240603.0': {} + + '@cloudflare/workers-types@4.20240614.0': {} + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.19.50) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 18.19.50 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 18.19.50 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.25.2 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@libsql/client@0.8.0': + dependencies: + '@libsql/core': 0.8.1 + '@libsql/hrana-client': 0.6.2 + js-base64: 3.7.7 + libsql: 0.3.19 + promise-limit: 2.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/core@0.8.1': + dependencies: + js-base64: 3.7.7 + + '@libsql/darwin-arm64@0.3.19': + optional: true + + '@libsql/darwin-x64@0.3.19': + optional: true + + '@libsql/hrana-client@0.6.2': + dependencies: + '@libsql/isomorphic-fetch': 0.2.5 + '@libsql/isomorphic-ws': 0.1.5 + js-base64: 3.7.7 + node-fetch: 3.3.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/isomorphic-fetch@0.2.5': {} + + '@libsql/isomorphic-ws@0.1.5': + dependencies: + '@types/ws': 8.5.12 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/linux-arm64-gnu@0.3.19': + optional: true + + '@libsql/linux-arm64-musl@0.3.19': + optional: true + + '@libsql/linux-x64-gnu@0.3.19': + optional: true + + '@libsql/linux-x64-musl@0.3.19': + optional: true + + '@libsql/win32-x64-msvc@0.3.19': + optional: true + + '@neon-rs/load@0.0.4': {} + + '@prisma/adapter-d1@file:../../tmp/prisma-adapter-d1-0.0.0.tgz': + dependencies: + '@cloudflare/workers-types': 4.20240614.0 + '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + + '@prisma/adapter-libsql@file:../../tmp/prisma-adapter-libsql-0.0.0.tgz(@libsql/client@0.8.0)': + dependencies: + '@libsql/client': 0.8.0 + '@prisma/driver-adapter-utils': file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz + async-mutex: 0.5.0 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/driver-adapter-utils@file:../../tmp/prisma-driver-adapter-utils-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/extension-accelerate@1.2.1(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': + dependencies: + '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + + '@prisma/extension-read-replicas@0.3.0(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz))': + dependencies: + '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.6 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 18.19.50 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/ws@8.5.12': + dependencies: + '@types/node': 18.19.50 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + async-mutex@0.5.0: + dependencies: + tslib: 2.7.0 + + babel-jest@29.7.0(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.25.2) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.24.8 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + + babel-preset-jest@29.6.3(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + + balanced-match@1.0.2: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.27 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001663: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + create-jest@29.7.0(@types/node@18.19.50): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.19.50) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + data-uri-to-buffer@4.0.1: {} + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + dedent@1.5.3: {} + + deepmerge@4.3.1: {} + + detect-libc@2.0.2: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} + + electron-to-chromium@1.5.27: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + esprima@4.0.1: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fast-json-stable-stringify@2.1.0: {} + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-package-type@0.1.0: {} + + get-stream@6.0.1: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + html-escaper@2.0.2: {} + + human-signals@2.1.0: {} + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-number@7.0.0: {} + + is-stream@2.0.1: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.3.7 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@18.19.50): + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.19.50) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@18.19.50) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@18.19.50): + dependencies: + '@babel/core': 7.25.2 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.25.2) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.19.50 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 18.19.50 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + cjs-module-lexer: 1.4.1 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/types': 7.25.6 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@29.7.0: + dependencies: + '@types/node': 18.19.50 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@18.19.50): + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@18.19.50) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + js-base64@3.7.7: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + jsesc@2.5.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json5@2.2.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + libsql@0.3.19: + dependencies: + '@neon-rs/load': 0.0.4 + detect-libc: 2.0.2 + optionalDependencies: + '@libsql/darwin-arm64': 0.3.19 + '@libsql/darwin-x64': 0.3.19 + '@libsql/linux-arm64-gnu': 0.3.19 + '@libsql/linux-arm64-musl': 0.3.19 + '@libsql/linux-x64-gnu': 0.3.19 + '@libsql/linux-x64-musl': 0.3.19 + '@libsql/win32-x64-msvc': 0.3.19 + + lines-and-columns@1.2.4: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@4.0.0: + dependencies: + semver: 7.6.3 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + merge-stream@2.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + ms@2.1.3: {} + + natural-compare@1.4.0: {} + + node-domexception@1.0.0: {} + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-int64@0.4.0: {} + + node-releases@2.0.18: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-try@2.2.0: {} + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + promise-limit@2.7.0: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + pure-rand@6.1.0: {} + + react-is@18.3.1: {} + + require-directory@2.1.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@5.0.0: {} + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + semver@6.3.1: {} + + semver@7.6.3: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tslib@2.7.0: {} + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + typescript@5.4.5: {} + + undici-types@5.26.5: {} + + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 + + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + web-streams-polyfill@3.3.3: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@8.18.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} diff --git a/packages/client/tests/e2e/prisma-client-imports/prisma/custom-output.prisma b/packages/client/tests/e2e/prisma-client-imports-sqlite/prisma/custom-output.prisma similarity index 100% rename from packages/client/tests/e2e/prisma-client-imports/prisma/custom-output.prisma rename to packages/client/tests/e2e/prisma-client-imports-sqlite/prisma/custom-output.prisma diff --git a/packages/client/tests/e2e/prisma-client-imports/prisma/default-output.prisma b/packages/client/tests/e2e/prisma-client-imports-sqlite/prisma/default-output.prisma similarity index 100% rename from packages/client/tests/e2e/prisma-client-imports/prisma/default-output.prisma rename to packages/client/tests/e2e/prisma-client-imports-sqlite/prisma/default-output.prisma diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/readme.md b/packages/client/tests/e2e/prisma-client-imports-sqlite/readme.md new file mode 100644 index 000000000000..4c974787957d --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/readme.md @@ -0,0 +1,8 @@ +# Readme + +This test suite is for ensuring that the `PrismaClient` and related utils can be correctly imported in various scenarios: + +- Ensures that `module`/`moduleResolution` combinations produce a deprecated `PrismaClient` with additional instructions. +- Ensures that imports from `@prisma/client/runtime/library` are allowed and work both on the type level and at runtime. +- Ensures that `accelerate` and `read-replicas` extensions can be imported and used correctly on the type level and at runtime. +- Ensure that Driver Adapters are working both on the type level and at runtime. diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/src/default.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/default.ts new file mode 100644 index 000000000000..8bab200917fb --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/default.ts @@ -0,0 +1,33 @@ +/* eslint-disable import/no-duplicates */ +import { D1Database } from '@cloudflare/workers-types' +import { PrismaD1 } from '@prisma/adapter-d1' +import { PrismaClient } from '@prisma/client' +// @ts-ignore no types available +import * as G1 from '@prisma/client/generator-build' +// @ts-ignore no types available +import * as G2 from '@prisma/client/generator-build/index.js' +import { PrismaClientKnownRequestError as E1 } from '@prisma/client/runtime/library' +import { PrismaClientKnownRequestError as E2 } from '@prisma/client/runtime/library.js' +import { withAccelerate } from '@prisma/extension-accelerate' +import { readReplicas } from '@prisma/extension-read-replicas' + +// Setup +export const errors = [E1, E2] + +export const client = new PrismaClient() +void client.user.findMany() + +export const accelerateClient = client.$extends(withAccelerate()) +void accelerateClient.user.findMany() + +export const replicaClient = client.$extends(readReplicas({ url: '' })) +void replicaClient.user.findMany() + +export const generators = [G1, G2] + +/* Driver Adapters */ +const d1Db = {} as D1Database +export const d1PrismaClient = new PrismaClient({ + adapter: new PrismaD1(d1Db), +}) +void d1PrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/src/dep.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/dep.ts new file mode 100644 index 000000000000..1537d7418d7f --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/dep.ts @@ -0,0 +1,26 @@ +import { D1Database } from '@cloudflare/workers-types' +import { PrismaD1 } from '@prisma/adapter-d1' +import { withAccelerate } from '@prisma/extension-accelerate' +import { readReplicas } from '@prisma/extension-read-replicas' +import { PrismaClient } from 'db' +import { PrismaClientKnownRequestError as E1 } from 'db/runtime/library' +import { PrismaClientKnownRequestError as E2 } from 'db/runtime/library.js' + +// Setup +export const errors = [E1, E2] + +export const client = new PrismaClient() +void client.user.findMany() + +export const accelerateClient = client.$extends(withAccelerate()) +void accelerateClient.user.findMany() + +export const replicaClient = client.$extends(readReplicas({ url: '' })) +void replicaClient.user.findMany() + +/* Driver Adapters */ +const d1Db = {} as D1Database +export const d1PrismaClient = new PrismaClient({ + adapter: new PrismaD1(d1Db), +}) +void d1PrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/default.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/default.ts similarity index 86% rename from packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/default.ts rename to packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/default.ts index d177e9b97c2b..f4c870cf4fd4 100644 --- a/packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/default.ts +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/default.ts @@ -1,10 +1,9 @@ -/* eslint-disable import/no-duplicates */ import { createClient } from '@libsql/client' import { PrismaLibSQL } from '@prisma/adapter-libsql' import { PrismaClient } from '@prisma/client' const libsqlClient = createClient({ - url: '', + url: 'libsql://test-prisma.turso.io', authToken: '', }) export const libsqlPrismaClient = new PrismaClient({ diff --git a/packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/dep.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/dep.ts similarity index 86% rename from packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/dep.ts rename to packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/dep.ts index 7e7c162f6eb5..765527d6da21 100644 --- a/packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/dep.ts +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/dep.ts @@ -1,10 +1,9 @@ -/* eslint-disable import/no-duplicates */ import { createClient } from '@libsql/client' import { PrismaLibSQL } from '@prisma/adapter-libsql' import { PrismaClient } from 'db' const libsqlClient = createClient({ - url: '', + url: 'libsql://test-prisma.turso.io', authToken: '', }) export const libsqlPrismaClient = new PrismaClient({ diff --git a/packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/no-dep.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/no-dep.ts similarity index 86% rename from packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/no-dep.ts rename to packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/no-dep.ts index d047aaf4c135..08059a885ae0 100644 --- a/packages/client/tests/e2e/prisma-client-imports/src/esm-only-pkgs/no-dep.ts +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/esm-only-pkgs/no-dep.ts @@ -1,11 +1,10 @@ -/* eslint-disable import/no-duplicates */ import { createClient } from '@libsql/client' import { PrismaLibSQL } from '@prisma/adapter-libsql' import { PrismaClient } from '../../custom' const libsqlClient = createClient({ - url: '', + url: 'libsql://test-prisma.turso.io', authToken: '', }) export const libsqlPrismaClient = new PrismaClient({ diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/src/no-dep.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/no-dep.ts new file mode 100644 index 000000000000..7506ef252f8a --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/src/no-dep.ts @@ -0,0 +1,26 @@ +import { D1Database } from '@cloudflare/workers-types' +import { PrismaD1 } from '@prisma/adapter-d1' +import { withAccelerate } from '@prisma/extension-accelerate' +import { readReplicas } from '@prisma/extension-read-replicas' + +import { PrismaClient } from '../custom' +import { PrismaClientKnownRequestError as E1 } from '../custom/runtime/library' +import { PrismaClientKnownRequestError as E2 } from '../custom/runtime/library.js' + +// Setup +export const errors = [E1, E2] +export const client = new PrismaClient() +void client.user.findMany() + +export const accelerateClient = client.$extends(withAccelerate()) +void accelerateClient.user.findMany() + +export const replicaClient = client.$extends(readReplicas({ url: '' })) +void replicaClient.user.findMany() + +/* Driver Adapters */ +const d1Db = {} as D1Database +export const d1PrismaClient = new PrismaClient({ + adapter: new PrismaD1(d1Db), +}) +void d1PrismaClient.user.findMany() diff --git a/packages/client/tests/e2e/prisma-client-imports/tests/main.test.ts b/packages/client/tests/e2e/prisma-client-imports-sqlite/tests/main.test.ts similarity index 79% rename from packages/client/tests/e2e/prisma-client-imports/tests/main.test.ts rename to packages/client/tests/e2e/prisma-client-imports-sqlite/tests/main.test.ts index 59731e495ca6..6fe1ad5ca854 100644 --- a/packages/client/tests/e2e/prisma-client-imports/tests/main.test.ts +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/tests/main.test.ts @@ -1,6 +1,8 @@ import path from 'path' import * as ts from 'typescript' +import { allOptions } from '../../_utils/prisma-client-imports' + const baseTsConfig = require('../../tsconfig.base.json').compilerOptions const dirPath = path.join(__dirname, '..', 'src') @@ -13,26 +15,6 @@ const depEsmTs = path.resolve(dirPathEsm, 'dep.ts') const noDepEsmTs = path.resolve(dirPathEsm, 'no-dep.ts') const defaultEsmTs = path.resolve(dirPathEsm, 'default.ts') -// https://www.typescriptlang.org/tsconfig/#high-level-libraries -const allOptions = [ - { module: 'commonjs', moduleResolution: 'Node' }, - { module: 'ES2015', moduleResolution: 'Node' }, - { module: 'ES2020', moduleResolution: 'Node' }, - { module: 'ES2022', moduleResolution: 'Node' }, - { module: 'ESNext', moduleResolution: 'Node' }, - - { module: 'Node16', moduleResolution: 'Node16' }, - { module: 'NodeNext', moduleResolution: 'Node16' }, - - { module: 'Node16', moduleResolution: 'NodeNext' }, - { module: 'NodeNext', moduleResolution: 'NodeNext' }, - - { module: 'ES2015', moduleResolution: 'Bundler' }, - { module: 'ES2020', moduleResolution: 'Bundler' }, - { module: 'ES2022', moduleResolution: 'Bundler' }, - { module: 'ESNext', moduleResolution: 'Bundler' }, -] - describe('Typechecking', () => { test('custom import via dependency', () => { for (const options of allOptions) { diff --git a/packages/client/tests/e2e/prisma-client-imports-sqlite/tsconfig.json b/packages/client/tests/e2e/prisma-client-imports-sqlite/tsconfig.json new file mode 100644 index 000000000000..5453db6461de --- /dev/null +++ b/packages/client/tests/e2e/prisma-client-imports-sqlite/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "module": "ES2022", + "moduleResolution": "NodeNext" + }, + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/publish-extensions/package.json b/packages/client/tests/e2e/publish-extensions/package.json index e7947538b978..276085353bab 100644 --- a/packages/client/tests/e2e/publish-extensions/package.json +++ b/packages/client/tests/e2e/publish-extensions/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/publish-extensions/pnpm-lock.yaml b/packages/client/tests/e2e/publish-extensions/pnpm-lock.yaml index 9b2c589bd214..6da33a7e0860 100644 --- a/packages/client/tests/e2e/publish-extensions/pnpm-lock.yaml +++ b/packages/client/tests/e2e/publish-extensions/pnpm-lock.yaml @@ -1,393 +1,506 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: ../prisma-client-0.0.0.tgz - version: file:../prisma-client-0.0.0.tgz(prisma@0.0.0) - simple-ext: - specifier: ./simple-ext/simple-ext-0.0.0.tgz - version: file:simple-ext/simple-ext-0.0.0.tgz(@prisma/client@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.1 - version: 29.5.1 - '@types/node': - specifier: 16.18.11 - version: 16.18.11 - prisma: - specifier: ../prisma-0.0.0.tgz - version: file:../prisma-0.0.0.tgz +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + simple-ext: + specifier: ./simple-ext/simple-ext-0.0.0.tgz + version: file:simple-ext/simple-ext-0.0.0.tgz(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz packages: - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@jest/expect-utils@29.5.0: - resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.4.3: - resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.25.24 - dev: true - /@jest/types@29.5.0: - resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.11 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@sinclair/typebox@0.25.24: - resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} - dev: true + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 - /@types/jest@29.5.1: - resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} - dependencies: - expect: 29.5.0 - pretty-format: 29.5.0 - dev: true + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} - dev: true + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - /ansi-styles@3.2.1: + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /expect@29.5.0: - resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.5.0 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-util: 29.5.0 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /graceful-fs@4.2.11: + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.5.0: - resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 - dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.5.0: - resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + simple-ext@file:simple-ext/simple-ext-0.0.0.tgz: + resolution: {integrity: sha512-2q/mNmCXBTXsW6PZuFbT0+CeMjQa8nuc3a7iwUbpRMVLHdfu/wppKD0OnmfNDDYuB0UZMGs7DQcbYSgQiIpuIg==, tarball: file:simple-ext/simple-ext-0.0.0.tgz} + version: 0.0.0 + peerDependencies: + '@prisma/client': /tmp/prisma-client-0.0.0.tgz + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 - jest-diff: 29.5.0 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 - dev: true - /jest-message-util@29.5.0: - resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.5.0 - '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.5.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-util@29.5.0: - resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: - '@jest/types': 29.5.0 - '@types/node': 16.18.11 + '@jest/types': 29.6.3 + '@types/node': 18.19.50 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - dev: true - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picocolors@1.1.0: {} - /pretty-format@29.5.0: - resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + picomatch@2.3.1: {} + + pretty-format@29.7.0: dependencies: - '@jest/schemas': 29.4.3 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.3.1: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + simple-ext@file:simple-ext/simple-ext-0.0.0.tgz(@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)): + dependencies: + '@prisma/client': file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + slash@3.0.0: {} + + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - file:../prisma-0.0.0.tgz: - resolution: {integrity: sha512-5GVDPg7BBm5WJEnARfqh8QHBWNV/XzQNTn7ieJLFwMWB4/UCJeN03o2Jg+nHffE0IATn9R6DtRejl1CFqRtBCQ==, tarball: file:../prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - bundledDependencies: - - '@prisma/engines' - - file:../prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-tL2l9xjecEvBjBTZpzvPcB2mdGc2Oi8GAlHZNhwaSNDwTPPNwZ86TexjUyuddx4XsnH2HVw41zWwFEnKr+5SoQ==, tarball: file:../prisma-client-0.0.0.tgz} - id: file:../prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - prisma: file:../prisma-0.0.0.tgz - dev: false - bundledDependencies: - - '@prisma/engines-version' - - file:simple-ext/simple-ext-0.0.0.tgz(@prisma/client@0.0.0): - resolution: {integrity: sha512-EF8p38aP/Px9q4vxxNT6VEKpzBEANXwxXzMiEeWddMLkyv+Lgdv0yM9FTaYu3N2DGib4UYGouz9QepZ9K6tXvA==, tarball: file:simple-ext/simple-ext-0.0.0.tgz} - id: file:simple-ext/simple-ext-0.0.0.tgz - name: simple-ext - version: 0.0.0 - peerDependencies: - '@prisma/client': ../../prisma-client-0.0.0.tgz - dependencies: - '@prisma/client': file:../prisma-client-0.0.0.tgz(prisma@0.0.0) - dev: false + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/require-in-the-middle/package.json b/packages/client/tests/e2e/require-in-the-middle/package.json index f833138e637a..63f20b617842 100644 --- a/packages/client/tests/e2e/require-in-the-middle/package.json +++ b/packages/client/tests/e2e/require-in-the-middle/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/require-in-the-middle/pnpm-lock.yaml b/packages/client/tests/e2e/require-in-the-middle/pnpm-lock.yaml index c48c8eea3dc2..dd6459455744 100644 --- a/packages/client/tests/e2e/require-in-the-middle/pnpm-lock.yaml +++ b/packages/client/tests/e2e/require-in-the-middle/pnpm-lock.yaml @@ -19,24 +19,24 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz packages: - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} '@jest/expect-utils@29.7.0': @@ -52,9 +52,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -62,22 +62,22 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 '@sinclair/typebox@0.27.8': @@ -95,8 +95,8 @@ packages: '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -104,8 +104,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -119,8 +119,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} chalk@2.4.2: @@ -148,8 +148,8 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -173,10 +173,15 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -195,8 +200,9 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -225,21 +231,21 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} module-details-from-path@1.0.3: resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -250,9 +256,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true react-is@18.3.1: @@ -290,21 +296,24 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + snapshots: - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/highlight@7.24.5': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 '@jest/expect-utils@29.7.0': dependencies: @@ -319,8 +328,8 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 16.18.96 - '@types/yargs': 17.0.32 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 chalk: 4.1.2 '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': @@ -329,19 +338,19 @@ snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': @@ -365,13 +374,15 @@ snapshots: expect: 29.7.0 pretty-format: 29.7.0 - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 '@types/stack-utils@2.0.3': {} '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.32': + '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -385,9 +396,9 @@ snapshots: ansi-styles@5.2.0: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 chalk@2.4.2: dependencies: @@ -414,9 +425,9 @@ snapshots: color-name@1.1.4: {} - debug@4.3.4: + debug@4.3.7: dependencies: - ms: 2.1.2 + ms: 2.1.3 diff-sequences@29.6.3: {} @@ -432,10 +443,13 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + fsevents@2.3.3: + optional: true + function-bind@1.1.2: {} graceful-fs@4.2.11: {} @@ -448,7 +462,7 @@ snapshots: dependencies: function-bind: 1.1.2 - is-core-module@2.13.1: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -472,12 +486,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -485,7 +499,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 16.18.96 + '@types/node': 18.19.50 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -493,18 +507,18 @@ snapshots: js-tokens@4.0.0: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 module-details-from-path@1.0.3: {} - ms@2.1.2: {} + ms@2.1.3: {} path-parse@1.0.7: {} - picocolors@1.0.0: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -517,12 +531,14 @@ snapshots: prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 react-is@18.3.1: {} require-in-the-middle@7.3.0: dependencies: - debug: 4.3.4 + debug: 4.3.7 module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: @@ -530,7 +546,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -553,3 +569,5 @@ snapshots: to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/runtimes/data-proxy-custom-output/package.json b/packages/client/tests/e2e/runtimes/data-proxy-custom-output/package.json index 497206036f8b..9359205119a5 100644 --- a/packages/client/tests/e2e/runtimes/data-proxy-custom-output/package.json +++ b/packages/client/tests/e2e/runtimes/data-proxy-custom-output/package.json @@ -7,8 +7,8 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", - "prisma": "/tmp/prisma-0.0.0.tgz", - "expect-type": "0.19.0" + "@types/node": "18.19.50", + "expect-type": "0.19.0", + "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/runtimes/data-proxy-custom-output/pnpm-lock.yaml b/packages/client/tests/e2e/runtimes/data-proxy-custom-output/pnpm-lock.yaml new file mode 100644 index 000000000000..e36516437396 --- /dev/null +++ b/packages/client/tests/e2e/runtimes/data-proxy-custom-output/pnpm-lock.yaml @@ -0,0 +1,108 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + +devDependencies: + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + expect-type: + specifier: 0.19.0 + version: 0.19.0 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /expect-type@0.19.0: + resolution: {integrity: sha512-piv9wz3IrAG4Wnk2A+n2VRCHieAyOSxrRLU872Xo6nyn39kYXKDALk4OcqnvLRnFvkz659CnWC8MWZLuuQnoqg==} + engines: {node: '>=12.0.0'} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/schema-folder-sqlite/_steps.ts b/packages/client/tests/e2e/schema-folder-sqlite/_steps.ts new file mode 100644 index 000000000000..325d0c78a408 --- /dev/null +++ b/packages/client/tests/e2e/schema-folder-sqlite/_steps.ts @@ -0,0 +1,17 @@ +import { $ } from 'zx' + +import { executeSteps } from '../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm prisma db push --force-reset` + }, + test: async () => { + await $`ts-node src/index.ts` + }, + finish: async () => { + await $`echo "done"` + }, + // keep: true, // keep docker open to debug it +}) diff --git a/packages/client/tests/e2e/ts-version/4.9/package.json b/packages/client/tests/e2e/schema-folder-sqlite/package.json similarity index 69% rename from packages/client/tests/e2e/ts-version/4.9/package.json rename to packages/client/tests/e2e/schema-folder-sqlite/package.json index a5a11a888c96..709def0675fa 100644 --- a/packages/client/tests/e2e/ts-version/4.9/package.json +++ b/packages/client/tests/e2e/schema-folder-sqlite/package.json @@ -8,8 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", - "prisma": "/tmp/prisma-0.0.0.tgz", - "typescript": "4.9.5" + "@types/node": "18.19.50", + "prisma": "/tmp/prisma-0.0.0.tgz" } } diff --git a/packages/client/tests/e2e/schema-folder-sqlite/pnpm-lock.yaml b/packages/client/tests/e2e/schema-folder-sqlite/pnpm-lock.yaml new file mode 100644 index 000000000000..3d6871f18ec2 --- /dev/null +++ b/packages/client/tests/e2e/schema-folder-sqlite/pnpm-lock.yaml @@ -0,0 +1,493 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + +packages: + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + +snapshots: + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: + prisma: file:../../tmp/prisma-0.0.0.tgz + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 + '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + dependencies: + '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/schema-folder-sqlite/prisma/schema/schema.prisma b/packages/client/tests/e2e/schema-folder-sqlite/prisma/schema/schema.prisma new file mode 100644 index 000000000000..0c4a8acaac92 --- /dev/null +++ b/packages/client/tests/e2e/schema-folder-sqlite/prisma/schema/schema.prisma @@ -0,0 +1,18 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["prismaSchemaFolder"] +} + +datasource db { + provider = "sqlite" + url = "file:./test.db" +} + +model User { + id Int @id @default(autoincrement()) + email String @unique +} + diff --git a/packages/client/tests/e2e/schema-folder-sqlite/readme.md b/packages/client/tests/e2e/schema-folder-sqlite/readme.md new file mode 100644 index 000000000000..cec646d23add --- /dev/null +++ b/packages/client/tests/e2e/schema-folder-sqlite/readme.md @@ -0,0 +1,3 @@ +# Readme + +Tests that relative sqlite paths are correctly resolved when "prismaSchemaFolder" preview feature is used. diff --git a/packages/client/tests/e2e/schema-folder-sqlite/src/index.ts b/packages/client/tests/e2e/schema-folder-sqlite/src/index.ts new file mode 100644 index 000000000000..c939a021bf93 --- /dev/null +++ b/packages/client/tests/e2e/schema-folder-sqlite/src/index.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from '@prisma/client' + +async function main() { + const prisma = new PrismaClient() + + const users = await prisma.user.findMany({}) + + console.log(users) +} + +void main() diff --git a/packages/client/tests/e2e/schema-folder-sqlite/tsconfig.json b/packages/client/tests/e2e/schema-folder-sqlite/tsconfig.json new file mode 100644 index 000000000000..1d0b21415338 --- /dev/null +++ b/packages/client/tests/e2e/schema-folder-sqlite/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/schema-not-found-sst-electron/package.json b/packages/client/tests/e2e/schema-not-found-sst-electron/package.json index db0a05384cfa..a9f5dbe0d425 100644 --- a/packages/client/tests/e2e/schema-not-found-sst-electron/package.json +++ b/packages/client/tests/e2e/schema-not-found-sst-electron/package.json @@ -7,7 +7,7 @@ "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" }, "devDependencies": { - "@types/node": "16.18.98", + "@types/node": "18.19.50", "esbuild": "latest", "prisma": "/tmp/prisma-0.0.0.tgz" } diff --git a/packages/client/tests/e2e/schema-not-found-sst-electron/pnpm-lock.yaml b/packages/client/tests/e2e/schema-not-found-sst-electron/pnpm-lock.yaml index 4d03789616ba..7fffbfb4ba9b 100644 --- a/packages/client/tests/e2e/schema-not-found-sst-electron/pnpm-lock.yaml +++ b/packages/client/tests/e2e/schema-not-found-sst-electron/pnpm-lock.yaml @@ -13,159 +13,165 @@ importers: version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) devDependencies: '@types/node': - specifier: 16.18.96 - version: 16.18.96 + specifier: 18.19.50 + version: 18.19.50 esbuild: specifier: latest - version: 0.20.2 + version: 0.24.0 prisma: specifier: /tmp/prisma-0.0.0.tgz version: file:../../tmp/prisma-0.0.0.tgz packages: - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} cpu: [x64] os: [win32] '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': - resolution: {integrity: sha512-vLKTdk1kRl9NACrIgAD7seqjv5a1UObFrE7EmjDm8YpWH3Sahd8tJVPjG40AjQvOkYgdvFUNRd9GElEqfHH2mg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} peerDependencies: prisma: '*' peerDependenciesMeta: @@ -173,107 +179,118 @@ packages: optional: true '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': - resolution: {integrity: sha512-AVSFv6ryJcx3/3bMSICWZ5p068XJL8aze+BKTi6D3dka2OnCkt6o3BGbJeMMAEAF7n1/Q6VI17jVJmi5PAxRLw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} version: 0.0.0 - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': - resolution: {integrity: sha512-jAC0oYCLk+LD4clVb+c4uAaqn9IEU3X+W7nEYd7cUYJtNdZWrN5eVtzu6u+iafVrXte4mZWqwSlcKOJYY0G8ew==} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': - resolution: {integrity: sha512-vVTNSitDp/YLauerHY69WADMHRxWnEmLRhvTotrF/JOPGKP2SELWFhQJeeb4cDcUZ6XA7J1x/JLUO5xZcmF77w==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} version: 0.0.0 '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': - resolution: {integrity: sha512-WIdTv8UkDsXT+FT4go6tFRdeyYW20SyrfThtw36fP661JYQiB0yXO5hlS6hywIi1oxO7SXku/7loc1xGu97CQg==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} version: 0.0.0 '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': - resolution: {integrity: sha512-lgnOvloYNHrhmrVuivOe4seMLSHC0VlXCVAAf/Y39T/bJ6/Ofvaibi0XnVgS9P3RPhsAebZWkn0guN86c63Ltg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} version: 0.0.0 - '@types/node@16.18.96': - resolution: {integrity: sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==} + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} hasBin: true + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + prisma@file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-zs+h1dXBGiy48tmYiyo/6ZuVRmumUCKk/8nLKxT9cIHtvvv7gtQHclDckDSKbUtOMzR1xLgEQvcjJCdFaU+qcQ==, tarball: file:../../tmp/prisma-0.0.0.tgz} + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} version: 0.0.0 - engines: {node: '>=16.13'} + engines: {node: '>=18.18'} hasBin: true + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + snapshots: - '@esbuild/aix-ppc64@0.20.2': + '@esbuild/aix-ppc64@0.24.0': optional: true - '@esbuild/android-arm64@0.20.2': + '@esbuild/android-arm64@0.24.0': optional: true - '@esbuild/android-arm@0.20.2': + '@esbuild/android-arm@0.24.0': optional: true - '@esbuild/android-x64@0.20.2': + '@esbuild/android-x64@0.24.0': optional: true - '@esbuild/darwin-arm64@0.20.2': + '@esbuild/darwin-arm64@0.24.0': optional: true - '@esbuild/darwin-x64@0.20.2': + '@esbuild/darwin-x64@0.24.0': optional: true - '@esbuild/freebsd-arm64@0.20.2': + '@esbuild/freebsd-arm64@0.24.0': optional: true - '@esbuild/freebsd-x64@0.20.2': + '@esbuild/freebsd-x64@0.24.0': optional: true - '@esbuild/linux-arm64@0.20.2': + '@esbuild/linux-arm64@0.24.0': optional: true - '@esbuild/linux-arm@0.20.2': + '@esbuild/linux-arm@0.24.0': optional: true - '@esbuild/linux-ia32@0.20.2': + '@esbuild/linux-ia32@0.24.0': optional: true - '@esbuild/linux-loong64@0.20.2': + '@esbuild/linux-loong64@0.24.0': optional: true - '@esbuild/linux-mips64el@0.20.2': + '@esbuild/linux-mips64el@0.24.0': optional: true - '@esbuild/linux-ppc64@0.20.2': + '@esbuild/linux-ppc64@0.24.0': optional: true - '@esbuild/linux-riscv64@0.20.2': + '@esbuild/linux-riscv64@0.24.0': optional: true - '@esbuild/linux-s390x@0.20.2': + '@esbuild/linux-s390x@0.24.0': optional: true - '@esbuild/linux-x64@0.20.2': + '@esbuild/linux-x64@0.24.0': optional: true - '@esbuild/netbsd-x64@0.20.2': + '@esbuild/netbsd-x64@0.24.0': optional: true - '@esbuild/openbsd-x64@0.20.2': + '@esbuild/openbsd-arm64@0.24.0': optional: true - '@esbuild/sunos-x64@0.20.2': + '@esbuild/openbsd-x64@0.24.0': optional: true - '@esbuild/win32-arm64@0.20.2': + '@esbuild/sunos-x64@0.24.0': optional: true - '@esbuild/win32-ia32@0.20.2': + '@esbuild/win32-arm64@0.24.0': optional: true - '@esbuild/win32-x64@0.20.2': + '@esbuild/win32-ia32@0.24.0': + optional: true + + '@esbuild/win32-x64@0.24.0': optional: true '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': @@ -282,53 +299,63 @@ snapshots: '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - '@prisma/engines-version@5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d': {} + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.14.0-12.54465718776ea99c622bd1c060a5fa445952886d + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@types/node@16.18.96': {} + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 - esbuild@0.20.2: + esbuild@0.24.0: optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 + + fsevents@2.3.3: + optional: true prisma@file:../../tmp/prisma-0.0.0.tgz: dependencies: '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + undici-types@5.26.5: {} diff --git a/packages/client/tests/e2e/ts-version/4.7/README.md b/packages/client/tests/e2e/ts-version/4.7/README.md deleted file mode 100644 index f1b6d6e0b3fd..000000000000 --- a/packages/client/tests/e2e/ts-version/4.7/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Readme - -This is testing TypeScript version 4.7.x diff --git a/packages/client/tests/e2e/ts-version/4.8/README.md b/packages/client/tests/e2e/ts-version/4.8/README.md deleted file mode 100644 index 0dfaf90d44fe..000000000000 --- a/packages/client/tests/e2e/ts-version/4.8/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Readme - -This is testing TypeScript version 4.8.x diff --git a/packages/client/tests/e2e/ts-version/4.9/README.md b/packages/client/tests/e2e/ts-version/4.9/README.md deleted file mode 100644 index a1cf76f0349d..000000000000 --- a/packages/client/tests/e2e/ts-version/4.9/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Readme - -This is testing TypeScript version 4.9.x diff --git a/packages/client/tests/e2e/ts-version/4.9/prisma/schema.prisma b/packages/client/tests/e2e/ts-version/4.9/prisma/schema.prisma deleted file mode 100644 index 33ab340c83c6..000000000000 --- a/packages/client/tests/e2e/ts-version/4.9/prisma/schema.prisma +++ /dev/null @@ -1,35 +0,0 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -generator client { - provider = "prisma-client-js" -} - -datasource db { - provider = "sqlite" - url = "file:./db" -} - -model User { - id Int @id @default(autoincrement()) - email String @unique - name String? - posts Post[] - profile Profile? -} - -model Post { - id Int @id @default(autoincrement()) - title String - content String? - published Boolean @default(false) - author User @relation(fields: [authorId], references: [id]) - authorId Int -} - -model Profile { - id Int @id @default(autoincrement()) - bio String? - user User @relation(fields: [userId], references: [id]) - userId Int @unique -} diff --git a/packages/client/tests/e2e/ts-version/4.9/src/index.ts b/packages/client/tests/e2e/ts-version/4.9/src/index.ts deleted file mode 100644 index 687542514f0d..000000000000 --- a/packages/client/tests/e2e/ts-version/4.9/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -import '@prisma/client' diff --git a/packages/client/tests/e2e/ts-version/4.9/tsconfig.json b/packages/client/tests/e2e/ts-version/4.9/tsconfig.json deleted file mode 100644 index e3a952c20df1..000000000000 --- a/packages/client/tests/e2e/ts-version/4.9/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "exclude": ["_steps.ts"] -} diff --git a/packages/client/tests/e2e/ts-version/5.0/README.md b/packages/client/tests/e2e/ts-version/5.0/README.md deleted file mode 100644 index 70fa27bb1d02..000000000000 --- a/packages/client/tests/e2e/ts-version/5.0/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Readme - -This is testing TypeScript version 5.0.x diff --git a/packages/client/tests/e2e/ts-version/5.0/prisma/schema.prisma b/packages/client/tests/e2e/ts-version/5.0/prisma/schema.prisma deleted file mode 100644 index 33ab340c83c6..000000000000 --- a/packages/client/tests/e2e/ts-version/5.0/prisma/schema.prisma +++ /dev/null @@ -1,35 +0,0 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -generator client { - provider = "prisma-client-js" -} - -datasource db { - provider = "sqlite" - url = "file:./db" -} - -model User { - id Int @id @default(autoincrement()) - email String @unique - name String? - posts Post[] - profile Profile? -} - -model Post { - id Int @id @default(autoincrement()) - title String - content String? - published Boolean @default(false) - author User @relation(fields: [authorId], references: [id]) - authorId Int -} - -model Profile { - id Int @id @default(autoincrement()) - bio String? - user User @relation(fields: [userId], references: [id]) - userId Int @unique -} diff --git a/packages/client/tests/e2e/ts-version/5.0/src/index.ts b/packages/client/tests/e2e/ts-version/5.0/src/index.ts deleted file mode 100644 index 687542514f0d..000000000000 --- a/packages/client/tests/e2e/ts-version/5.0/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -import '@prisma/client' diff --git a/packages/client/tests/e2e/ts-version/5.0/tsconfig.json b/packages/client/tests/e2e/ts-version/5.0/tsconfig.json deleted file mode 100644 index e3a952c20df1..000000000000 --- a/packages/client/tests/e2e/ts-version/5.0/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "exclude": ["_steps.ts"] -} diff --git a/packages/client/tests/e2e/ts-version/5.1/package.json b/packages/client/tests/e2e/ts-version/5.1/package.json index 45c876e2e289..0cc526d5edea 100644 --- a/packages/client/tests/e2e/ts-version/5.1/package.json +++ b/packages/client/tests/e2e/ts-version/5.1/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.11.9", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "5.1.6" } diff --git a/packages/client/tests/e2e/ts-version/5.2/package.json b/packages/client/tests/e2e/ts-version/5.2/package.json index 1b7d45a71698..e7a5fb2a8b57 100644 --- a/packages/client/tests/e2e/ts-version/5.2/package.json +++ b/packages/client/tests/e2e/ts-version/5.2/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.11.9", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "5.2.2" } diff --git a/packages/client/tests/e2e/ts-version/5.3/package.json b/packages/client/tests/e2e/ts-version/5.3/package.json index 82f330c4cf62..4cbc7f74bb7f 100644 --- a/packages/client/tests/e2e/ts-version/5.3/package.json +++ b/packages/client/tests/e2e/ts-version/5.3/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.11.9", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "5.3.3" } diff --git a/packages/client/tests/e2e/ts-version/5.4/package.json b/packages/client/tests/e2e/ts-version/5.4/package.json index 5c1e31477ab6..def21e114077 100644 --- a/packages/client/tests/e2e/ts-version/5.4/package.json +++ b/packages/client/tests/e2e/ts-version/5.4/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.11.9", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "5.4.5" } diff --git a/packages/client/tests/e2e/ts-version/5.5/README.md b/packages/client/tests/e2e/ts-version/5.5/README.md new file mode 100644 index 000000000000..06cbf03472d9 --- /dev/null +++ b/packages/client/tests/e2e/ts-version/5.5/README.md @@ -0,0 +1,3 @@ +# Readme + +This is testing TypeScript version 5.4.x diff --git a/packages/client/tests/e2e/ts-version/4.7/_steps.ts b/packages/client/tests/e2e/ts-version/5.5/_steps.ts similarity index 100% rename from packages/client/tests/e2e/ts-version/4.7/_steps.ts rename to packages/client/tests/e2e/ts-version/5.5/_steps.ts diff --git a/packages/client/tests/e2e/ts-version/4.7/package.json b/packages/client/tests/e2e/ts-version/5.5/package.json similarity index 81% rename from packages/client/tests/e2e/ts-version/4.7/package.json rename to packages/client/tests/e2e/ts-version/5.5/package.json index 926d54f5b923..b42007b35eeb 100644 --- a/packages/client/tests/e2e/ts-version/4.7/package.json +++ b/packages/client/tests/e2e/ts-version/5.5/package.json @@ -8,8 +8,8 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.11.9", "prisma": "/tmp/prisma-0.0.0.tgz", - "typescript": "4.7.4" + "typescript": "5.5.4" } } diff --git a/packages/client/tests/e2e/ts-version/4.7/prisma/schema.prisma b/packages/client/tests/e2e/ts-version/5.5/prisma/schema.prisma similarity index 100% rename from packages/client/tests/e2e/ts-version/4.7/prisma/schema.prisma rename to packages/client/tests/e2e/ts-version/5.5/prisma/schema.prisma diff --git a/packages/client/tests/e2e/ts-version/4.7/src/index.ts b/packages/client/tests/e2e/ts-version/5.5/src/index.ts similarity index 100% rename from packages/client/tests/e2e/ts-version/4.7/src/index.ts rename to packages/client/tests/e2e/ts-version/5.5/src/index.ts diff --git a/packages/client/tests/e2e/ts-version/4.7/tsconfig.json b/packages/client/tests/e2e/ts-version/5.5/tsconfig.json similarity index 100% rename from packages/client/tests/e2e/ts-version/4.7/tsconfig.json rename to packages/client/tests/e2e/ts-version/5.5/tsconfig.json diff --git a/packages/client/tests/e2e/ts-version/5.6/README.md b/packages/client/tests/e2e/ts-version/5.6/README.md new file mode 100644 index 000000000000..06cbf03472d9 --- /dev/null +++ b/packages/client/tests/e2e/ts-version/5.6/README.md @@ -0,0 +1,3 @@ +# Readme + +This is testing TypeScript version 5.4.x diff --git a/packages/client/tests/e2e/ts-version/4.8/_steps.ts b/packages/client/tests/e2e/ts-version/5.6/_steps.ts similarity index 100% rename from packages/client/tests/e2e/ts-version/4.8/_steps.ts rename to packages/client/tests/e2e/ts-version/5.6/_steps.ts diff --git a/packages/client/tests/e2e/ts-version/4.8/package.json b/packages/client/tests/e2e/ts-version/5.6/package.json similarity index 81% rename from packages/client/tests/e2e/ts-version/4.8/package.json rename to packages/client/tests/e2e/ts-version/5.6/package.json index 6277e29f2af3..f269f5f4b3b4 100644 --- a/packages/client/tests/e2e/ts-version/4.8/package.json +++ b/packages/client/tests/e2e/ts-version/5.6/package.json @@ -8,8 +8,8 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz", - "typescript": "4.8.4" + "typescript": "5.6.3" } } diff --git a/packages/client/tests/e2e/ts-version/4.8/prisma/schema.prisma b/packages/client/tests/e2e/ts-version/5.6/prisma/schema.prisma similarity index 100% rename from packages/client/tests/e2e/ts-version/4.8/prisma/schema.prisma rename to packages/client/tests/e2e/ts-version/5.6/prisma/schema.prisma diff --git a/packages/client/tests/e2e/ts-version/4.8/src/index.ts b/packages/client/tests/e2e/ts-version/5.6/src/index.ts similarity index 100% rename from packages/client/tests/e2e/ts-version/4.8/src/index.ts rename to packages/client/tests/e2e/ts-version/5.6/src/index.ts diff --git a/packages/client/tests/e2e/ts-version/4.8/tsconfig.json b/packages/client/tests/e2e/ts-version/5.6/tsconfig.json similarity index 100% rename from packages/client/tests/e2e/ts-version/4.8/tsconfig.json rename to packages/client/tests/e2e/ts-version/5.6/tsconfig.json diff --git a/packages/client/tests/e2e/ts-version/beta/package.json b/packages/client/tests/e2e/ts-version/beta/package.json index 9bad3a292152..0ff37a55e47d 100644 --- a/packages/client/tests/e2e/ts-version/beta/package.json +++ b/packages/client/tests/e2e/ts-version/beta/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.41", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "beta" } diff --git a/packages/client/tests/e2e/ts-version/latest/package.json b/packages/client/tests/e2e/ts-version/latest/package.json index a4dd31fe27ca..c862ba312f62 100644 --- a/packages/client/tests/e2e/ts-version/latest/package.json +++ b/packages/client/tests/e2e/ts-version/latest/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "latest" } diff --git a/packages/client/tests/e2e/ts-version/next/package.json b/packages/client/tests/e2e/ts-version/next/package.json index dff18db0f7e6..cdcaad0cee80 100644 --- a/packages/client/tests/e2e/ts-version/next/package.json +++ b/packages/client/tests/e2e/ts-version/next/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.41", "prisma": "/tmp/prisma-0.0.0.tgz", "typescript": "next" } diff --git a/packages/client/tests/e2e/tsconfig.base.json b/packages/client/tests/e2e/tsconfig.base.json index 7c3848d4a741..8a7444238c7c 100644 --- a/packages/client/tests/e2e/tsconfig.base.json +++ b/packages/client/tests/e2e/tsconfig.base.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2018", + "target": "es2021", "module": "commonjs", "moduleResolution": "node", "declaration": true, diff --git a/packages/client/tests/e2e/typed-sql/_steps.ts b/packages/client/tests/e2e/typed-sql/_steps.ts new file mode 100644 index 000000000000..cba2164c181c --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/_steps.ts @@ -0,0 +1,21 @@ +import { $ } from 'zx' + +import { executeSteps } from '../_utils/executeSteps' + +void executeSteps({ + setup: async () => { + await $`pnpm install` + await $`pnpm exec prisma db push --force-reset --skip-generate` + await $`pnpm prisma generate --sql` + }, + test: async () => { + await $`ts-node src/index.ts` + await $`node src/esm-import.mjs` + await $`pnpm exec tsc --noEmit` + await $`pnpm exec jest` + }, + finish: async () => { + await $`echo "done"` + }, + // keep: true, // keep docker open to debug it +}) diff --git a/packages/client/tests/e2e/typed-sql/docker-compose.yaml b/packages/client/tests/e2e/typed-sql/docker-compose.yaml new file mode 100644 index 000000000000..9207bbac0dde --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/docker-compose.yaml @@ -0,0 +1,19 @@ +services: + test-e2e: + environment: + - POSTGRES_URL=postgres://prisma:prisma@postgres:5432/tests + depends_on: + postgres: + condition: service_healthy + + postgres: + image: postgres:16 + environment: + - POSTGRES_DB=tests + - POSTGRES_USER=prisma + - POSTGRES_PASSWORD=prisma + healthcheck: + test: ['CMD', 'pg_isready', '-U', 'prisma', '-d', 'tests'] + interval: 5s + timeout: 2s + retries: 20 diff --git a/packages/client/tests/e2e/typed-sql/package.json b/packages/client/tests/e2e/typed-sql/package.json new file mode 100644 index 000000000000..709def0675fa --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/package.json @@ -0,0 +1,14 @@ +{ + "private": true, + "version": "0.0.0", + "main": "index.js", + "scripts": {}, + "dependencies": { + "@prisma/client": "/tmp/prisma-client-0.0.0.tgz" + }, + "devDependencies": { + "@types/jest": "29.5.12", + "@types/node": "18.19.50", + "prisma": "/tmp/prisma-0.0.0.tgz" + } +} diff --git a/packages/client/tests/e2e/typed-sql/pnpm-lock.yaml b/packages/client/tests/e2e/typed-sql/pnpm-lock.yaml new file mode 100644 index 000000000000..a951d495df79 --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/pnpm-lock.yaml @@ -0,0 +1,433 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) + +devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../../../../../../../../tmp/prisma-0.0.0.tgz + +packages: + + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + dev: true + + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + dev: true + + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.50 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + dev: true + + /@prisma/engines-version@5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7: + resolution: {integrity: sha512-eYEw5NURBuh5Lcvm1+JnxKVKwgQxhAceA9kTVtl5mfd5R6ajfaMYY3bKOhhMmg0GQqV3QR4W3sycj4E4/f7NWw==} + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + dev: true + + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + dev: true + + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true + + /@types/yargs@17.0.33: + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + dev: true + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + dev: true + + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + file:../../../../../../../../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-wgRvnqpskt6xfTKtOVYCbuWt+7hCGwn6P4CcbSFW5d4ZWOgE7vkJsZvPD2JHuwns1oFu0MPliUIv/8W3Wuqvjg==, tarball: file:../../../../../../../../../tmp/prisma-0.0.0.tgz} + name: prisma + version: 0.0.0 + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): + resolution: {integrity: sha512-jhnEYKqM6iJYVaiZIPbGOtT3dgw3AbOla8iptWeJvhU8iI49In42hohBwg3ytQqXdjQUGGp4D5oQymG1QKRTfA==, tarball: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz} + id: file:../../../../../../../../../tmp/prisma-client-0.0.0.tgz + name: '@prisma/client' + version: 0.0.0 + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + prisma: file:../../../../../../../../../tmp/prisma-0.0.0.tgz + dev: false + + file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz: + resolution: {integrity: sha512-wwja1z9F/AlHQnxNbyWP2rCo1E5tOwJEC97Dtj3G+/8ssgr8jyHrdi9lCexo81vApcmPeoDhizCIKe47z118dQ==, tarball: file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz} + name: '@prisma/debug' + version: 0.0.0 + + file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz: + resolution: {integrity: sha512-bEAqhP3whqzdWhWrllXyvo5aPah1gTqUcJxS0F72eif7YlhwMk+lLOgShDDVProSn5S/R7/RnIvwUQGNmhnUYA==, tarball: file:../../../../../../../../../tmp/prisma-engines-0.0.0.tgz} + name: '@prisma/engines' + version: 0.0.0 + requiresBuild: true + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/fetch-engine': file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz: + resolution: {integrity: sha512-p+9QDp5/ZyfgPpIy54LLn4UXKqusk9ftwPVLo6y+nNFGDAXNB+7oc2UyQ82f+q3Cda9Bp/KDhrDu10KDC5cKdg==, tarball: file:../../../../../../../../../tmp/prisma-fetch-engine-0.0.0.tgz} + name: '@prisma/fetch-engine' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz + '@prisma/engines-version': 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c2c7 + '@prisma/get-platform': file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz + + file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz: + resolution: {integrity: sha512-s1xjGocOenORqrtWbwjU0g5SKOCBWD8MseL7qXSUXYAg/gfA7tE38qW/T8QnTkRklH3qluJGaF//kMKRZ4M+Tw==, tarball: file:../../../../../../../../../tmp/prisma-get-platform-0.0.0.tgz} + name: '@prisma/get-platform' + version: 0.0.0 + dependencies: + '@prisma/debug': file:../../../../../../../../../tmp/prisma-debug-0.0.0.tgz diff --git a/packages/client/tests/e2e/typed-sql/prisma/schema.prisma b/packages/client/tests/e2e/typed-sql/prisma/schema.prisma new file mode 100644 index 000000000000..b49fbadac02a --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/prisma/schema.prisma @@ -0,0 +1,17 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] +} + +datasource db { + provider = "postgresql" + url = env("POSTGRES_URL") +} + +model User { + id Int @id @default(autoincrement()) + email String @unique +} diff --git a/packages/client/tests/e2e/typed-sql/prisma/sql/getEmail.sql b/packages/client/tests/e2e/typed-sql/prisma/sql/getEmail.sql new file mode 100644 index 000000000000..00b3603b8878 --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/prisma/sql/getEmail.sql @@ -0,0 +1 @@ +SELECT "email" FROM "public"."User" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/e2e/typed-sql/readme.md b/packages/client/tests/e2e/typed-sql/readme.md new file mode 100644 index 000000000000..296970ea377b --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/readme.md @@ -0,0 +1,3 @@ +# Readme + +Test for typed-sql default import diff --git a/packages/client/tests/e2e/typed-sql/src/esm-import.mjs b/packages/client/tests/e2e/typed-sql/src/esm-import.mjs new file mode 100644 index 000000000000..0901b774fdf6 --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/src/esm-import.mjs @@ -0,0 +1,12 @@ +import { PrismaClient } from '@prisma/client' +import { getEmail } from '@prisma/client/sql' + +const prisma = new PrismaClient() + +const { id } = await prisma.user.create({ + data: { email: 'john-esm@doe.io' }, +}) + +const userRaw = await prisma.$queryRawTyped(getEmail(id)) + +console.log(userRaw) diff --git a/packages/client/tests/e2e/typed-sql/src/index.ts b/packages/client/tests/e2e/typed-sql/src/index.ts new file mode 100644 index 000000000000..a890fce592ea --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/src/index.ts @@ -0,0 +1,16 @@ +import { PrismaClient } from '@prisma/client' +import { getEmail } from '@prisma/client/sql' + +async function main() { + const prisma = new PrismaClient() + + const { id } = await prisma.user.create({ + data: { email: 'john@doe.io' }, + }) + + const userRaw = await prisma.$queryRawTyped(getEmail(id)) + + console.log(userRaw) +} + +void main() diff --git a/packages/client/tests/e2e/typed-sql/tests/main.ts b/packages/client/tests/e2e/typed-sql/tests/main.ts new file mode 100644 index 000000000000..7ece96b8257a --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/tests/main.ts @@ -0,0 +1,22 @@ +import { PrismaClient } from '@prisma/client' +import { getEmail } from '@prisma/client/sql' + +const prisma = new PrismaClient() + +beforeAll(async () => { + await prisma.user.deleteMany() + await prisma.user.create({ data: { id: 123, email: 'user@example.com' } }) +}) + +test('basic functionality', async () => { + const result = await prisma.$queryRawTyped(getEmail(123)) + expect(result).toMatchInlineSnapshot(` +[ + { + "email": "user@example.com", + }, +] +`) +}) + +export {} diff --git a/packages/client/tests/e2e/typed-sql/tsconfig.json b/packages/client/tests/e2e/typed-sql/tsconfig.json new file mode 100644 index 000000000000..1d0b21415338 --- /dev/null +++ b/packages/client/tests/e2e/typed-sql/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["_steps.ts"] +} diff --git a/packages/client/tests/e2e/unsupported-browser-error/package.json b/packages/client/tests/e2e/unsupported-browser-error/package.json index 37fb7dac0e97..d1ec5f2ea311 100644 --- a/packages/client/tests/e2e/unsupported-browser-error/package.json +++ b/packages/client/tests/e2e/unsupported-browser-error/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "esbuild": "0.21.4", "prisma": "/tmp/prisma-0.0.0.tgz", "wrangler": "3.59.0" diff --git a/packages/client/tests/e2e/unsupported-browser-error/pnpm-lock.yaml b/packages/client/tests/e2e/unsupported-browser-error/pnpm-lock.yaml index a4aec1999f2f..e587e0660d92 100644 --- a/packages/client/tests/e2e/unsupported-browser-error/pnpm-lock.yaml +++ b/packages/client/tests/e2e/unsupported-browser-error/pnpm-lock.yaml @@ -1,1290 +1,817 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.12 - version: 29.5.12 - '@types/node': - specifier: 16.18.82 - version: 16.18.82 - esbuild: - specifier: 0.20.0 - version: 0.20.0 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz - wrangler: - specifier: 3.28.2 - version: 3.28.2 +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + esbuild: + specifier: 0.21.4 + version: 0.21.4 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + wrangler: + specifier: 3.59.0 + version: 3.59.0 packages: - /@babel/code-frame@7.22.10: + '@babel/code-frame@7.22.10': resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - /@babel/helper-validator-identifier@7.22.5: + '@babel/helper-validator-identifier@7.22.5': resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.10: + '@babel/highlight@7.22.10': resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@cloudflare/kv-asset-handler@0.3.1: - resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} - dependencies: - mime: 3.0.0 - dev: true + '@cloudflare/kv-asset-handler@0.3.2': + resolution: {integrity: sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==} + engines: {node: '>=16.13'} - /@cloudflare/workerd-darwin-64@1.20240129.0: - resolution: {integrity: sha512-DfVVB5IsQLVcWPJwV019vY3nEtU88c2Qu2ST5SQxqcGivZ52imagLRK0RHCIP8PK4piSiq90qUC6ybppUsw8eg==} + '@cloudflare/workerd-darwin-64@1.20240524.0': + resolution: {integrity: sha512-ATaXjefbTsrv4mpn4Fdua114RRDXcX5Ky+Mv+f4JTUllgalmqC4CYMN4jxRz9IpJU/fNMN8IEfvUyuJBAcl9Iw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-darwin-arm64@1.20240129.0: - resolution: {integrity: sha512-t0q8ABkmumG1zRM/MZ/vIv/Ysx0vTAXnQAPy/JW5aeQi/tqrypXkO9/NhPc0jbF/g/hIPrWEqpDgEp3CB7Da7Q==} + '@cloudflare/workerd-darwin-arm64@1.20240524.0': + resolution: {integrity: sha512-wnbsZI4CS0QPCd+wnBHQ40C28A/2Qo4ESi1YhE2735G3UNcc876MWksZhsubd+XH0XPIra6eNFqyw6wRMpQOXA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-linux-64@1.20240129.0: - resolution: {integrity: sha512-sFV1uobHgDI+6CKBS/ZshQvOvajgwl6BtiYaH4PSFSpvXTmRx+A9bcug+6BnD+V4WgwxTiEO2iR97E1XuwDAVw==} + '@cloudflare/workerd-linux-64@1.20240524.0': + resolution: {integrity: sha512-E8mj+HPBryKwaJAiNsYzXtVjKCL0KvUBZbtxJxlWM4mLSQhT+uwGT3nydb/hFY59rZnQgZslw0oqEWht5TEYiQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-linux-arm64@1.20240129.0: - resolution: {integrity: sha512-O7q7htHaFRp8PgTqNJx1/fYc3+LnvAo6kWWB9a14C5OWak6AAZk42PNpKPx+DXTmGvI+8S1+futBGUeJ8NPDXg==} + '@cloudflare/workerd-linux-arm64@1.20240524.0': + resolution: {integrity: sha512-/Fr1W671t2triNCDCBWdStxngnbUfZunZ/2e4kaMLzJDJLYDtYdmvOUCBDzUD4ssqmIMbn9RCQQ0U+CLEoqBqw==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-windows-64@1.20240129.0: - resolution: {integrity: sha512-YqGno0XSqqqkDmNoGEX6M8kJlI2lEfWntbTPVtHaZlaXVR9sWfoD7TEno0NKC95cXFz+ioyFLbgbOdnfWwmVAA==} + '@cloudflare/workerd-windows-64@1.20240524.0': + resolution: {integrity: sha512-G+ThDEx57g9mAEKqhWnHaaJgpeGYtyhkmwM/BDpLqPks/rAY5YEfZbY4YL1pNk1kkcZDXGrwIsY8xe9Apf5JdA==} engines: {node: '>=16'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@cspotcode/source-map-support@0.8.1: + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19): + '@esbuild-plugins/node-globals-polyfill@0.2.3': resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} peerDependencies: esbuild: '*' - dependencies: - esbuild: 0.17.19 - dev: true - /@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19): + '@esbuild-plugins/node-modules-polyfill@0.2.2': resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} peerDependencies: esbuild: '*' - dependencies: - esbuild: 0.17.19 - escape-string-regexp: 4.0.0 - rollup-plugin-node-polyfills: 0.2.1 - dev: true - /@esbuild/aix-ppc64@0.20.0: - resolution: {integrity: sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==} + '@esbuild/aix-ppc64@0.21.4': + resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.17.19: + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.20.0: - resolution: {integrity: sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==} + '@esbuild/android-arm64@0.21.4': + resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.17.19: + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.20.0: - resolution: {integrity: sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==} + '@esbuild/android-arm@0.21.4': + resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.17.19: + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.20.0: - resolution: {integrity: sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==} + '@esbuild/android-x64@0.21.4': + resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.17.19: + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.20.0: - resolution: {integrity: sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==} + '@esbuild/darwin-arm64@0.21.4': + resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.17.19: + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.20.0: - resolution: {integrity: sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==} + '@esbuild/darwin-x64@0.21.4': + resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.17.19: + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.20.0: - resolution: {integrity: sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==} + '@esbuild/freebsd-arm64@0.21.4': + resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.17.19: + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.20.0: - resolution: {integrity: sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==} + '@esbuild/freebsd-x64@0.21.4': + resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.17.19: + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.20.0: - resolution: {integrity: sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==} + '@esbuild/linux-arm64@0.21.4': + resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.17.19: + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.20.0: - resolution: {integrity: sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==} + '@esbuild/linux-arm@0.21.4': + resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.17.19: + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.20.0: - resolution: {integrity: sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==} + '@esbuild/linux-ia32@0.21.4': + resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.17.19: + '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.20.0: - resolution: {integrity: sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==} + '@esbuild/linux-loong64@0.21.4': + resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.17.19: + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.20.0: - resolution: {integrity: sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==} + '@esbuild/linux-mips64el@0.21.4': + resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.17.19: + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.20.0: - resolution: {integrity: sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==} + '@esbuild/linux-ppc64@0.21.4': + resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.17.19: + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.20.0: - resolution: {integrity: sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==} + '@esbuild/linux-riscv64@0.21.4': + resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.17.19: + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.20.0: - resolution: {integrity: sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==} + '@esbuild/linux-s390x@0.21.4': + resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.17.19: + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.20.0: - resolution: {integrity: sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==} + '@esbuild/linux-x64@0.21.4': + resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.17.19: + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.20.0: - resolution: {integrity: sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==} + '@esbuild/netbsd-x64@0.21.4': + resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.17.19: + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.20.0: - resolution: {integrity: sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==} + '@esbuild/openbsd-x64@0.21.4': + resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.17.19: + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.20.0: - resolution: {integrity: sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==} + '@esbuild/sunos-x64@0.21.4': + resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.17.19: + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.20.0: - resolution: {integrity: sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==} + '@esbuild/win32-arm64@0.21.4': + resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.17.19: + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.20.0: - resolution: {integrity: sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==} + '@esbuild/win32-ia32@0.21.4': + resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.17.19: + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.20.0: - resolution: {integrity: sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==} + '@esbuild/win32-x64@0.21.4': + resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@fastify/busboy@2.1.0: - resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - dev: true - /@jest/expect-utils@29.6.2: + '@jest/expect-utils@29.6.2': resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: + '@jest/schemas@29.6.0': resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.1: + '@jest/types@29.6.1': resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.82 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@jridgewell/resolve-uri@3.1.2: + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.9: + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@prisma/engines-version@5.11.0-4.09cb2c4b7f5ee2525bb7512bf48fc31167eebdf4: - resolution: {integrity: sha512-AJydi1u2OONTwnwp3w7fPPewNaAM7cleKBTswWhxZUamod5HL6TR6dxzTmTqLyxwefjvzESXup7oAmjwUaYNIw==} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.4: + '@types/istanbul-lib-coverage@2.0.4': resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true - /@types/istanbul-lib-report@3.0.0: + '@types/istanbul-lib-report@3.0.0': resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - /@types/istanbul-reports@3.0.1: + '@types/istanbul-reports@3.0.1': resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - /@types/jest@29.5.12: + '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 - dev: true - /@types/node@16.18.82: - resolution: {integrity: sha512-pcDZtkx9z8XYV+ius2P3Ot2VVrcYOfXffBQUBuiszrlUzKSmoDYqo+mV+IoL8iIiIjjtOMvNSmH1hwJ+Q+f96Q==} - dev: true + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - /@types/stack-utils@2.0.1: + '@types/stack-utils@2.0.1': resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - /@types/yargs-parser@21.0.0: + '@types/yargs-parser@21.0.0': resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - /@types/yargs@17.0.24: + '@types/yargs@17.0.24': resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true - dev: true - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /as-table@1.0.55: + as-table@1.0.55: resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} - dependencies: - printable-characters: 1.0.42 - dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: true - /blake3-wasm@2.1.5: + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - dev: true - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /capnp-ts@0.7.0: + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} - dependencies: - debug: 4.3.4 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /ci-info@3.8.0: + ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /cookie@0.5.0: + cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - dev: true - /data-uri-to-buffer@2.0.2: + data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - dev: true - /diff-sequences@29.4.3: + diff-sequences@29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /esbuild@0.17.19: + esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: true - /esbuild@0.20.0: - resolution: {integrity: sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==} + esbuild@0.21.4: + resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.0 - '@esbuild/android-arm': 0.20.0 - '@esbuild/android-arm64': 0.20.0 - '@esbuild/android-x64': 0.20.0 - '@esbuild/darwin-arm64': 0.20.0 - '@esbuild/darwin-x64': 0.20.0 - '@esbuild/freebsd-arm64': 0.20.0 - '@esbuild/freebsd-x64': 0.20.0 - '@esbuild/linux-arm': 0.20.0 - '@esbuild/linux-arm64': 0.20.0 - '@esbuild/linux-ia32': 0.20.0 - '@esbuild/linux-loong64': 0.20.0 - '@esbuild/linux-mips64el': 0.20.0 - '@esbuild/linux-ppc64': 0.20.0 - '@esbuild/linux-riscv64': 0.20.0 - '@esbuild/linux-s390x': 0.20.0 - '@esbuild/linux-x64': 0.20.0 - '@esbuild/netbsd-x64': 0.20.0 - '@esbuild/openbsd-x64': 0.20.0 - '@esbuild/sunos-x64': 0.20.0 - '@esbuild/win32-arm64': 0.20.0 - '@esbuild/win32-ia32': 0.20.0 - '@esbuild/win32-x64': 0.20.0 - dev: true - - /escape-string-regexp@1.0.5: + + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true - /estree-walker@0.6.1: + estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - /exit-hook@2.2.1: + exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} - dev: true - /expect@29.6.2: + expect@29.6.2: resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.82 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - dev: true - /fill-range@7.0.1: + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind@1.1.2: + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - /get-source@2.0.12: + get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} - dependencies: - data-uri-to-buffer: 2.0.2 - source-map: 0.6.1 - dev: true - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob-to-regexp@0.4.1: + glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - /is-binary-path@2.1.0: + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.6.2: + jest-diff@29.6.2: resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-get-type@29.4.3: + jest-get-type@29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.6.2: + jest-matcher-utils@29.6.2: resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-message-util@29.6.2: + jest-message-util@29.6.2: resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-util@29.6.2: + jest-util@29.6.2: resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.82 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /magic-string@0.25.9: + magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - /micromatch@4.0.5: + micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /mime@3.0.0: + mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true - dev: true - /miniflare@3.20240129.2: - resolution: {integrity: sha512-BPUg8HsPmWQlRFUeiQk274i8M9L0gOvzbkjryuTvCX+M53EwBpP0gM2wyrRr/HokQoJcxWGh3InBu6L8+0bbPw==} + miniflare@3.20240524.2: + resolution: {integrity: sha512-Js+8cB61KJG0z2HuQTPLT9S6FwTBuMZfjtml3azUarLYsCF91N+PhIkvNpbkwCXcfRvscdjJ0RlT6lBQYEuIwA==} engines: {node: '>=16.13'} hasBin: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - acorn: 8.10.0 - acorn-walk: 8.2.0 - capnp-ts: 0.7.0 - exit-hook: 2.2.1 - glob-to-regexp: 0.4.1 - stoppable: 1.1.0 - undici: 5.28.3 - workerd: 1.20240129.0 - ws: 8.13.0 - youch: 3.2.3 - zod: 3.22.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /mustache@4.2.0: + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true - dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true - /node-forge@1.3.1: + node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - dev: true - /normalize-path@3.0.0: + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true - /path-parse@1.0.7: + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: true + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - /picomatch@2.3.1: + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /pretty-format@29.6.2: + pretty-format@29.6.2: resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /printable-characters@1.0.42: + printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} - dev: true - /react-is@18.2.0: + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - /readdirp@3.6.0: + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /resolve.exports@2.0.2: + resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} - dev: true - /resolve@1.22.8: + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - /rollup-plugin-inject@3.0.2: + rollup-plugin-inject@3.0.2: resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. - dependencies: - estree-walker: 0.6.1 - magic-string: 0.25.9 - rollup-pluginutils: 2.8.2 - dev: true - /rollup-plugin-node-polyfills@0.2.1: + rollup-plugin-node-polyfills@0.2.1: resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} - dependencies: - rollup-plugin-inject: 3.0.2 - dev: true - /rollup-pluginutils@2.8.2: + rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - dependencies: - node-forge: 1.3.1 - dev: true - /slash@3.0.0: + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true - /source-map@0.6.1: + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true - /sourcemap-codec@1.4.8: + sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - /stack-utils@2.0.6: + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /stacktracey@2.1.8: + stacktracey@2.1.8: resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} - dependencies: - as-table: 1.0.55 - get-source: 2.0.12 - dev: true - /stoppable@1.1.0: + stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} - dev: true - /supports-color@5.5.0: + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - dependencies: - '@fastify/busboy': 2.1.0 - dev: true - /workerd@1.20240129.0: - resolution: {integrity: sha512-t4pnsmjjk/u+GdVDgH2M1AFmJaBUABshYK/vT/HNrAXsHSwN6VR8Yqw0JQ845OokO34VLkuUtYQYyxHHKpdtsw==} + workerd@1.20240524.0: + resolution: {integrity: sha512-LWLe5D8PVHBcqturmBbwgI71r7YPpIMYZoVEH6S4G35EqIJ55cb0n3FipoSyraoIfpcCxCFxX1K6WsRHbP3pFA==} engines: {node: '>=16'} hasBin: true - requiresBuild: true - optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240129.0 - '@cloudflare/workerd-darwin-arm64': 1.20240129.0 - '@cloudflare/workerd-linux-64': 1.20240129.0 - '@cloudflare/workerd-linux-arm64': 1.20240129.0 - '@cloudflare/workerd-windows-64': 1.20240129.0 - dev: true - - /wrangler@3.28.2: - resolution: {integrity: sha512-hlD4f2avBZuR1+qo9Um6D1prdWrSRtGTo9h6o/AKce+bHQEJWoJgJKHeLmrpZlLtHg/gGR1Xa1xzrexhuIzeJw==} + + wrangler@3.59.0: + resolution: {integrity: sha512-MLKejazUJrekbD8EnQfN6d7fei+IGnq2aVXeILFDy0aTktVNXKvO+eC+mND1zOr+k0KvQN4sJo8vGwqYoY7btw==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20230914.0 + '@cloudflare/workers-types': ^4.20240524.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true - dependencies: - '@cloudflare/kv-asset-handler': 0.3.1 - '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) - '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) - blake3-wasm: 2.1.5 - chokidar: 3.5.3 - esbuild: 0.17.19 - miniflare: 3.20240129.2 - nanoid: 3.3.6 - path-to-regexp: 6.2.1 - resolve: 1.22.8 - resolve.exports: 2.0.2 - selfsigned: 2.1.1 - source-map: 0.6.1 - xxhash-wasm: 1.0.2 - optionalDependencies: - fsevents: 2.3.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -1294,78 +821,706 @@ packages: optional: true utf-8-validate: optional: true - dev: true - /xxhash-wasm@1.0.2: + xxhash-wasm@1.0.2: resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} - dev: true - /youch@3.2.3: - resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==} + youch@3.3.3: + resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + +snapshots: + + '@babel/code-frame@7.22.10': dependencies: - cookie: 0.5.0 - mustache: 4.2.0 - stacktracey: 2.1.8 - dev: true + '@babel/highlight': 7.22.10 + chalk: 2.4.2 - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} - dev: true + '@babel/helper-validator-identifier@7.22.5': {} - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-I2es2ExIXUleA4orXNzD6e4Tj8muCFc+ctQnOlId56myMZuYJ64vfJkcsc4yCJPMADoYyKTnvPHeaj4/rluQ5Q==, tarball: file:../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true + '@babel/highlight@7.22.10': dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-NDvXVu16aCAsJ89M1oHc7ZOG780Iz4trC7FEu40AC0OnFArgxdv7jMWfLXvJ8JU3IB6DDNTBztWYE6lL1Ge0uw==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true + '@cloudflare/kv-asset-handler@0.3.2': + dependencies: + mime: 3.0.0 + + '@cloudflare/workerd-darwin-64@1.20240524.0': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20240524.0': + optional: true + + '@cloudflare/workerd-linux-64@1.20240524.0': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20240524.0': + optional: true + + '@cloudflare/workerd-windows-64@1.20240524.0': + optional: true + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + + '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + escape-string-regexp: 4.0.0 + rollup-plugin-node-polyfills: 0.2.1 + + '@esbuild/aix-ppc64@0.21.4': + optional: true + + '@esbuild/android-arm64@0.17.19': + optional: true + + '@esbuild/android-arm64@0.21.4': + optional: true + + '@esbuild/android-arm@0.17.19': + optional: true + + '@esbuild/android-arm@0.21.4': + optional: true + + '@esbuild/android-x64@0.17.19': + optional: true + + '@esbuild/android-x64@0.21.4': + optional: true + + '@esbuild/darwin-arm64@0.17.19': + optional: true + + '@esbuild/darwin-arm64@0.21.4': + optional: true + + '@esbuild/darwin-x64@0.17.19': + optional: true + + '@esbuild/darwin-x64@0.21.4': + optional: true + + '@esbuild/freebsd-arm64@0.17.19': + optional: true + + '@esbuild/freebsd-arm64@0.21.4': + optional: true + + '@esbuild/freebsd-x64@0.17.19': + optional: true + + '@esbuild/freebsd-x64@0.21.4': + optional: true + + '@esbuild/linux-arm64@0.17.19': + optional: true + + '@esbuild/linux-arm64@0.21.4': + optional: true + + '@esbuild/linux-arm@0.17.19': + optional: true + + '@esbuild/linux-arm@0.21.4': + optional: true + + '@esbuild/linux-ia32@0.17.19': + optional: true + + '@esbuild/linux-ia32@0.21.4': + optional: true + + '@esbuild/linux-loong64@0.17.19': + optional: true + + '@esbuild/linux-loong64@0.21.4': + optional: true + + '@esbuild/linux-mips64el@0.17.19': + optional: true + + '@esbuild/linux-mips64el@0.21.4': + optional: true + + '@esbuild/linux-ppc64@0.17.19': + optional: true + + '@esbuild/linux-ppc64@0.21.4': + optional: true + + '@esbuild/linux-riscv64@0.17.19': + optional: true + + '@esbuild/linux-riscv64@0.21.4': + optional: true + + '@esbuild/linux-s390x@0.17.19': + optional: true + + '@esbuild/linux-s390x@0.21.4': + optional: true + + '@esbuild/linux-x64@0.17.19': + optional: true + + '@esbuild/linux-x64@0.21.4': + optional: true + + '@esbuild/netbsd-x64@0.17.19': + optional: true + + '@esbuild/netbsd-x64@0.21.4': + optional: true + + '@esbuild/openbsd-x64@0.17.19': + optional: true + + '@esbuild/openbsd-x64@0.21.4': + optional: true + + '@esbuild/sunos-x64@0.17.19': + optional: true + + '@esbuild/sunos-x64@0.21.4': + optional: true + + '@esbuild/win32-arm64@0.17.19': + optional: true + + '@esbuild/win32-arm64@0.21.4': + optional: true + + '@esbuild/win32-ia32@0.17.19': + optional: true + + '@esbuild/win32-ia32@0.21.4': + optional: true + + '@esbuild/win32-x64@0.17.19': + optional: true + + '@esbuild/win32-x64@0.21.4': + optional: true + + '@fastify/busboy@2.1.1': {} + + '@jest/expect-utils@29.6.2': + dependencies: + jest-get-type: 29.4.3 + + '@jest/schemas@29.6.0': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.1': dependencies: + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.19.50 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: prisma: file:../../tmp/prisma-0.0.0.tgz - dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-AT/vWXucb/KWu21OKkZSRGWQznIVqDSMFP9pAafnCbq0kYIJMcakieZwn76jzMCrJKaEkVRiIlFtkszB5+Xw3g==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} - name: '@prisma/debug' - version: 0.0.0 + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-nHALq347YKwRLll4/WefSc+WIJu1evcDuMw3HhKSg9pwI7CqWwrxEWWZeMED0y+fuQQwaTTivvhLKO5kayXENw==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-4.09cb2c4b7f5ee2525bb7512bf48fc31167eebdf4 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-dRkL+bvuwU5qYMKh8IiIjmSPwo020RfTpucjC/D2ssneHCajAHInIf8TGZmnbo+V0NzwLJ1PCXa2qmdZxaubQw==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} - name: '@prisma/fetch-engine' - version: 0.0.0 + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-4.09cb2c4b7f5ee2525bb7512bf48fc31167eebdf4 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-HhB/OXZLYxmhs/GMj2i/u57T4Glr+EL7hsjJQ4Qs1owr58cL/Aq3sS1FzYxVZES94cVNGnNDlUa6aXF+BGME4w==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} - name: '@prisma/get-platform' - version: 0.0.0 + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.4': {} + + '@types/istanbul-lib-report@3.0.0': + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + + '@types/istanbul-reports@3.0.1': + dependencies: + '@types/istanbul-lib-report': 3.0.0 + + '@types/jest@29.5.12': + dependencies: + expect: 29.6.2 + pretty-format: 29.6.2 + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 18.19.50 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.1': {} + + '@types/yargs-parser@21.0.0': {} + + '@types/yargs@17.0.24': + dependencies: + '@types/yargs-parser': 21.0.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + + binary-extensions@2.3.0: {} + + blake3-wasm@2.1.5: {} + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + capnp-ts@0.7.0: + dependencies: + debug: 4.3.7 + tslib: 2.7.0 + transitivePeerDependencies: + - supports-color + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + ci-info@3.8.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + cookie@0.5.0: {} + + data-uri-to-buffer@2.0.2: {} + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + diff-sequences@29.4.3: {} + + esbuild@0.17.19: + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + + esbuild@0.21.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.4 + '@esbuild/android-arm': 0.21.4 + '@esbuild/android-arm64': 0.21.4 + '@esbuild/android-x64': 0.21.4 + '@esbuild/darwin-arm64': 0.21.4 + '@esbuild/darwin-x64': 0.21.4 + '@esbuild/freebsd-arm64': 0.21.4 + '@esbuild/freebsd-x64': 0.21.4 + '@esbuild/linux-arm': 0.21.4 + '@esbuild/linux-arm64': 0.21.4 + '@esbuild/linux-ia32': 0.21.4 + '@esbuild/linux-loong64': 0.21.4 + '@esbuild/linux-mips64el': 0.21.4 + '@esbuild/linux-ppc64': 0.21.4 + '@esbuild/linux-riscv64': 0.21.4 + '@esbuild/linux-s390x': 0.21.4 + '@esbuild/linux-x64': 0.21.4 + '@esbuild/netbsd-x64': 0.21.4 + '@esbuild/openbsd-x64': 0.21.4 + '@esbuild/sunos-x64': 0.21.4 + '@esbuild/win32-arm64': 0.21.4 + '@esbuild/win32-ia32': 0.21.4 + '@esbuild/win32-x64': 0.21.4 + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + estree-walker@0.6.1: {} + + exit-hook@2.2.1: {} + + expect@29.6.2: + dependencies: + '@jest/expect-utils': 29.6.2 + '@types/node': 18.19.50 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + jest-diff@29.6.2: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 + + jest-get-type@29.4.3: {} + + jest-matcher-utils@29.6.2: + dependencies: + chalk: 4.1.2 + jest-diff: 29.6.2 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 + + jest-message-util@29.6.2: + dependencies: + '@babel/code-frame': 7.22.10 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.6.2 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.6.2: + dependencies: + '@jest/types': 29.6.1 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + magic-string@0.25.9: + dependencies: + sourcemap-codec: 1.4.8 + + micromatch@4.0.5: + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + mime@3.0.0: {} + + miniflare@3.20240524.2: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + acorn: 8.12.1 + acorn-walk: 8.3.4 + capnp-ts: 0.7.0 + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + stoppable: 1.1.0 + undici: 5.28.4 + workerd: 1.20240524.0 + ws: 8.18.0 + youch: 3.3.3 + zod: 3.23.8 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + ms@2.1.3: {} + + mustache@4.2.0: {} + + nanoid@3.3.7: {} + + node-forge@1.3.1: {} + + normalize-path@3.0.0: {} + + path-parse@1.0.7: {} + + path-to-regexp@6.3.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.6.2: + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + + printable-characters@1.0.42: {} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.2.0: {} + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + rollup-plugin-inject@3.0.2: + dependencies: + estree-walker: 0.6.1 + magic-string: 0.25.9 + rollup-pluginutils: 2.8.2 + + rollup-plugin-node-polyfills@0.2.1: + dependencies: + rollup-plugin-inject: 3.0.2 + + rollup-pluginutils@2.8.2: + dependencies: + estree-walker: 0.6.1 + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + slash@3.0.0: {} + + source-map@0.6.1: {} + + sourcemap-codec@1.4.8: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stacktracey@2.1.8: + dependencies: + as-table: 1.0.55 + get-source: 2.0.12 + + stoppable@1.1.0: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tslib@2.7.0: {} + + undici-types@5.26.5: {} + + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + + workerd@1.20240524.0: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20240524.0 + '@cloudflare/workerd-darwin-arm64': 1.20240524.0 + '@cloudflare/workerd-linux-64': 1.20240524.0 + '@cloudflare/workerd-linux-arm64': 1.20240524.0 + '@cloudflare/workerd-windows-64': 1.20240524.0 + + wrangler@3.59.0: + dependencies: + '@cloudflare/kv-asset-handler': 0.3.2 + '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) + '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) + blake3-wasm: 2.1.5 + chokidar: 3.6.0 + esbuild: 0.17.19 + miniflare: 3.20240524.2 + nanoid: 3.3.7 + path-to-regexp: 6.3.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + selfsigned: 2.4.1 + source-map: 0.6.1 + xxhash-wasm: 1.0.2 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + ws@8.18.0: {} + + xxhash-wasm@1.0.2: {} + + youch@3.3.3: + dependencies: + cookie: 0.5.0 + mustache: 4.2.0 + stacktracey: 2.1.8 + + zod@3.23.8: {} diff --git a/packages/client/tests/e2e/unsupported-edge-error/_steps.ts b/packages/client/tests/e2e/unsupported-edge-error/_steps.ts index e1ec9732695d..7c3f2ed15c43 100644 --- a/packages/client/tests/e2e/unsupported-edge-error/_steps.ts +++ b/packages/client/tests/e2e/unsupported-edge-error/_steps.ts @@ -8,7 +8,7 @@ void executeSteps({ await $`pnpm prisma generate` }, test: async () => { - const wrangler = $`pnpm wrangler dev`.nothrow() + const wrangler = $`pnpm wrangler dev --ip 127.0.0.1 --port 8787`.nothrow() let data = '' for await (const chunk of wrangler.stdout) { diff --git a/packages/client/tests/e2e/unsupported-edge-error/package.json b/packages/client/tests/e2e/unsupported-edge-error/package.json index 1cbe79a8f5ef..4fa7e9582efd 100644 --- a/packages/client/tests/e2e/unsupported-edge-error/package.json +++ b/packages/client/tests/e2e/unsupported-edge-error/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@types/jest": "29.5.12", - "@types/node": "16.18.98", + "@types/node": "18.19.50", "prisma": "/tmp/prisma-0.0.0.tgz", "wrangler": "3.59.0" } diff --git a/packages/client/tests/e2e/unsupported-edge-error/pnpm-lock.yaml b/packages/client/tests/e2e/unsupported-edge-error/pnpm-lock.yaml index 523c076548c4..60ea4aadd03a 100644 --- a/packages/client/tests/e2e/unsupported-edge-error/pnpm-lock.yaml +++ b/packages/client/tests/e2e/unsupported-edge-error/pnpm-lock.yaml @@ -1,1049 +1,671 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@prisma/client': - specifier: /tmp/prisma-client-0.0.0.tgz - version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0) - -devDependencies: - '@types/jest': - specifier: 29.5.12 - version: 29.5.12 - '@types/node': - specifier: 16.18.84 - version: 16.18.84 - prisma: - specifier: /tmp/prisma-0.0.0.tgz - version: file:../../tmp/prisma-0.0.0.tgz - wrangler: - specifier: 3.30.0 - version: 3.30.0 +importers: + + .: + dependencies: + '@prisma/client': + specifier: /tmp/prisma-client-0.0.0.tgz + version: file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz) + devDependencies: + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 + '@types/node': + specifier: 18.19.50 + version: 18.19.50 + prisma: + specifier: /tmp/prisma-0.0.0.tgz + version: file:../../tmp/prisma-0.0.0.tgz + wrangler: + specifier: 3.59.0 + version: 3.59.0 packages: - /@babel/code-frame@7.22.10: + '@babel/code-frame@7.22.10': resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - /@babel/helper-validator-identifier@7.22.5: + '@babel/helper-validator-identifier@7.22.5': resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.10: + '@babel/highlight@7.22.10': resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@cloudflare/kv-asset-handler@0.3.1: - resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} - dependencies: - mime: 3.0.0 - dev: true + '@cloudflare/kv-asset-handler@0.3.2': + resolution: {integrity: sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==} + engines: {node: '>=16.13'} - /@cloudflare/workerd-darwin-64@1.20240223.1: - resolution: {integrity: sha512-GgHnvkazLFZ7bmR96+dTX0+WS13a+5CHOOP3qNUSR9oEnR4hHzpNIO75MuZsm9RPAXrvtT7nSJmYwiGCZXh6og==} + '@cloudflare/workerd-darwin-64@1.20240524.0': + resolution: {integrity: sha512-ATaXjefbTsrv4mpn4Fdua114RRDXcX5Ky+Mv+f4JTUllgalmqC4CYMN4jxRz9IpJU/fNMN8IEfvUyuJBAcl9Iw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-darwin-arm64@1.20240223.1: - resolution: {integrity: sha512-ZF98vUmVlC0EVEd3RRuhMq4HYWFcqmPtMIMPUN2+ivEHR92TE+6E/AvdeE6wcE7fKHQ+fk3dH+ZgB0GcfptfnA==} + '@cloudflare/workerd-darwin-arm64@1.20240524.0': + resolution: {integrity: sha512-wnbsZI4CS0QPCd+wnBHQ40C28A/2Qo4ESi1YhE2735G3UNcc876MWksZhsubd+XH0XPIra6eNFqyw6wRMpQOXA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-linux-64@1.20240223.1: - resolution: {integrity: sha512-1kH41ewNTGMmAk2zUX0Xj9VSfidl26GQ0ZrWMdi5kwf6gAHd3oVWNigJN078Jx56SgQxNcqVGX1LunqF949asw==} + '@cloudflare/workerd-linux-64@1.20240524.0': + resolution: {integrity: sha512-E8mj+HPBryKwaJAiNsYzXtVjKCL0KvUBZbtxJxlWM4mLSQhT+uwGT3nydb/hFY59rZnQgZslw0oqEWht5TEYiQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-linux-arm64@1.20240223.1: - resolution: {integrity: sha512-Ro8Og5C4evh890JrRm0B8sHyumRtgL+mUqPeNcEsyG45jAQy5xHpapHnmJAMJV6ah+zDc1cZtQq+en39SojXvQ==} + '@cloudflare/workerd-linux-arm64@1.20240524.0': + resolution: {integrity: sha512-/Fr1W671t2triNCDCBWdStxngnbUfZunZ/2e4kaMLzJDJLYDtYdmvOUCBDzUD4ssqmIMbn9RCQQ0U+CLEoqBqw==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@cloudflare/workerd-windows-64@1.20240223.1: - resolution: {integrity: sha512-eNP5sfaP6WL07DaoigYou5ASPF7jHsFiNzzD2vGOI7yFd5sPlb7sJ4SpIy+BCX0LdqFnjmlUo5Xr+/I6qJ2Nww==} + '@cloudflare/workerd-windows-64@1.20240524.0': + resolution: {integrity: sha512-G+ThDEx57g9mAEKqhWnHaaJgpeGYtyhkmwM/BDpLqPks/rAY5YEfZbY4YL1pNk1kkcZDXGrwIsY8xe9Apf5JdA==} engines: {node: '>=16'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@cspotcode/source-map-support@0.8.1: + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19): + '@esbuild-plugins/node-globals-polyfill@0.2.3': resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} peerDependencies: esbuild: '*' - dependencies: - esbuild: 0.17.19 - dev: true - /@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19): + '@esbuild-plugins/node-modules-polyfill@0.2.2': resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} peerDependencies: esbuild: '*' - dependencies: - esbuild: 0.17.19 - escape-string-regexp: 4.0.0 - rollup-plugin-node-polyfills: 0.2.1 - dev: true - /@esbuild/android-arm64@0.17.19: + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.17.19: + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.17.19: + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.17.19: + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.17.19: + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.17.19: + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.17.19: + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.17.19: + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.17.19: + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.17.19: + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.17.19: + '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.17.19: + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.17.19: + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.17.19: + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.17.19: + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.17.19: + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.17.19: + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.17.19: + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.17.19: + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.17.19: + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.17.19: + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.17.19: + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@fastify/busboy@2.1.1: + '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - dev: true - /@jest/expect-utils@29.6.2: + '@jest/expect-utils@29.6.2': resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: + '@jest/schemas@29.6.0': resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/types@29.6.1: + '@jest/types@29.6.1': resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.18.84 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@jridgewell/resolve-uri@3.1.2: + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.9: + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@prisma/engines-version@5.11.0-5.4308b705cc0694626ff407996f3145ddef0ad1c6: - resolution: {integrity: sha512-lBeY9WoHxrW0Jn+DuIKzTTVUeDHUIEVOKuLRQCDLR8wuf1kvUQW66GI17zaAT8akct/N9bQsPpwua95e4ODJWQ==} + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz': + resolution: {integrity: sha512-/ditdbDQy6K/DgcVcQfU/anYv0d6UFTKrX7UYhyL5n/3UPKlkFraFxgjD+ZFItLVZn6M5JqsZjdI7zY7Ux+gfQ==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': + resolution: {integrity: sha512-z0w+08URde9VzV8zvZOtepFgysBgSf7pNeiVffL+cniV1WNb594nMiQT7Y9rlnWcEjDTx/A8J1xHcR5au0YGEw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} + version: 0.0.0 + + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': + resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': + resolution: {integrity: sha512-KhE9LcSamgtOswm7ibtqZhcqd8h1NrhlR/PSfxqHTzq/dSUo0zb9tiLSRtGmRu1GPQ+5wG30O5x/Bnd6g5SZcA==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} + version: 0.0.0 + + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': + resolution: {integrity: sha512-fVBMRmWEyev6Q9+8YZBxSun+PB4DIUoLna8ViMbLcFKs1s46lTrBSOnQpVWI7SA1nLbown3LduCWTxgsGjWVEQ==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} + version: 0.0.0 + + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': + resolution: {integrity: sha512-m6YtMWtCYtq73BVtvmFG/UEK7CUHY8GIzX25KjBILVcX3xbePCWx8yjFm8X70TeJG3Hre1I/iX+noYt2HnL8Uw==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} + version: 0.0.0 - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/istanbul-lib-coverage@2.0.4: + '@types/istanbul-lib-coverage@2.0.4': resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true - /@types/istanbul-lib-report@3.0.0: + '@types/istanbul-lib-report@3.0.0': resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - /@types/istanbul-reports@3.0.1: + '@types/istanbul-reports@3.0.1': resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - /@types/jest@29.5.12: + '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 - dev: true - /@types/node@16.18.84: - resolution: {integrity: sha512-mtn6ixzrUK5IMf6gyyMVUsm0TIeF3IYpUr3i0HHTuPJVbdZ6kc93poZ+wCkFNtxXoP/tyGrdVPOL6/WqGXjfXw==} - dev: true + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - /@types/stack-utils@2.0.1: + '@types/node@18.19.50': + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} + + '@types/stack-utils@2.0.1': resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - /@types/yargs-parser@21.0.0: + '@types/yargs-parser@21.0.0': resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - /@types/yargs@17.0.24: + '@types/yargs@17.0.24': resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true - dev: true - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /as-table@1.0.55: + as-table@1.0.55: resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} - dependencies: - printable-characters: 1.0.42 - dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: true - /blake3-wasm@2.1.5: + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - dev: true - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /capnp-ts@0.7.0: + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} - dependencies: - debug: 4.3.4 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /ci-info@3.8.0: + ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /cookie@0.5.0: + cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - dev: true - /data-uri-to-buffer@2.0.2: + data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - dev: true - /diff-sequences@29.4.3: + diff-sequences@29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /esbuild@0.17.19: + esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true - /estree-walker@0.6.1: + estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - /exit-hook@2.2.1: + exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} - dev: true - /expect@29.6.2: + expect@29.6.2: resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 16.18.84 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - dev: true - /fill-range@7.0.1: + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind@1.1.2: + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - /get-source@2.0.12: + get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} - dependencies: - data-uri-to-buffer: 2.0.2 - source-map: 0.6.1 - dev: true - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob-to-regexp@0.4.1: + glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - /is-binary-path@2.1.0: + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jest-diff@29.6.2: + jest-diff@29.6.2: resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-get-type@29.4.3: + jest-get-type@29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-matcher-utils@29.6.2: + jest-matcher-utils@29.6.2: resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true - /jest-message-util@29.6.2: + jest-message-util@29.6.2: resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.2 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-util@29.6.2: + jest-util@29.6.2: resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.1 - '@types/node': 16.18.84 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /magic-string@0.25.9: + magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - /micromatch@4.0.5: + micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /mime@3.0.0: + mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true - dev: true - /miniflare@3.20240223.0: - resolution: {integrity: sha512-8T/36FEfvsL4aMF7SLZ28v+PQL0jsUlVw/u114GYcdobkyPax9E6Ahn0XePOHEqLxQSndwPee+eS1phHANFePA==} + miniflare@3.20240524.2: + resolution: {integrity: sha512-Js+8cB61KJG0z2HuQTPLT9S6FwTBuMZfjtml3azUarLYsCF91N+PhIkvNpbkwCXcfRvscdjJ0RlT6lBQYEuIwA==} engines: {node: '>=16.13'} hasBin: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - acorn: 8.10.0 - acorn-walk: 8.2.0 - capnp-ts: 0.7.0 - exit-hook: 2.2.1 - glob-to-regexp: 0.4.1 - stoppable: 1.1.0 - undici: 5.28.3 - workerd: 1.20240223.1 - ws: 8.13.0 - youch: 3.2.3 - zod: 3.22.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /mustache@4.2.0: + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true - dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true - /node-forge@1.3.1: + node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - dev: true - /normalize-path@3.0.0: + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true - /path-parse@1.0.7: + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: true + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - /picomatch@2.3.1: + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /pretty-format@29.6.2: + pretty-format@29.6.2: resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /printable-characters@1.0.42: + printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} - dev: true - /react-is@18.2.0: + prisma@file:../../tmp/prisma-0.0.0.tgz: + resolution: {integrity: sha512-d8gMwcHmvd7TWcvCmUebMrdE8tqCVlUZwNM1ZFSZsqT6Hh5+J9AVTRGcpxYS6HweEDhw/GsIasnjMa8Wzs/lNw==, tarball: file:../../tmp/prisma-0.0.0.tgz} + version: 0.0.0 + engines: {node: '>=18.18'} + hasBin: true + + react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - /readdirp@3.6.0: + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /resolve.exports@2.0.2: + resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} - dev: true - /resolve@1.22.8: + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - /rollup-plugin-inject@3.0.2: + rollup-plugin-inject@3.0.2: resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. - dependencies: - estree-walker: 0.6.1 - magic-string: 0.25.9 - rollup-pluginutils: 2.8.2 - dev: true - /rollup-plugin-node-polyfills@0.2.1: + rollup-plugin-node-polyfills@0.2.1: resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} - dependencies: - rollup-plugin-inject: 3.0.2 - dev: true - /rollup-pluginutils@2.8.2: + rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - dependencies: - node-forge: 1.3.1 - dev: true - /slash@3.0.0: + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true - /source-map@0.6.1: + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true - /sourcemap-codec@1.4.8: + sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - /stack-utils@2.0.6: + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /stacktracey@2.1.8: + stacktracey@2.1.8: resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} - dependencies: - as-table: 1.0.55 - get-source: 2.0.12 - dev: true - /stoppable@1.1.0: + stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} - dev: true - /supports-color@5.5.0: + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - /undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - dependencies: - '@fastify/busboy': 2.1.1 - dev: true - /workerd@1.20240223.1: - resolution: {integrity: sha512-Mo1fwdp6DLva4/fWdL09ZdYllkO45I4YpWG5PbF/YUGFlu2aMk24fmU6Pd6fo5/cWek4F+n3LmYEKKHfqjiJIA==} + workerd@1.20240524.0: + resolution: {integrity: sha512-LWLe5D8PVHBcqturmBbwgI71r7YPpIMYZoVEH6S4G35EqIJ55cb0n3FipoSyraoIfpcCxCFxX1K6WsRHbP3pFA==} engines: {node: '>=16'} hasBin: true - requiresBuild: true - optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240223.1 - '@cloudflare/workerd-darwin-arm64': 1.20240223.1 - '@cloudflare/workerd-linux-64': 1.20240223.1 - '@cloudflare/workerd-linux-arm64': 1.20240223.1 - '@cloudflare/workerd-windows-64': 1.20240223.1 - dev: true - - /wrangler@3.30.0: - resolution: {integrity: sha512-td7tDjdONT8Dz7GJE9+98cR9aZJyxShToXXIfaJrAa6sxJCLJqsLOgqKIal6Z6neNqQCvk5e9ThBWyhiAjABXg==} + + wrangler@3.59.0: + resolution: {integrity: sha512-MLKejazUJrekbD8EnQfN6d7fei+IGnq2aVXeILFDy0aTktVNXKvO+eC+mND1zOr+k0KvQN4sJo8vGwqYoY7btw==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20230914.0 + '@cloudflare/workers-types': ^4.20240524.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true - dependencies: - '@cloudflare/kv-asset-handler': 0.3.1 - '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) - '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) - blake3-wasm: 2.1.5 - chokidar: 3.5.3 - esbuild: 0.17.19 - miniflare: 3.20240223.0 - nanoid: 3.3.6 - path-to-regexp: 6.2.1 - resolve: 1.22.8 - resolve.exports: 2.0.2 - selfsigned: 2.1.1 - source-map: 0.6.1 - xxhash-wasm: 1.0.2 - optionalDependencies: - fsevents: 2.3.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -1053,78 +675,611 @@ packages: optional: true utf-8-validate: optional: true - dev: true - /xxhash-wasm@1.0.2: + xxhash-wasm@1.0.2: resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} - dev: true - /youch@3.2.3: - resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==} + youch@3.3.3: + resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + +snapshots: + + '@babel/code-frame@7.22.10': dependencies: - cookie: 0.5.0 - mustache: 4.2.0 - stacktracey: 2.1.8 - dev: true + '@babel/highlight': 7.22.10 + chalk: 2.4.2 - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} - dev: true + '@babel/helper-validator-identifier@7.22.5': {} - file:../../tmp/prisma-0.0.0.tgz: - resolution: {integrity: sha512-87CIK1G91CQKsSW449uELysaOlEpmnxP/NCsTOqX/D9Z4FoSKm2dfLaa4zCgMCiEytYEkKcrBmOfcgK1aGloWw==, tarball: file:../../tmp/prisma-0.0.0.tgz} - name: prisma - version: 0.0.0 - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true + '@babel/highlight@7.22.10': dependencies: - '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 - file:../../tmp/prisma-client-0.0.0.tgz(prisma@0.0.0): - resolution: {integrity: sha512-0du+ULchzr98cQENpWUthj5PRAxhZStCsSs2SBAVaffKsEbCJl82vuGRcj5Xf+u0I58UXr9MwGvmpw8u00UvTg==, tarball: file:../../tmp/prisma-client-0.0.0.tgz} - id: file:../../tmp/prisma-client-0.0.0.tgz - name: '@prisma/client' - version: 0.0.0 - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true + '@cloudflare/kv-asset-handler@0.3.2': + dependencies: + mime: 3.0.0 + + '@cloudflare/workerd-darwin-64@1.20240524.0': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20240524.0': + optional: true + + '@cloudflare/workerd-linux-64@1.20240524.0': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20240524.0': + optional: true + + '@cloudflare/workerd-windows-64@1.20240524.0': + optional: true + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + + '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + escape-string-regexp: 4.0.0 + rollup-plugin-node-polyfills: 0.2.1 + + '@esbuild/android-arm64@0.17.19': + optional: true + + '@esbuild/android-arm@0.17.19': + optional: true + + '@esbuild/android-x64@0.17.19': + optional: true + + '@esbuild/darwin-arm64@0.17.19': + optional: true + + '@esbuild/darwin-x64@0.17.19': + optional: true + + '@esbuild/freebsd-arm64@0.17.19': + optional: true + + '@esbuild/freebsd-x64@0.17.19': + optional: true + + '@esbuild/linux-arm64@0.17.19': + optional: true + + '@esbuild/linux-arm@0.17.19': + optional: true + + '@esbuild/linux-ia32@0.17.19': + optional: true + + '@esbuild/linux-loong64@0.17.19': + optional: true + + '@esbuild/linux-mips64el@0.17.19': + optional: true + + '@esbuild/linux-ppc64@0.17.19': + optional: true + + '@esbuild/linux-riscv64@0.17.19': + optional: true + + '@esbuild/linux-s390x@0.17.19': + optional: true + + '@esbuild/linux-x64@0.17.19': + optional: true + + '@esbuild/netbsd-x64@0.17.19': + optional: true + + '@esbuild/openbsd-x64@0.17.19': + optional: true + + '@esbuild/sunos-x64@0.17.19': + optional: true + + '@esbuild/win32-arm64@0.17.19': + optional: true + + '@esbuild/win32-ia32@0.17.19': + optional: true + + '@esbuild/win32-x64@0.17.19': + optional: true + + '@fastify/busboy@2.1.1': {} + + '@jest/expect-utils@29.6.2': + dependencies: + jest-get-type: 29.4.3 + + '@jest/schemas@29.6.0': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.1': + dependencies: + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.19.50 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.9': dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@prisma/client@file:../../tmp/prisma-client-0.0.0.tgz(prisma@file:../../tmp/prisma-0.0.0.tgz)': + optionalDependencies: prisma: file:../../tmp/prisma-0.0.0.tgz - dev: false - file:../../tmp/prisma-debug-0.0.0.tgz: - resolution: {integrity: sha512-urusnj7VcybsByGtpiEitce/EiuFRBKvfVPmmJlD2RCiJImNsy9Wv5YjKJeciNeW5FOaOb24W1EdJTgThVL3Yw==, tarball: file:../../tmp/prisma-debug-0.0.0.tgz} - name: '@prisma/debug' - version: 0.0.0 + '@prisma/debug@file:../../tmp/prisma-debug-0.0.0.tgz': {} - file:../../tmp/prisma-engines-0.0.0.tgz: - resolution: {integrity: sha512-T74NYpSOx12Luh6NU5fjt4jUc3z/W6ia7Vx/2EsOmyHBEYPgu9A8Cb6LHfl8TIpN+pEpiClPHYH8+ivKIBn3qQ==, tarball: file:../../tmp/prisma-engines-0.0.0.tgz} - name: '@prisma/engines' - version: 0.0.0 - requiresBuild: true + '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + + '@prisma/engines@file:../../tmp/prisma-engines-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-5.4308b705cc0694626ff407996f3145ddef0ad1c6 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/fetch-engine': file:../../tmp/prisma-fetch-engine-0.0.0.tgz '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-fetch-engine-0.0.0.tgz: - resolution: {integrity: sha512-w5k7+y/xfKEP7/64sWoDwoxdGJXt6D0siTdn4bgNrQjUCmQBj7IK1QMcj1YaQNGr9Nydx3PwwTjA10p4lajXtw==, tarball: file:../../tmp/prisma-fetch-engine-0.0.0.tgz} - name: '@prisma/fetch-engine' - version: 0.0.0 + '@prisma/fetch-engine@file:../../tmp/prisma-fetch-engine-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz - '@prisma/engines-version': 5.11.0-5.4308b705cc0694626ff407996f3145ddef0ad1c6 + '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 '@prisma/get-platform': file:../../tmp/prisma-get-platform-0.0.0.tgz - file:../../tmp/prisma-get-platform-0.0.0.tgz: - resolution: {integrity: sha512-uTBCA4I/CIxFDSeeEx9ZhwuHfhEkQTaau0KckGAKzics/VcXZC4PKj8E2+Jhxw1E44j3Dy+O4YtOg2j8u8IxIg==, tarball: file:../../tmp/prisma-get-platform-0.0.0.tgz} - name: '@prisma/get-platform' - version: 0.0.0 + '@prisma/get-platform@file:../../tmp/prisma-get-platform-0.0.0.tgz': dependencies: '@prisma/debug': file:../../tmp/prisma-debug-0.0.0.tgz + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.4': {} + + '@types/istanbul-lib-report@3.0.0': + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + + '@types/istanbul-reports@3.0.1': + dependencies: + '@types/istanbul-lib-report': 3.0.0 + + '@types/jest@29.5.12': + dependencies: + expect: 29.6.2 + pretty-format: 29.6.2 + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 18.19.50 + + '@types/node@18.19.50': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.1': {} + + '@types/yargs-parser@21.0.0': {} + + '@types/yargs@17.0.24': + dependencies: + '@types/yargs-parser': 21.0.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + + binary-extensions@2.3.0: {} + + blake3-wasm@2.1.5: {} + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + capnp-ts@0.7.0: + dependencies: + debug: 4.3.7 + tslib: 2.7.0 + transitivePeerDependencies: + - supports-color + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + ci-info@3.8.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + cookie@0.5.0: {} + + data-uri-to-buffer@2.0.2: {} + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + diff-sequences@29.4.3: {} + + esbuild@0.17.19: + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + estree-walker@0.6.1: {} + + exit-hook@2.2.1: {} + + expect@29.6.2: + dependencies: + '@jest/expect-utils': 29.6.2 + '@types/node': 18.19.50 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + jest-diff@29.6.2: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 + + jest-get-type@29.4.3: {} + + jest-matcher-utils@29.6.2: + dependencies: + chalk: 4.1.2 + jest-diff: 29.6.2 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 + + jest-message-util@29.6.2: + dependencies: + '@babel/code-frame': 7.22.10 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.6.2 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.6.2: + dependencies: + '@jest/types': 29.6.1 + '@types/node': 18.19.50 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + magic-string@0.25.9: + dependencies: + sourcemap-codec: 1.4.8 + + micromatch@4.0.5: + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + mime@3.0.0: {} + + miniflare@3.20240524.2: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + acorn: 8.12.1 + acorn-walk: 8.3.4 + capnp-ts: 0.7.0 + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + stoppable: 1.1.0 + undici: 5.28.4 + workerd: 1.20240524.0 + ws: 8.18.0 + youch: 3.3.3 + zod: 3.23.8 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + ms@2.1.3: {} + + mustache@4.2.0: {} + + nanoid@3.3.7: {} + + node-forge@1.3.1: {} + + normalize-path@3.0.0: {} + + path-parse@1.0.7: {} + + path-to-regexp@6.3.0: {} + + picomatch@2.3.1: {} + + pretty-format@29.6.2: + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + + printable-characters@1.0.42: {} + + prisma@file:../../tmp/prisma-0.0.0.tgz: + dependencies: + '@prisma/engines': file:../../tmp/prisma-engines-0.0.0.tgz + optionalDependencies: + fsevents: 2.3.3 + + react-is@18.2.0: {} + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + rollup-plugin-inject@3.0.2: + dependencies: + estree-walker: 0.6.1 + magic-string: 0.25.9 + rollup-pluginutils: 2.8.2 + + rollup-plugin-node-polyfills@0.2.1: + dependencies: + rollup-plugin-inject: 3.0.2 + + rollup-pluginutils@2.8.2: + dependencies: + estree-walker: 0.6.1 + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + slash@3.0.0: {} + + source-map@0.6.1: {} + + sourcemap-codec@1.4.8: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stacktracey@2.1.8: + dependencies: + as-table: 1.0.55 + get-source: 2.0.12 + + stoppable@1.1.0: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tslib@2.7.0: {} + + undici-types@5.26.5: {} + + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + + workerd@1.20240524.0: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20240524.0 + '@cloudflare/workerd-darwin-arm64': 1.20240524.0 + '@cloudflare/workerd-linux-64': 1.20240524.0 + '@cloudflare/workerd-linux-arm64': 1.20240524.0 + '@cloudflare/workerd-windows-64': 1.20240524.0 + + wrangler@3.59.0: + dependencies: + '@cloudflare/kv-asset-handler': 0.3.2 + '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) + '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) + blake3-wasm: 2.1.5 + chokidar: 3.6.0 + esbuild: 0.17.19 + miniflare: 3.20240524.2 + nanoid: 3.3.7 + path-to-regexp: 6.3.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + selfsigned: 2.4.1 + source-map: 0.6.1 + xxhash-wasm: 1.0.2 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + ws@8.18.0: {} + + xxhash-wasm@1.0.2: {} + + youch@3.3.3: + dependencies: + cookie: 0.5.0 + mustache: 4.2.0 + stacktracey: 2.1.8 + + zod@3.23.8: {} diff --git a/packages/client/tests/functional/0-legacy-ports/batch-find-unique/tests.ts b/packages/client/tests/functional/0-legacy-ports/batch-find-unique/tests.ts index bbc07f3b4a4e..4c68d5af2b2b 100644 --- a/packages/client/tests/functional/0-legacy-ports/batch-find-unique/tests.ts +++ b/packages/client/tests/functional/0-legacy-ports/batch-find-unique/tests.ts @@ -62,7 +62,10 @@ testMatrix.setupTestSuite(({ provider }, _suiteMeta, _clientMeta, cliMeta) => { expect.assertions(2) prisma.$on('query', (event) => { - executedBatchQuery = event.query.replace(mySqlSchemaIdRegex, '').trim() + executedBatchQuery = event.query + .replace(` /* traceparent='00-00000000000000000000000000000010-0000000000000010-01' */`, '') + .replace(mySqlSchemaIdRegex, '') + .trim() }) const results = await Promise.all([ @@ -83,7 +86,7 @@ testMatrix.setupTestSuite(({ provider }, _suiteMeta, _clientMeta, cliMeta) => { case Providers.COCKROACHDB: if (cliMeta.previewFeatures.includes('relationJoins')) { expect(executedBatchQuery).toMatchInlineSnapshot( - `"SELECT "t1"."id", "t1"."email", "t1"."age", "t1"."name" FROM "public"."User" AS "t1" WHERE "t1"."email" IN ($1,$2,$3,$4)"`, + `"SELECT "t0"."id", "t0"."email", "t0"."age", "t0"."name" FROM "public"."User" AS "t0" WHERE "t0"."email" IN ($1,$2,$3,$4)"`, ) } else { expect(executedBatchQuery).toMatchInlineSnapshot( @@ -95,7 +98,7 @@ testMatrix.setupTestSuite(({ provider }, _suiteMeta, _clientMeta, cliMeta) => { case Providers.MYSQL: if (cliMeta.previewFeatures.includes('relationJoins')) { expect(executedBatchQuery).toMatchInlineSnapshot( - `"SELECT \`t1\`.\`id\`, \`t1\`.\`email\`, \`t1\`.\`age\`, \`t1\`.\`name\` FROM \`\`.\`User\` AS \`t1\` WHERE \`t1\`.\`email\` IN (?,?,?,?)"`, + `"SELECT \`t0\`.\`id\`, \`t0\`.\`email\`, \`t0\`.\`age\`, \`t0\`.\`name\` FROM \`\`.\`User\` AS \`t0\` WHERE \`t0\`.\`email\` IN (?,?,?,?)"`, ) } else { expect(executedBatchQuery).toMatchInlineSnapshot( diff --git a/packages/client/tests/functional/0-legacy-ports/json/_matrix.ts b/packages/client/tests/functional/0-legacy-ports/json/_matrix.ts index 1b9bc0e61fe9..aefec04f0916 100644 --- a/packages/client/tests/functional/0-legacy-ports/json/_matrix.ts +++ b/packages/client/tests/functional/0-legacy-ports/json/_matrix.ts @@ -15,5 +15,8 @@ export default defineMatrix(() => [ { provider: Providers.MONGODB, }, + { + provider: Providers.SQLITE, + }, ], ]) diff --git a/packages/client/tests/functional/0-legacy-ports/json/tests.ts b/packages/client/tests/functional/0-legacy-ports/json/tests.ts index 17489b3aa6e5..440ee048be2a 100644 --- a/packages/client/tests/functional/0-legacy-ports/json/tests.ts +++ b/packages/client/tests/functional/0-legacy-ports/json/tests.ts @@ -69,16 +69,16 @@ testMatrix.setupTestSuite( expect(result[0]).toHaveProperty('requiredJson') }) - testIf(['mysql', 'postgresql', 'cockroachdb'].includes(suiteConfig.provider))( + testIf(['mysql', 'postgresql', 'cockroachdb', 'sqlite'].includes(suiteConfig.provider))( 'select required json with where path', async () => { let result - if (suiteConfig.provider === Providers.MYSQL) { + if (suiteConfig.provider === Providers.MYSQL || suiteConfig.provider === Providers.SQLITE) { result = await prisma.resource.findMany({ where: { requiredJson: { - // @ts-test-if: provider === Providers.MYSQL + // @ts-test-if: provider === Providers.MYSQL || provider === Providers.SQLITE path: '$.bar.baz', equals: 'qux', }, @@ -147,7 +147,7 @@ testMatrix.setupTestSuite( }, { optOut: { - from: ['sqlserver', 'sqlite'], + from: ['sqlserver'], reason: 'They do not support JSON', }, }, diff --git a/packages/client/tests/functional/24835-omit-error/_matrix.ts b/packages/client/tests/functional/24835-omit-error/_matrix.ts new file mode 100644 index 000000000000..a8bc6494be0c --- /dev/null +++ b/packages/client/tests/functional/24835-omit-error/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../_utils/defineMatrix' +import { allProviders } from '../_utils/providers' + +export default defineMatrix(() => [allProviders]) diff --git a/packages/client/tests/functional/24835-omit-error/prisma/_schema.ts b/packages/client/tests/functional/24835-omit-error/prisma/_schema.ts new file mode 100644 index 000000000000..2a3ce8b974d0 --- /dev/null +++ b/packages/client/tests/functional/24835-omit-error/prisma/_schema.ts @@ -0,0 +1,40 @@ +import { idForProvider } from '../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model A { + id ${idForProvider(provider)} + + model_b B[] + } + + model B { + id ${idForProvider(provider)} + + a_id String + a A @relation(fields: [a_id], references: [id]) + + private_field String + + c_id String + c C @relation(fields: [c_id], references: [id]) + } + + model C { + id ${idForProvider(provider)} + + public_field String + B B[] + } + ` +}) diff --git a/packages/client/tests/functional/24835-omit-error/test.ts b/packages/client/tests/functional/24835-omit-error/test.ts new file mode 100644 index 000000000000..53c6cf2c5b00 --- /dev/null +++ b/packages/client/tests/functional/24835-omit-error/test.ts @@ -0,0 +1,26 @@ +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +testMatrix.setupTestSuite(() => { + test('have omitted field as never', async () => { + const example = await prisma.a.findFirst({ + include: { + model_b: { + include: { + c: true, + }, + omit: { + private_field: true, + }, + }, + }, + omit: { id: true }, + }) + + // @ts-expect-error + example?.model_b[0].private_field + }) +}) diff --git a/packages/client/tests/functional/_example/_matrix.ts b/packages/client/tests/functional/_example/_matrix.ts index 5f87b51964c9..25dbf257d7f5 100644 --- a/packages/client/tests/functional/_example/_matrix.ts +++ b/packages/client/tests/functional/_example/_matrix.ts @@ -36,7 +36,7 @@ export default defineMatrix(() => [ ], [ { - previewFeatures: '"tracing"', + previewFeatures: '"relationJoins"', }, { previewFeatures: '"referentialIntegrity"', @@ -52,13 +52,13 @@ export default defineMatrix(() => [ 'provider': 'sqlite', 'id': 'Int @id @default(autoincrement())', 'randomString': 'foo', - 'previewFeatures': '"tracing"', + 'previewFeatures': '"relationJoins"', }, { 'provider': 'mongodb', 'id': 'String @id @default(auto()) @map("_id") @db.ObjectId', 'randomString': '"book", ', - 'previewFeatures': '"tracing"', + 'previewFeatures': '"relationJoins"', }, { 'provider': 'sqlite', diff --git a/packages/client/tests/functional/_example/tests.ts b/packages/client/tests/functional/_example/tests.ts index 0e104418f9c0..4d5b4cd0f8df 100644 --- a/packages/client/tests/functional/_example/tests.ts +++ b/packages/client/tests/functional/_example/tests.ts @@ -21,7 +21,7 @@ testMatrix.setupTestSuite( provider: Providers.SQLITE id: 'Int @id @default(autoincrement())', randomString: 'foo', - previewFeatures: '"tracing"' + previewFeatures: '"relationJoins"' } */ diff --git a/packages/client/tests/functional/_utils/defineMatrix.ts b/packages/client/tests/functional/_utils/defineMatrix.ts index fd71946a3331..51c193c3dfe7 100644 --- a/packages/client/tests/functional/_utils/defineMatrix.ts +++ b/packages/client/tests/functional/_utils/defineMatrix.ts @@ -1,4 +1,4 @@ -import { U } from 'ts-toolbelt' +import type { U } from 'ts-toolbelt' import { NamedTestSuiteConfig, TestSuiteMatrix } from './getTestSuiteInfo' import { setupTestSuiteMatrix, TestCallbackSuiteMeta } from './setupTestSuiteMatrix' diff --git a/packages/client/tests/functional/_utils/getTestSuiteInfo.ts b/packages/client/tests/functional/_utils/getTestSuiteInfo.ts index dc356bc0040a..03a2080b516c 100644 --- a/packages/client/tests/functional/_utils/getTestSuiteInfo.ts +++ b/packages/client/tests/functional/_utils/getTestSuiteInfo.ts @@ -1,4 +1,5 @@ import { ClientEngineType } from '@prisma/internals' +import fs from 'fs/promises' import path from 'path' import { matrix } from '../../../../../helpers/blaze/matrix' @@ -246,6 +247,7 @@ export function getTestSuiteMeta() { const prismaPath = path.join(testRoot, 'prisma') const _matrixPath = path.join(testRoot, '_matrix') const _schemaPath = path.join(prismaPath, '_schema') + const sqlPath = path.join(prismaPath, 'sql') return { testName, @@ -255,6 +257,7 @@ export function getTestSuiteMeta() { rootRelativeTestDir, testFileName, prismaPath, + sqlPath, _matrixPath, _schemaPath, } @@ -290,3 +293,19 @@ export function getTestSuiteClientMeta({ driverAdapter: isDriverAdapterProviderLabel(suiteConfig.driverAdapter), } } + +export async function testSuiteHasTypedSql(meta: TestSuiteMeta) { + return await isDirectory(meta.sqlPath) +} + +async function isDirectory(path: string) { + try { + const stat = await fs.stat(path) + return stat.isDirectory() + } catch (e) { + if (e.code === 'ENOENT') { + return false + } + throw e + } +} diff --git a/packages/client/tests/functional/_utils/idForProvider.ts b/packages/client/tests/functional/_utils/idForProvider.ts index 8f13847e9093..8851160b13f6 100644 --- a/packages/client/tests/functional/_utils/idForProvider.ts +++ b/packages/client/tests/functional/_utils/idForProvider.ts @@ -28,12 +28,16 @@ export function idForProvider(provider: Providers, options: Options = { includeD return strs.join(' ') } -export function foreignKeyForProvider(provider: Providers): string { - const strs = ['String'] +export interface ForeignKeyOptions { + optional?: boolean +} + +export function foreignKeyForProvider(provider: Providers, { optional = false }: ForeignKeyOptions = {}): string { + const type = optional ? 'String?' : 'String' if (provider === Providers.MONGODB) { - strs.push('@db.ObjectId') + return `${type} @db.ObjectId` } - return strs.join(' ') + return type } diff --git a/packages/client/tests/functional/_utils/relationMode/conditionalError.ts b/packages/client/tests/functional/_utils/relationMode/conditionalError.ts index b66bf9329784..76f97fede316 100644 --- a/packages/client/tests/functional/_utils/relationMode/conditionalError.ts +++ b/packages/client/tests/functional/_utils/relationMode/conditionalError.ts @@ -1,4 +1,4 @@ -import { O } from 'ts-toolbelt' +import type { O } from 'ts-toolbelt' import { AdapterProviders, Providers } from '../providers' diff --git a/packages/client/tests/functional/_utils/setupTestSuiteClient.ts b/packages/client/tests/functional/_utils/setupTestSuiteClient.ts index 6bd08b079a0a..8ee1aecc0c36 100644 --- a/packages/client/tests/functional/_utils/setupTestSuiteClient.ts +++ b/packages/client/tests/functional/_utils/setupTestSuiteClient.ts @@ -1,9 +1,11 @@ import type { D1Database } from '@cloudflare/workers-types' +import { SqlQueryOutput } from '@prisma/generator-helper' import { getConfig, getDMMF, parseEnvValue } from '@prisma/internals' import { readFile } from 'fs/promises' import path from 'path' import { fetch, WebSocket } from 'undici' +import { introspectSql } from '../../../../cli/src/generate/introspectSql' import { generateClient } from '../../../src/generation/generateClient' import { PrismaClientOptions } from '../../../src/runtime/getPrismaClient' import type { NamedTestSuiteConfig } from './getTestSuiteInfo' @@ -12,6 +14,7 @@ import { getTestSuitePreviewFeatures, getTestSuiteSchema, getTestSuiteSchemaPath, + testSuiteHasTypedSql, } from './getTestSuiteInfo' import { AdapterProviders } from './providers' import { DatasourceInfo, setupTestSuiteDatabase, setupTestSuiteFiles, setupTestSuiteSchema } from './setupTestSuiteEnv' @@ -24,7 +27,7 @@ const runtimeBase = path.join(__dirname, '..', '..', '..', 'runtime') * Does the necessary setup to get a test suite client ready to run. * @param suiteMeta * @param suiteConfig - * @returns loaded client module + * @returns tuple of loaded client folder + loaded sql folder */ export async function setupTestSuiteClient({ cliMeta, @@ -46,11 +49,13 @@ export async function setupTestSuiteClient({ cfWorkerBindings?: Record }) { const suiteFolderPath = getTestSuiteFolderPath({ suiteMeta, suiteConfig }) + const schemaPath = getTestSuiteSchemaPath({ suiteMeta, suiteConfig }) const schema = getTestSuiteSchema({ cliMeta, suiteMeta, matrixOptions: suiteConfig.matrixOptions }) const previewFeatures = getTestSuitePreviewFeatures(schema) - const dmmf = await getDMMF({ datamodel: schema, previewFeatures }) - const config = await getConfig({ datamodel: schema, ignoreEnvVarErrors: true }) + const dmmf = await getDMMF({ datamodel: [[schemaPath, schema]], previewFeatures }) + const config = await getConfig({ datamodel: [[schemaPath, schema]], ignoreEnvVarErrors: true }) const generator = config.generators.find((g) => parseEnvValue(g.provider) === 'prisma-client-js')! + const hasTypedSql = await testSuiteHasTypedSql(suiteMeta) await setupTestSuiteFiles({ suiteMeta, suiteConfig }) await setupTestSuiteSchema({ suiteMeta, suiteConfig, schema }) @@ -62,6 +67,11 @@ export async function setupTestSuiteClient({ await setupTestSuiteDatabase({ suiteMeta, suiteConfig, alterStatementCallback, cfWorkerBindings }) } + let typedSql: SqlQueryOutput[] | undefined + if (hasTypedSql) { + typedSql = await introspectSql(schemaPath) + } + if (clientMeta.dataProxy === true) { process.env[datasourceInfo.envVarName] = datasourceInfo.dataProxyUrl } else { @@ -70,7 +80,7 @@ export async function setupTestSuiteClient({ await generateClient({ datamodel: schema, - schemaPath: getTestSuiteSchemaPath({ suiteMeta, suiteConfig }), + schemaPath, binaryPaths: { libqueryEngine: {}, queryEngine: {} }, datasources: config.datasources, outputDir: path.join(suiteFolderPath, 'node_modules/@prisma/client'), @@ -83,15 +93,31 @@ export async function setupTestSuiteClient({ activeProvider: suiteConfig.matrixOptions.provider, runtimeBase: runtimeBase, copyEngine: !clientMeta.dataProxy, + typedSql, }) - const clientPathForRuntime: Record = { - node: 'node_modules/@prisma/client', - edge: 'node_modules/@prisma/client/edge', - wasm: 'node_modules/@prisma/client/wasm', + const clientPathForRuntime: Record = { + node: { + client: 'node_modules/@prisma/client', + sql: 'node_modules/@prisma/client/sql', + }, + edge: { + client: 'node_modules/@prisma/client/edge', + sql: 'node_modules/@prisma/client/sql/index.edge.js', + }, + wasm: { + client: 'node_modules/@prisma/client/wasm', + sql: 'node_modules/@prisma/client/sql/index.wasm.js', + }, + } + + const clientModule = require(path.join(suiteFolderPath, clientPathForRuntime[clientMeta.runtime].client)) + let sqlModule = undefined + if (hasTypedSql) { + sqlModule = require(path.join(suiteFolderPath, clientPathForRuntime[clientMeta.runtime].sql)) } - return require(path.join(suiteFolderPath, clientPathForRuntime[clientMeta.runtime])) + return [clientModule, sqlModule] } /** diff --git a/packages/client/tests/functional/_utils/setupTestSuiteEnv.ts b/packages/client/tests/functional/_utils/setupTestSuiteEnv.ts index d00b540ab7e7..5f73a6e49dfa 100644 --- a/packages/client/tests/functional/_utils/setupTestSuiteEnv.ts +++ b/packages/client/tests/functional/_utils/setupTestSuiteEnv.ts @@ -12,7 +12,7 @@ import { DbDrop } from '../../../../migrate/src/commands/DbDrop' import { DbExecute } from '../../../../migrate/src/commands/DbExecute' import { DbPush } from '../../../../migrate/src/commands/DbPush' import type { NamedTestSuiteConfig } from './getTestSuiteInfo' -import { getTestSuiteFolderPath, getTestSuiteSchemaPath } from './getTestSuiteInfo' +import { getTestSuiteFolderPath, getTestSuiteSchemaPath, testSuiteHasTypedSql } from './getTestSuiteInfo' import { AdapterProviders, Providers } from './providers' import type { TestSuiteMeta } from './setupTestSuiteMatrix' import { AlterStatementCallback, ClientMeta } from './types' @@ -33,6 +33,9 @@ export async function setupTestSuiteFiles({ // we copy the minimum amount of files needed for the test suite await fs.copy(path.join(suiteMeta.testRoot, 'prisma'), path.join(suiteFolder, 'prisma')) + if (await testSuiteHasTypedSql(suiteMeta)) { + await fs.copy(suiteMeta.sqlPath, path.join(suiteFolder, 'prisma', 'sql')) + } await fs.mkdir(path.join(suiteFolder, suiteMeta.rootRelativeTestDir), { recursive: true }) await copyPreprocessed({ from: suiteMeta.testPath, @@ -405,7 +408,7 @@ function getDbUrl(provider: Providers): string { case Providers.SQLSERVER: return requireEnvVariable('TEST_FUNCTIONAL_MSSQL_URI') default: - assertNever(provider, `No URL for provider ${provider} configured`) + return assertNever(provider, `No URL for provider ${provider} configured`) } } diff --git a/packages/client/tests/functional/_utils/setupTestSuiteMatrix.ts b/packages/client/tests/functional/_utils/setupTestSuiteMatrix.ts index 7aa6ec127030..ee6a86dc9b46 100644 --- a/packages/client/tests/functional/_utils/setupTestSuiteMatrix.ts +++ b/packages/client/tests/functional/_utils/setupTestSuiteMatrix.ts @@ -108,7 +108,7 @@ function setupTestSuiteMatrix( cfWorkerBindings = env } - globalThis['loaded'] = await setupTestSuiteClient({ + const [clientModule, sqlModule] = await setupTestSuiteClient({ cliMeta, suiteMeta, suiteConfig, @@ -119,6 +119,8 @@ function setupTestSuiteMatrix( cfWorkerBindings, }) + globalThis['loaded'] = clientModule + const newDriverAdapter = () => setupTestSuiteClientDriverAdapter({ suiteConfig, @@ -128,7 +130,7 @@ function setupTestSuiteMatrix( }) globalThis['newPrismaClient'] = (args: any) => { - const { PrismaClient, Prisma } = globalThis['loaded'] + const { PrismaClient, Prisma } = clientModule const options = { ...newDriverAdapter(), ...args } const client = new PrismaClient(options) @@ -143,7 +145,9 @@ function setupTestSuiteMatrix( globalThis['prisma'] = globalThis['newPrismaClient']() as Client } - globalThis['Prisma'] = (await global['loaded'])['Prisma'] + globalThis['Prisma'] = clientModule['Prisma'] + + globalThis['sql'] = sqlModule globalThis['db'] = { setupDb: () => @@ -208,6 +212,7 @@ function setupTestSuiteMatrix( delete globalThis['loaded'] delete globalThis['prisma'] delete globalThis['Prisma'] + delete globalThis['sql'] delete globalThis['newPrismaClient'] }, 180_000) diff --git a/packages/client/tests/functional/batch-transaction-isolation-level/tests.ts b/packages/client/tests/functional/batch-transaction-isolation-level/tests.ts index 3f7dbb320314..d52bb0621bc2 100644 --- a/packages/client/tests/functional/batch-transaction-isolation-level/tests.ts +++ b/packages/client/tests/functional/batch-transaction-isolation-level/tests.ts @@ -1,3 +1,4 @@ +import { Providers } from '../_utils/providers' import { waitFor } from '../_utils/tests/waitFor' import { NewPrismaClient } from '../_utils/types' import testMatrix from './_matrix' @@ -8,7 +9,9 @@ declare let newPrismaClient: NewPrismaClient declare let Prisma: typeof PrismaNamespace testMatrix.setupTestSuite( - (_suiteConfig, _suiteMeta, _clientMeta) => { + ({ provider }, _suiteMeta, _clientMeta) => { + const isSqlServer = provider === Providers.SQLSERVER + const queries: string[] = [] let prisma: PrismaClient @@ -66,10 +69,15 @@ testMatrix.setupTestSuite( expectSql: 'SET TRANSACTION ISOLATION LEVEL SERIALIZABLE', }) - test('default value generates no SET TRANSACTION ISOLATION LEVEL statements', async () => { + test('default value generates no SET TRANSACTION ISOLATION LEVEL statements (unless running MSSQL)', async () => { await prisma.$transaction([prisma.user.findFirst({}), prisma.user.findFirst({})]) - expect(queries.find((q) => q.includes('SET TRANSACTION ISOLATION LEVEL'))).toBeUndefined() + const match = queries.find((q) => q.includes('SET TRANSACTION ISOLATION LEVEL')) + if (isSqlServer) { + expect(match).toBeDefined() + } else { + expect(match).toBeUndefined() + } }) test('invalid level generates run- and compile- time error', async () => { diff --git a/packages/client/tests/functional/datasource-overrides/prisma/_schema.ts b/packages/client/tests/functional/datasource-overrides/prisma/_schema.ts index 6b7bf6280bde..acdb764e4050 100644 --- a/packages/client/tests/functional/datasource-overrides/prisma/_schema.ts +++ b/packages/client/tests/functional/datasource-overrides/prisma/_schema.ts @@ -5,6 +5,7 @@ export default testMatrix.setupSchema(({ provider }) => { return /* Prisma */ ` generator client { provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] } datasource db { diff --git a/packages/client/tests/functional/datasource-overrides/tests.ts b/packages/client/tests/functional/datasource-overrides/tests.ts index d9e3d1769ac7..4afceefafdad 100644 --- a/packages/client/tests/functional/datasource-overrides/tests.ts +++ b/packages/client/tests/functional/datasource-overrides/tests.ts @@ -1,3 +1,6 @@ +import { PrismaPg } from '@prisma/adapter-pg' +import { Pool } from 'pg' + import { NewPrismaClient } from '../_utils/types' import testMatrix from './_matrix' // @ts-ignore @@ -6,7 +9,7 @@ import type { PrismaClient } from './node_modules/@prisma/client' declare let newPrismaClient: NewPrismaClient testMatrix.setupTestSuite( - ({ provider, clientRuntime }, suiteMeta, clientMeta) => { + ({ provider, driverAdapter }, _suiteMeta, clientMeta) => { let dbURL: string beforeAll(() => { dbURL = process.env[`DATABASE_URI_${provider}`]! @@ -17,52 +20,85 @@ testMatrix.setupTestSuite( process.env[`DATABASE_URI_${provider}`] = dbURL }) - // TODO: Fails with Expected PrismaClientInitError, Received Error - skipTestIf(clientRuntime === 'wasm')('verify that connect fails without override', async () => { - // this a smoke to verify that our beforeAll setup worked correctly and right - // url won't be picked up by Prisma client anymore. - // If this test fails, subsequent tests can't be trusted regardless of whether or not they pass or not. - - const prisma = newPrismaClient() - const expectedError = clientMeta.dataProxy - ? { name: 'InvalidDatasourceError' } - : { name: 'PrismaClientInitializationError' } + describeIf(driverAdapter === undefined)('default case: no Driver Adapter', () => { + test('verify that connect fails without override', async () => { + // this a smoke to verify that our beforeAll setup worked correctly and right + // url won't be picked up by Prisma client anymore. + // If this test fails, subsequent tests can't be trusted regardless of whether or not they pass or not. - await expect(prisma.$connect()).rejects.toMatchObject(expectedError) - }) + const prisma = newPrismaClient() + const expectedError = clientMeta.dataProxy + ? { name: 'InvalidDatasourceError' } + : { name: 'PrismaClientInitializationError' } - test('does not throw when URL is overriden (long syntax)', async () => { - const prisma = newPrismaClient({ - datasources: { - db: { url: dbURL }, - }, + await expect(prisma.$connect()).rejects.toMatchObject(expectedError) }) - await expect(prisma.$connect()).resolves.not.toThrow() - }) - test('does not throw when URL is overridden (shortcut)', async () => { - const prisma = newPrismaClient({ - datasourceUrl: dbURL, - }) - await expect(prisma.$connect()).resolves.not.toThrow() - }) - - test('throws when both short and long override properties used at the same time', () => { - expect(() => { - newPrismaClient({ + test('does not throw when URL is overriden (long syntax)', async () => { + const prisma = newPrismaClient({ datasources: { db: { url: dbURL }, }, + }) + await expect(prisma.$connect()).resolves.not.toThrow() + }) + + test('does not throw when URL is overridden (shortcut)', async () => { + const prisma = newPrismaClient({ datasourceUrl: dbURL, }) - }).toThrow('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them') + await expect(prisma.$connect()).resolves.not.toThrow() + }) + + test('throws when both short and long override properties used at the same time', () => { + expect(() => { + newPrismaClient({ + datasources: { + db: { url: dbURL }, + }, + datasourceUrl: dbURL, + }) + }).toThrow('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them') + }) + }) + + describeIf(driverAdapter === 'js_pg')('custom datasource should not be used with driver adapter', () => { + const pool = new Pool({ + connectionString: dbURL, + }) + + const adapter = new PrismaPg(pool) + + test('throws when both `datasourceUrl` and `adapter` are used at the same time', () => { + expect(() => { + newPrismaClient({ + adapter, + datasourceUrl: dbURL, + }) + }).toThrow( + 'Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.', + ) + }) + + test('throws when both `datasources` and `adapter` are used at the same time', () => { + expect(() => { + newPrismaClient({ + adapter, + datasources: { + db: { url: dbURL }, + }, + }) + }).toThrow( + 'Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.', + ) + }) }) }, { skipDefaultClientInstance: true, skipDriverAdapter: { - from: ['js_libsql', 'js_planetscale', 'js_pg', 'js_neon', 'js_d1'], - reason: 'Datasource override do not work with driver adapter - See https://github.com/prisma/team-orm/issues/751', + from: ['js_planetscale', 'js_neon', 'js_d1', 'js_libsql'], + reason: 'We only need to check a single driver adapter. We can skip the rest.', }, skipDataProxy: { runtimes: ['edge'], diff --git a/packages/client/tests/functional/driver-adapters/_utils/mock-adapter.ts b/packages/client/tests/functional/driver-adapters/_utils/mock-adapter.ts index 47dadc3f8da3..2e0d7c051f33 100644 --- a/packages/client/tests/functional/driver-adapters/_utils/mock-adapter.ts +++ b/packages/client/tests/functional/driver-adapters/_utils/mock-adapter.ts @@ -6,7 +6,7 @@ import { getDriverAdaptersProvider } from './provider' export const mockAdapterErrors = { queryRaw: new Error('Not implemented: queryRaw'), executeRaw: new Error('Not implemented: executeRaw'), - startTransaction: new Error('Not implemented: startTransaction'), + transactionContext: new Error('Not implemented: transactionContext'), } /** @@ -15,10 +15,9 @@ export const mockAdapterErrors = { export function mockAdapter(provider: Provider): DriverAdapter { return { provider: getDriverAdaptersProvider(provider), - // TODO: this should be the package name to be exact, but it's not used in the tests yet - adapterName: `mock-adapter-${getDriverAdaptersProvider(provider)}`, + adapterName: getDriverAdaptersProvider(provider), queryRaw: () => Promise.reject(mockAdapterErrors.queryRaw), executeRaw: () => Promise.reject(mockAdapterErrors.executeRaw), - startTransaction: () => Promise.reject(mockAdapterErrors.startTransaction), + transactionContext: () => Promise.reject(mockAdapterErrors.transactionContext), } } diff --git a/packages/client/tests/functional/driver-adapters/error-forwarding/tests.ts b/packages/client/tests/functional/driver-adapters/error-forwarding/tests.ts index 8424667b9474..dd516842b595 100644 --- a/packages/client/tests/functional/driver-adapters/error-forwarding/tests.ts +++ b/packages/client/tests/functional/driver-adapters/error-forwarding/tests.ts @@ -35,17 +35,17 @@ testMatrix.setupTestSuite( }, }, }) - await expect(result).rejects.toBe(mockAdapterErrors.startTransaction) + await expect(result).rejects.toBe(mockAdapterErrors.transactionContext) }) test('correctly forwards error for batch transactions', async () => { const result = prisma.$transaction([prisma.user.create({}), prisma.user.create({})]) - await expect(result).rejects.toBe(mockAdapterErrors.startTransaction) + await expect(result).rejects.toBe(mockAdapterErrors.transactionContext) }) test('correctly forwards error for itx', async () => { const result = prisma.$transaction(() => Promise.resolve()) - await expect(result).rejects.toBe(mockAdapterErrors.startTransaction) + await expect(result).rejects.toBe(mockAdapterErrors.transactionContext) }) }, { diff --git a/packages/client/tests/functional/driver-adapters/team-orm-687-bytes/tests.ts b/packages/client/tests/functional/driver-adapters/team-orm-687-bytes/tests.ts index a91f30aae280..6ba05c76b6f9 100644 --- a/packages/client/tests/functional/driver-adapters/team-orm-687-bytes/tests.ts +++ b/packages/client/tests/functional/driver-adapters/team-orm-687-bytes/tests.ts @@ -13,24 +13,12 @@ testMatrix.setupTestSuite( const inputs = [...inputStrings, ...inputBtoas] const inputBuffers = inputs.map((s) => Buffer.from(s)) - const inputData = inputBuffers.map((b, i) => ({ id: `${i + 1}`, bytes: b })) + const inputData = inputBuffers.map((b, i) => ({ id: `${i + 1}`, bytes: new Uint8Array(b) })) // sqlite doesn't support `createMany` yet await prisma.$transaction(inputData.map((data) => prisma.a.create({ data }))) - const results = await prisma.a.findMany() - - // We can't compare buffers directly, or else we'd see this diff in the test output: - // ``` - // - "bytes": Buffer [ - // + "bytes": C [ - // ``` - const outputData = results.map((result) => { - return { - id: result.id, - bytes: Buffer.from(result.bytes), - } - }) + const outputData = await prisma.a.findMany() expect(outputData).toEqual(inputData) }) diff --git a/packages/client/tests/functional/driver-adapters/validate-active-provider/_matrix.ts b/packages/client/tests/functional/driver-adapters/validate-active-provider/_matrix.ts new file mode 100644 index 000000000000..5b66776db0b9 --- /dev/null +++ b/packages/client/tests/functional/driver-adapters/validate-active-provider/_matrix.ts @@ -0,0 +1,19 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [ + [ + { + driverAdapter: 'js_pg', + provider: Providers.MYSQL, + }, + { + driverAdapter: 'js_planetscale', + provider: Providers.SQLITE, + }, + { + driverAdapter: 'js_d1', + provider: Providers.POSTGRESQL, + }, + ], +]) diff --git a/packages/client/tests/functional/driver-adapters/validate-active-provider/prisma/_schema.ts b/packages/client/tests/functional/driver-adapters/validate-active-provider/prisma/_schema.ts new file mode 100644 index 000000000000..e6780b46894b --- /dev/null +++ b/packages/client/tests/functional/driver-adapters/validate-active-provider/prisma/_schema.ts @@ -0,0 +1,20 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider, url }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] + } + + datasource db { + provider = "${provider}" + url = "${url}" + } + + model User { + id ${idForProvider(provider)} + } + ` +}) diff --git a/packages/client/tests/functional/driver-adapters/validate-active-provider/tests.ts b/packages/client/tests/functional/driver-adapters/validate-active-provider/tests.ts new file mode 100644 index 000000000000..2e6a9b491c6c --- /dev/null +++ b/packages/client/tests/functional/driver-adapters/validate-active-provider/tests.ts @@ -0,0 +1,104 @@ +import path from 'node:path' + +import type { D1Database } from '@cloudflare/workers-types' +import { Client as PlanetScaleClient } from '@planetscale/database' +import { PrismaD1 } from '@prisma/adapter-d1' +import { PrismaPg } from '@prisma/adapter-pg' +import { PrismaPlanetScale } from '@prisma/adapter-planetscale' +import { Pool } from 'pg' +import { getPlatformProxy } from 'wrangler' + +import type { PrismaClientInitializationError } from '../../../../src/runtime/core/errors/PrismaClientInitializationError' +import { Providers } from '../../_utils/providers' +import { type DatasourceInfo } from '../../_utils/setupTestSuiteEnv' +import { NewPrismaClient } from '../../_utils/types' +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let datasourceInfo: DatasourceInfo +declare let newPrismaClient: NewPrismaClient + +// https://github.com/prisma/prisma/issues/21864 +testMatrix.setupTestSuite( + ({ driverAdapter, provider }) => { + testIf(driverAdapter === 'js_pg' && provider === Providers.MYSQL)( + '@prisma/adapter-pg cannot be used with `provider = "mysql"`', + () => { + expect.assertions(2) + + const pool = new Pool({ connectionString: datasourceInfo.databaseUrl }) + const adapter = new PrismaPg(pool) + + try { + newPrismaClient({ + adapter, + }) + } catch (error) { + const e = error as PrismaClientInitializationError + expect(e.constructor.name).toEqual('PrismaClientInitializationError') + expect(e.message).toMatchInlineSnapshot( + `"The Driver Adapter \`@prisma/adapter-pg\`, based on \`postgres\`, is not compatible with the provider \`mysql\` specified in the Prisma schema."`, + ) + } + }, + ) + + testIf(driverAdapter === 'js_planetscale' && provider === Providers.SQLITE)( + '@prisma/adapter-planetscale cannot be used with `provider = "sqlite"`', + () => { + expect.assertions(2) + + const planetscale = new PlanetScaleClient({ url: datasourceInfo.databaseUrl, fetch }) + const adapter = new PrismaPlanetScale(planetscale) + + try { + newPrismaClient({ + adapter, + }) + } catch (error) { + const e = error as PrismaClientInitializationError + expect(e.constructor.name).toEqual('PrismaClientInitializationError') + expect(e.message).toMatchInlineSnapshot( + `"The Driver Adapter \`@prisma/adapter-planetscale\`, based on \`mysql\`, is not compatible with the provider \`sqlite\` specified in the Prisma schema."`, + ) + } + }, + ) + + testIf(driverAdapter === 'js_d1' && provider === Providers.POSTGRESQL)( + '@prisma/adapter-d1 cannot be used with `provider = "postgresql"`', + async () => { + expect.assertions(2) + + const { env, dispose } = await getPlatformProxy<{ D1_DATABASE: D1Database }>({ + configPath: path.join(__dirname, './wrangler.toml'), + }) + const d1Client = env.D1_DATABASE + const adapter = new PrismaD1(d1Client) + + try { + newPrismaClient({ + adapter, + }) + } catch (error) { + const e = error as PrismaClientInitializationError + expect(e.constructor.name).toEqual('PrismaClientInitializationError') + expect(e.message).toMatchInlineSnapshot( + `"The Driver Adapter \`@prisma/adapter-d1\`, based on \`sqlite\`, is not compatible with the provider \`postgres\` specified in the Prisma schema."`, + ) + } finally { + await dispose() + } + }, + ) + }, + { + skipDb: true, + skipDefaultClientInstance: true, + optOut: { + from: ['cockroachdb', 'mongodb', 'sqlserver'], + reason: `We don't have Driver Adapters for these databases yet.`, + }, + }, +) diff --git a/packages/client/tests/functional/driver-adapters/validate-active-provider/wrangler.toml b/packages/client/tests/functional/driver-adapters/validate-active-provider/wrangler.toml new file mode 100644 index 000000000000..a9cacc4775b1 --- /dev/null +++ b/packages/client/tests/functional/driver-adapters/validate-active-provider/wrangler.toml @@ -0,0 +1,10 @@ + +name = "functional-tests-config" +main = "src/index.ts" +compatibility_date = "2023-12-18" + +[[d1_databases]] +binding = "D1_DATABASE" # i.e. available in the Worker on env.MY_DATABASE +database_name = "my-d1-db" +# This is necessary for `wrangler d1 execute ...` +database_id = "c5668576-7e66-456c-aa5c-aef936b4be70" diff --git a/packages/client/tests/functional/enums/_matrix.ts b/packages/client/tests/functional/enums/_matrix.ts index 188996475c0d..131194b2dfb3 100644 --- a/packages/client/tests/functional/enums/_matrix.ts +++ b/packages/client/tests/functional/enums/_matrix.ts @@ -15,5 +15,8 @@ export default defineMatrix(() => [ { provider: Providers.COCKROACHDB, }, + { + provider: Providers.SQLITE, + }, ], ]) diff --git a/packages/client/tests/functional/enums/tests.ts b/packages/client/tests/functional/enums/tests.ts index f3b771c2a0a0..013e746c207b 100644 --- a/packages/client/tests/functional/enums/tests.ts +++ b/packages/client/tests/functional/enums/tests.ts @@ -1,7 +1,8 @@ import { expectTypeOf } from 'expect-type' -import testMatrix from './_matrix' // @ts-ignore +import { Providers } from '../_utils/providers' +import testMatrix from './_matrix' import type * as imports from './node_modules/@prisma/client' declare let prisma: imports.PrismaClient @@ -10,7 +11,7 @@ declare let loaded: { } testMatrix.setupTestSuite( - () => { + ({ provider }) => { test('can create data with an enum value', async () => { const { Plan } = loaded @@ -51,10 +52,42 @@ testMatrix.setupTestSuite( expectTypeOf(value).toEqualTypeOf<'CUSTOM'>() expectTypeOf().toEqualTypeOf<'CUSTOM' | 'FREE' | 'PAID'>() }) + + testIf(provider == Providers.SQLITE)( + 'fails at runtime when an invalid entry is entered manually in SQLite', + async () => { + // @ts-test-if: provider !== Providers.MONGODB + await prisma.$executeRaw`INSERT INTO "User" ("id", "plan") VALUES ('2', 'NONFREE')` + const result = await prisma.user.findMany().catch((e) => e) + + expect(result).toBeInstanceOf(Error) + expect(result.message).toMatch(/Value 'NONFREE' not found in enum 'Plan'/) + }, + ) + + testIf(provider == Providers.MONGODB)( + 'fails at runtime when an invalid entry is entered manually in Mongo', + async () => { + // @ts-test-if: provider === Providers.MONGODB + await prisma.$runCommandRaw({ + insert: 'User', + documents: [ + { + _id: '2', + plan: 'NONFREE', + }, + ], + }) + const result = await prisma.user.findMany().catch((e) => e) + + expect(result).toBeInstanceOf(Error) + expect(result.message).toMatch(/Value 'NONFREE' not found in enum 'Plan'/) + }, + ) }, { optOut: { - from: ['sqlite', 'sqlserver'], + from: ['sqlserver'], reason: 'enum values are not supported', }, }, diff --git a/packages/client/tests/functional/extended-where/validation.ts b/packages/client/tests/functional/extended-where/validation.ts index db0db2fed5ab..cd5702ea5ec5 100644 --- a/packages/client/tests/functional/extended-where/validation.ts +++ b/packages/client/tests/functional/extended-where/validation.ts @@ -31,8 +31,8 @@ testMatrix.setupTestSuite((_0, _1, { runtime }) => { ? OR?: UserWhereInput[], ? NOT?: UserWhereInput | UserWhereInput[], ? posts?: PostListRelationFilter, - ? profile?: ProfileNullableRelationFilter | ProfileWhereInput | Null, - ? payment?: PaymentNullableRelationFilter | PaymentWhereInput | Null + ? profile?: ProfileNullableScalarRelationFilter | ProfileWhereInput | Null, + ? payment?: PaymentNullableScalarRelationFilter | PaymentWhereInput | Null } }) @@ -66,7 +66,7 @@ testMatrix.setupTestSuite((_0, _1, { runtime }) => { ? OR?: UserWhereInput[], ? NOT?: UserWhereInput | UserWhereInput[], ? posts?: PostListRelationFilter, - ? payment?: PaymentNullableRelationFilter | PaymentWhereInput | Null + ? payment?: PaymentNullableScalarRelationFilter | PaymentWhereInput | Null } }) diff --git a/packages/client/tests/functional/extensions/client.ts b/packages/client/tests/functional/extensions/client.ts index 8f2d2a2a421f..3239ef6fcd16 100644 --- a/packages/client/tests/functional/extensions/client.ts +++ b/packages/client/tests/functional/extensions/client.ts @@ -288,11 +288,11 @@ testMatrix.setupTestSuite(() => { const typeDataSql = await xprisma.$transaction([ // @ts-test-if: provider !== Providers.MONGODB - xprisma.$executeRaw<1>(Prisma.sql`...`), + xprisma.$executeRaw(Prisma.sql`...`), // @ts-test-if: provider !== Providers.MONGODB - xprisma.$executeRaw<2>`...`, + xprisma.$executeRaw`...`, // @ts-test-if: provider !== Providers.MONGODB - xprisma.$executeRawUnsafe<3>('...'), + xprisma.$executeRawUnsafe('...'), // @ts-test-if: provider !== Providers.MONGODB xprisma.$queryRaw<4>(Prisma.sql`...`), // @ts-test-if: provider !== Providers.MONGODB @@ -302,7 +302,7 @@ testMatrix.setupTestSuite(() => { ]) // @ts-test-if: provider !== Providers.MONGODB - expectTypeOf(typeDataSql).toEqualTypeOf<[1, 2, 3, 4, 5, 6]>() + expectTypeOf(typeDataSql).toEqualTypeOf<[number, number, number, 4, 5, 6]>() const defaultDataSql = await xprisma.$transaction([ // @ts-test-if: provider !== Providers.MONGODB @@ -322,14 +322,6 @@ testMatrix.setupTestSuite(() => { // @ts-test-if: provider !== Providers.MONGODB expectTypeOf(defaultDataSql).toEqualTypeOf<[number, number, number, unknown, unknown, unknown]>() - const typeDataMongo = await xprisma.$transaction([ - // @ts-test-if: provider === Providers.MONGODB - xprisma.$runCommandRaw<1>({ value: '...' }), - ]) - - // @ts-test-if: provider === Providers.MONGODB - expectTypeOf(typeDataMongo).toEqualTypeOf<[1]>() - const defaultDataMongo = await xprisma.$transaction([ // @ts-test-if: provider === Providers.MONGODB xprisma.$runCommandRaw({ value: '...' }), diff --git a/packages/client/tests/functional/extensions/defineExtension.ts b/packages/client/tests/functional/extensions/defineExtension.ts index 651aad36afe1..3ff061fc8837 100644 --- a/packages/client/tests/functional/extensions/defineExtension.ts +++ b/packages/client/tests/functional/extensions/defineExtension.ts @@ -333,6 +333,12 @@ function allResultsGenericExtensionObjectViaDefault() { _updateMany(this: T, _args: PrismaDefault.Exact>) { return {} as PrismaDefault.Result }, + _updateManyAndReturn( + this: T, + _args: PrismaDefault.Exact>, + ) { + return {} as PrismaDefault.Result + }, _upsert(this: T, _args: PrismaDefault.Exact>) { return {} as PrismaDefault.Result }, @@ -619,6 +625,12 @@ testMatrix.setupTestSuite(() => { const updateMany = await prisma.user.updateMany({ where: { id: '1' }, data: { email: '' } }) expectTypeOf().toEqualTypeOf() + const _updateManyAndReturn = xprisma.user._updateManyAndReturn({ where: { id: '1' }, data: { email: '' } }) + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + const updateManyAndReturn = await prisma.user.updateManyAndReturn({ where: { id: '1' }, data: { email: '' } }) + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf().toEqualTypeOf() + const _upsert = xprisma.user._upsert({ where: { id: '1' }, create: { email: '', firstName: '', lastName: '' }, diff --git a/packages/client/tests/functional/extensions/itx.ts b/packages/client/tests/functional/extensions/itx.ts index 9927bb2dda51..a44210f3b318 100644 --- a/packages/client/tests/functional/extensions/itx.ts +++ b/packages/client/tests/functional/extensions/itx.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-redundant-type-constituents */ import { faker } from '@faker-js/faker' import { copycat } from '@snaplet/copycat' import { expectTypeOf } from 'expect-type' @@ -230,39 +229,50 @@ testMatrix.setupTestSuite( ).resolves.not.toThrow() }) - test('middleware exclude from transaction also works with extended client', async () => { - const xprisma = prisma.$extends({}) + // This test can lead to a deadlock on SQLite because we start a write transaction and a write query outside of it + // at the same time, and completing the transaction requires the query to finish. This leads a SQLITE_BUSY error + // after 5 seconds if the transaction grabs the lock first. For this test to work on SQLite, we need to expose + // SQLite transaction types in transaction options and make this transaction DEFERRED instead of IMMEDIATE. + testIf(provider !== Providers.SQLITE)( + 'middleware exclude from transaction also works with extended client', + async () => { + const xprisma = prisma.$extends({}) - prisma.$use((params, next) => { - return next({ ...params, runInTransaction: false }) - }) + prisma.$use((params, next) => { + return next({ ...params, runInTransaction: false }) + }) - const usersBefore = await xprisma.user.findMany() + const usersBefore = await xprisma.user.findMany() - await xprisma - .$transaction(async (prisma) => { - await prisma.user.create({ - data: { - email: 'jane@smith.com', - firstName: 'Jane', - lastName: 'Smith', - }, - }) + await xprisma + .$transaction(async (prisma) => { + await prisma.user.create({ + data: { + email: 'jane@smith.com', + firstName: 'Jane', + lastName: 'Smith', + }, + }) - await prisma.user.create({ - data: { - email: 'jane@smith.com', - firstName: 'Jane', - lastName: 'Smith', - }, + await prisma.user.create({ + data: { + email: 'jane@smith.com', + firstName: 'Jane', + lastName: 'Smith', + }, + }) + }) + .catch((err) => { + if ((err as PrismaNamespace.PrismaClientKnownRequestError).code !== 'P2002') { + throw err + } }) - }) - .catch(() => {}) - const usersAfter = await xprisma.user.findMany() + const usersAfter = await xprisma.user.findMany() - expect(usersAfter).toHaveLength(usersBefore.length + 1) - }) + expect(usersAfter).toHaveLength(usersBefore.length + 1) + }, + ) test('client component is available within itx callback', async () => { const helper = jest.fn() @@ -288,9 +298,13 @@ testMatrix.setupTestSuite( testContextMethods(isTransaction: boolean) { const ctx = Prisma.getExtensionContext(this) + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents expectTypeOf(ctx.$connect).toEqualTypeOf() + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents expectTypeOf(ctx.$disconnect).toEqualTypeOf() + expectTypeOf(ctx.$transaction).toMatchTypeOf() + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents expectTypeOf(ctx.$extends).toEqualTypeOf() expectTypeOf(ctx).not.toHaveProperty('$use') expectTypeOf(ctx).not.toHaveProperty('$on') diff --git a/packages/client/tests/functional/extensions/model.ts b/packages/client/tests/functional/extensions/model.ts index 72e21d180cf0..688f36177701 100644 --- a/packages/client/tests/functional/extensions/model.ts +++ b/packages/client/tests/functional/extensions/model.ts @@ -15,6 +15,8 @@ declare const newPrismaClient: NewPrismaClient testMatrix.setupTestSuite( ({ provider }, _suiteMeta, _clientMeta, cliMeta) => { + const isSqlServer = provider === Providers.SQLSERVER + beforeEach(() => { prisma = newPrismaClient({ log: [{ emit: 'event', level: 'query' }], @@ -379,13 +381,17 @@ testMatrix.setupTestSuite( `) await waitFor(() => { - expect(fnEmitter).toHaveBeenCalledTimes(4) - expect(fnEmitter.mock.calls).toMatchObject([ + const expectation = [ [{ query: expect.stringContaining('BEGIN') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('COMMIT') }], - ]) + ] + if (isSqlServer) { + expectation.unshift([{ query: expect.stringContaining('SET TRANSACTION') }]) + } + expect(fnEmitter).toHaveBeenCalledTimes(expectation.length) + expect(fnEmitter.mock.calls).toMatchObject(expectation) }) }, ) @@ -432,13 +438,17 @@ testMatrix.setupTestSuite( `) await waitFor(() => { - expect(fnEmitter).toHaveBeenCalledTimes(4) - expect(fnEmitter.mock.calls).toMatchObject([ + const expectation = [ [{ query: expect.stringContaining('BEGIN') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('COMMIT') }], - ]) + ] + if (isSqlServer) { + expectation.unshift([{ query: expect.stringContaining('SET TRANSACTION') }]) + } + expect(fnEmitter).toHaveBeenCalledTimes(expectation.length) + expect(fnEmitter.mock.calls).toMatchObject(expectation) }) }, ) diff --git a/packages/client/tests/functional/extensions/query.ts b/packages/client/tests/functional/extensions/query.ts index 6059193722e0..cbcf0ef980b8 100644 --- a/packages/client/tests/functional/extensions/query.ts +++ b/packages/client/tests/functional/extensions/query.ts @@ -24,6 +24,8 @@ jest.retryTimes(3) testMatrix.setupTestSuite( ({ provider, driverAdapter }) => { + const isSqlServer = provider === Providers.SQLSERVER + beforeEach(async () => { prisma = newPrismaClient({ log: [{ emit: 'event', level: 'query' }], @@ -49,7 +51,6 @@ testMatrix.setupTestSuite( const fnPost = jest.fn() const fnEmitter = jest.fn() - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument prisma.$on('query', fnEmitter) const xprisma = prisma.$extends({ @@ -477,13 +478,17 @@ testMatrix.setupTestSuite( ] `) await waitFor(() => { - expect(fnEmitter).toHaveBeenCalledTimes(4) - expect(fnEmitter.mock.calls).toMatchObject([ + const expectation = [ [{ query: expect.stringContaining('BEGIN') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('COMMIT') }], - ]) + ] + if (isSqlServer) { + expectation.unshift([{ query: expect.stringContaining('SET TRANSACTION') }]) + } + expect(fnEmitter).toHaveBeenCalledTimes(expectation.length) + expect(fnEmitter.mock.calls).toMatchObject(expectation) }) }, ) @@ -518,13 +523,17 @@ testMatrix.setupTestSuite( } `) await waitFor(() => { - expect(fnEmitter).toHaveBeenCalledTimes(4) - expect(fnEmitter.mock.calls).toMatchObject([ + const expectation = [ [{ query: expect.stringContaining('BEGIN') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('COMMIT') }], - ]) + ] + if (isSqlServer) { + expectation.unshift([{ query: expect.stringContaining('SET TRANSACTION') }]) + } + expect(fnEmitter).toHaveBeenCalledTimes(expectation.length) + expect(fnEmitter.mock.calls).toMatchObject(expectation) }) }, ) @@ -571,7 +580,7 @@ testMatrix.setupTestSuite( `) await waitFor(() => { // user.findFirst 4 queries + post.findFirst 1 query - expect(fnEmitter).toHaveBeenCalledTimes(5) + expect(fnEmitter).toHaveBeenCalledTimes(isSqlServer ? 6 : 5) const calls = [...fnEmitter.mock.calls] // get rid of dandling post.findFirst query @@ -581,12 +590,17 @@ testMatrix.setupTestSuite( calls.pop() } - expect(calls).toMatchObject([ + const expectation = [ [{ query: expect.stringContaining('BEGIN') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('COMMIT') }], - ]) + ] + if (isSqlServer) { + expectation.unshift([{ query: expect.stringContaining('SET TRANSACTION') }]) + } + + expect(calls).toMatchObject(expectation) }) }) @@ -664,7 +678,7 @@ testMatrix.setupTestSuite( await waitFor(() => { // user.findFirst 4 queries + post.findFirst 1 query - expect(fnEmitter).toHaveBeenCalledTimes(5) + expect(fnEmitter).toHaveBeenCalledTimes(isSqlServer ? 6 : 5) const calls = [...fnEmitter.mock.calls] // get rid of dandling post.findFirst query @@ -675,12 +689,17 @@ testMatrix.setupTestSuite( } if (provider !== Providers.MONGODB) { - expect(calls).toMatchObject([ + const expectation = [ [{ query: expect.stringContaining('BEGIN') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('SELECT') }], [{ query: expect.stringContaining('COMMIT') }], - ]) + ] + if (isSqlServer) { + expectation.unshift([{ query: expect.stringContaining('SET TRANSACTION') }]) + } + + expect(calls).toMatchObject(expectation) } }) }) @@ -752,6 +771,7 @@ testMatrix.setupTestSuite( | 'createManyAndReturn' // PostgreSQL, CockroachDB & SQLite only | 'update' | 'updateMany' + | 'updateManyAndReturn' // PostgreSQL, CockroachDB & SQLite only | 'upsert' | 'delete' | 'deleteMany' @@ -809,7 +829,7 @@ testMatrix.setupTestSuite( expectTypeOf(args).not.toBeAny() expectTypeOf(query).toBeFunction() - expectTypeOf(operation).toMatchTypeOf< + expectTypeOf(operation).toMatchTypeOf < | 'findFirst' | 'findFirstOrThrow' | 'findUnique' @@ -820,6 +840,7 @@ testMatrix.setupTestSuite( | 'createManyAndReturn' // PostgreSQL, CockroachDB & SQLite only | 'update' | 'updateMany' + | 'updateManyAndReturn' // PostgreSQL, CockroachDB & SQLite only | 'upsert' | 'delete' | 'deleteMany' @@ -1360,6 +1381,18 @@ testMatrix.setupTestSuite( return data }, + async updateManyAndReturn({ args, query, operation }) { + const data = await query(args) + + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(operation).toEqualTypeOf<'updateManyAndReturn'>() + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(args).toEqualTypeOf() + expectTypeOf(data).toMatchTypeOf[]>() + expectTypeOf(data[0].posts).toMatchTypeOf[] | undefined>() + + return data + }, async upsert({ args, query, operation }) { const data = await query(args) @@ -1522,6 +1555,20 @@ testMatrix.setupTestSuite( return data } + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + if (operation === 'updateManyAndReturn') { + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + const data = await query(args) + + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(operation).toEqualTypeOf<'updateManyAndReturn'>() + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(args).toEqualTypeOf() + expectTypeOf(data).toMatchTypeOf[]>() + expectTypeOf(data[0].posts).toMatchTypeOf[] | undefined>() + + return data + } if (operation === 'upsert') { const data = await query(args) @@ -1690,6 +1737,20 @@ testMatrix.setupTestSuite( return data } + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + if (model === 'User' && operation === 'updateManyAndReturn') { + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + const data = await query(args) + + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(operation).toEqualTypeOf<'updateManyAndReturn'>() + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(args).toEqualTypeOf() + expectTypeOf(data).toMatchTypeOf[]>() + expectTypeOf(data[0].posts).toMatchTypeOf[] | undefined>() + + return data + } if (model === 'User' && operation === 'upsert') { const data = await query(args) @@ -1883,6 +1944,20 @@ testMatrix.setupTestSuite( return data }, + async updateManyAndReturn({ args, query, operation, model }) { + if (model !== 'User') return query(args) + + const data = await query(args) + + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(operation).toEqualTypeOf<'updateManyAndReturn'>() + // @ts-test-if: provider == Providers.POSTGRESQL || provider === Providers.COCKROACHDB || provider === Providers.SQLITE + expectTypeOf(args).toEqualTypeOf() + expectTypeOf(data).toMatchTypeOf[]>() + expectTypeOf(data[0].posts).toMatchTypeOf[] | undefined>() + + return data + }, async upsert({ args, query, operation, model }) { if (model !== 'User') return query(args) diff --git a/packages/client/tests/functional/field-reference/json/__snapshots__/tests.ts.snap b/packages/client/tests/functional/field-reference/json/__snapshots__/tests.ts.snap index 3cb7f98eb429..0e043c589887 100644 --- a/packages/client/tests/functional/field-reference/json/__snapshots__/tests.ts.snap +++ b/packages/client/tests/functional/field-reference/json/__snapshots__/tests.ts.snap @@ -83,3 +83,39 @@ Invalid \`prisma.product.findMany()\` invocation in → XX const products = prisma.product.findMany( Input error. Expected a referenced scalar field of type Json but found Product.title of type String." `; + +exports[`field-reference.json (provider=sqlite) wrong field type 1`] = ` +" +Invalid \`prisma.product.findMany()\` invocation in +/client/tests/functional/field-reference/json/tests.ts:0:0 + + XX + XX // TODO: Edge: skipped because of the error snapshot + XX testIf(runtime !== 'edge')('wrong field type', async () => { +→ XX const products = prisma.product.findMany( +Input error. Expected a referenced scalar field of type Json but found Product.title of type String." +`; + +exports[`field-reference.json (provider=sqlite, js_d1) wrong field type 1`] = ` +" +Invalid \`prisma.product.findMany()\` invocation in +/client/tests/functional/field-reference/json/tests.ts:0:0 + + XX + XX // TODO: Edge: skipped because of the error snapshot + XX testIf(runtime !== 'edge')('wrong field type', async () => { +→ XX const products = prisma.product.findMany( +Input error. Expected a referenced scalar field of type Json but found Product.title of type String." +`; + +exports[`field-reference.json (provider=sqlite, js_libsql) wrong field type 1`] = ` +" +Invalid \`prisma.product.findMany()\` invocation in +/client/tests/functional/field-reference/json/tests.ts:0:0 + + XX + XX // TODO: Edge: skipped because of the error snapshot + XX testIf(runtime !== 'edge')('wrong field type', async () => { +→ XX const products = prisma.product.findMany( +Input error. Expected a referenced scalar field of type Json but found Product.title of type String." +`; diff --git a/packages/client/tests/functional/field-reference/json/_matrix.ts b/packages/client/tests/functional/field-reference/json/_matrix.ts index 868c884f2e06..fe3419ef5815 100644 --- a/packages/client/tests/functional/field-reference/json/_matrix.ts +++ b/packages/client/tests/functional/field-reference/json/_matrix.ts @@ -6,6 +6,9 @@ export default defineMatrix(() => [ { provider: Providers.POSTGRESQL, }, + { + provider: Providers.SQLITE, + }, { provider: Providers.MYSQL, }, diff --git a/packages/client/tests/functional/field-reference/json/tests.ts b/packages/client/tests/functional/field-reference/json/tests.ts index ddbf503e4d64..8cad6bccd292 100644 --- a/packages/client/tests/functional/field-reference/json/tests.ts +++ b/packages/client/tests/functional/field-reference/json/tests.ts @@ -162,7 +162,7 @@ testMatrix.setupTestSuite( }, { optOut: { - from: ['sqlserver', 'sqlite'], + from: ['sqlserver'], reason: 'JSON column type is not supported', }, }, diff --git a/packages/client/tests/functional/fulltext-search/tests.ts b/packages/client/tests/functional/fulltext-search/tests.ts index 3fc157d3042c..b4bc3f90f3b3 100644 --- a/packages/client/tests/functional/fulltext-search/tests.ts +++ b/packages/client/tests/functional/fulltext-search/tests.ts @@ -95,8 +95,8 @@ testMatrix.setupTestSuite( // Remove `tsquery.c` line number to make error snapshots portable across PostgreSQL versions. .replace(/line: Some\(\d+\)/, 'line: Some(0)') // Align Rust / Driver Adapters divergences: "t1.[column]" -> "`User`.[column]" - .replace(/t1\./g, '`User`.') - .replace(' as t1', '') + .replace(/t0\./g, '`User`.') + .replace(' as t0', '') throw error }) diff --git a/packages/client/tests/functional/globalOmit/_matrix.ts b/packages/client/tests/functional/globalOmit/_matrix.ts new file mode 100644 index 000000000000..b7b968e320e7 --- /dev/null +++ b/packages/client/tests/functional/globalOmit/_matrix.ts @@ -0,0 +1,13 @@ +import { defineMatrix } from '../_utils/defineMatrix' +import { Providers } from '../_utils/providers' + +export default defineMatrix(() => [ + [ + { provider: Providers.SQLITE }, + { provider: Providers.POSTGRESQL }, + { provider: Providers.MYSQL }, + { provider: Providers.MONGODB }, + { provider: Providers.COCKROACHDB }, + { provider: Providers.SQLSERVER }, + ], +]) diff --git a/packages/client/tests/functional/globalOmit/prisma/_schema.ts b/packages/client/tests/functional/globalOmit/prisma/_schema.ts new file mode 100644 index 000000000000..77ea98157842 --- /dev/null +++ b/packages/client/tests/functional/globalOmit/prisma/_schema.ts @@ -0,0 +1,30 @@ +import { foreignKeyForProvider, idForProvider } from '../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model UserGroup { + id ${idForProvider(provider)} + name String + users User[] + } + + model User { + id ${idForProvider(provider)} + email String @unique + password String + highScore Int @default(0) + groupId ${foreignKeyForProvider(provider, { optional: true })} + group UserGroup? @relation(fields: [groupId], references: [id]) + } + ` +}) diff --git a/packages/client/tests/functional/globalOmit/test.ts b/packages/client/tests/functional/globalOmit/test.ts new file mode 100644 index 000000000000..debd3e119546 --- /dev/null +++ b/packages/client/tests/functional/globalOmit/test.ts @@ -0,0 +1,739 @@ +import { expectTypeOf } from 'expect-type' + +import { Providers } from '../_utils/providers' +import { NewPrismaClient } from '../_utils/types' +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma, PrismaClient } from './node_modules/@prisma/client' + +declare let newPrismaClient: NewPrismaClient +declare const prisma: PrismaClient + +// wrapper around newPrismaClient to correctly infer generic arguments. +// `newPrismaClient` by itself is not smart enough for that and I don't think +// we can make it smarter in a generic way, without having `PrismaClient` on hands. +function clientWithOmit(options: O): PrismaClient { + return newPrismaClient(options) as unknown as PrismaClient +} + +testMatrix.setupTestSuite(({ provider }) => { + beforeEach(async () => { + await prisma.userGroup.deleteMany() + await prisma.user.deleteMany() + await prisma.userGroup.create({ + data: { + name: 'Admins', + users: { + create: { + email: 'user@example.com', + password: 'hunter2', + }, + }, + }, + }) + }) + + test('throws if omit is not an object', () => { + expect(() => + clientWithOmit({ + // @ts-expect-error + omit: 'yes', + }), + ).toThrowErrorMatchingInlineSnapshot(` + ""omit" option is expected to be an object. + Read more at https://pris.ly/d/client-constructor" + `) + }) + + test('throws if omit is null', () => { + expect(() => + clientWithOmit({ + // @ts-expect-error + omit: null, + }), + ).toThrowErrorMatchingInlineSnapshot(` + ""omit" option can not be \`null\` + Read more at https://pris.ly/d/client-constructor" + `) + }) + + test('throws if unknown model is mentioned in omit', () => { + expect(() => + clientWithOmit({ + omit: { + // @ts-expect-error + notAUser: { + field: true, + }, + }, + }), + ).toThrowErrorMatchingInlineSnapshot(` + "Error validating "omit" option: + + { + notAUser: { + ~~~~~~~~ + field: true + } + } + + Unknown model name: notAUser. + Read more at https://pris.ly/d/client-constructor" + `) + }) + + test('throws if unknown field is mentioned in omit', () => { + expect(() => + clientWithOmit({ + omit: { + user: { + // @ts-expect-error + notAField: true, + }, + }, + }), + ).toThrowErrorMatchingInlineSnapshot(` + "Error validating "omit" option: + + { + user: { + notAField: true + ~~~~~~~~~ + } + } + + Model "user" does not have a field named "notAField". + Read more at https://pris.ly/d/client-constructor" + `) + }) + + test('throws if non boolean field is used in omit', () => { + expect(() => + clientWithOmit({ + omit: { + user: { + // @ts-expect-error + password: 'yes, please', + }, + }, + }), + ).toThrowErrorMatchingInlineSnapshot(` + "Error validating "omit" option: + + { + user: { + password: "yes, please" + ~~~~~~~~~~~~~ + } + } + + Omit field option value must be a boolean. + Read more at https://pris.ly/d/client-constructor" + `) + }) + + test('throws if relation field is used in omit', () => { + expect(() => + clientWithOmit({ + omit: { + user: { + // @ts-expect-error + group: true, + }, + }, + }), + ).toThrowErrorMatchingInlineSnapshot(` + "Error validating "omit" option: + + { + user: { + group: true + ~~~~~ + } + } + + Relations are already excluded by default and can not be specified in "omit". + Read more at https://pris.ly/d/client-constructor" + `) + }) + + test('omitting every field', async () => { + const client = clientWithOmit({ + omit: { + user: { + id: true, + email: true, + highScore: true, + groupId: true, + password: true, + }, + }, + }) + await expect(() => client.user.findFirstOrThrow()).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`client.user.findFirstOrThrow()\` invocation in + /client/tests/functional/globalOmit/test.ts:0:0 + + XX }, + XX }, + XX }) + → XX await expect(() => client.user.findFirstOrThrow({ + + omit: { + + id: false, + + email: false, + + password: false, + + highScore: false, + + groupId: false + + } + }) + + The global omit configuration excludes every field of the model User. At least one field must be included in the result" + `) + }) + + test('findFirstOrThrow', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.findFirstOrThrow() + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).toHaveProperty('highScore') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('findUniqueOrThrow', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.findUniqueOrThrow({ where: { email: 'user@example.com' } }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).toHaveProperty('highScore') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('findFirst', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.findFirst() + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user!).toHaveProperty('id') + expectTypeOf(user!).toHaveProperty('email') + expectTypeOf(user!).toHaveProperty('highScore') + expectTypeOf(user!).not.toHaveProperty('password') + }) + + test('findUnique', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.findUnique({ where: { email: 'user@example.com' } }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user!).toHaveProperty('id') + expectTypeOf(user!).toHaveProperty('email') + expectTypeOf(user!).toHaveProperty('highScore') + expectTypeOf(user!).not.toHaveProperty('password') + }) + + test('findMany', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const users = await client.user.findMany() + + expect(users[0]).toHaveProperty('id') + expect(users[0]).toHaveProperty('email') + expect(users[0]).toHaveProperty('highScore') + expect(users[0]).not.toHaveProperty('password') + + expectTypeOf(users[0]).toHaveProperty('id') + expectTypeOf(users[0]).toHaveProperty('email') + expectTypeOf(users[0]).toHaveProperty('highScore') + expectTypeOf(users[0]).not.toHaveProperty('password') + }) + + test('create', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.create({ + data: { + email: 'createUser@example.com', + password: 'hunter2', + }, + }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).toHaveProperty('highScore') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('delete', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.delete({ where: { email: 'user@example.com' } }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user!).toHaveProperty('id') + expectTypeOf(user!).toHaveProperty('email') + expectTypeOf(user!).toHaveProperty('highScore') + expectTypeOf(user!).not.toHaveProperty('password') + }) + + test('createMany does not crash', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const result = await client.user.createMany({ + data: [ + { + email: 'user1@example.com', + password: 'hunter2', + }, + { + email: 'user2@example.com', + password: 'hunter2', + }, + ], + }) + + expect(result.count).toBe(2) + }) + + test('deleteMany does not crash', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const result = await client.user.deleteMany({}) + + expect(result.count).toBe(1) + }) + + test('updateMany does not crash', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const result = await client.user.updateMany({ + where: { email: 'user@example.com' }, + data: { + password: '*******', + }, + }) + + expect(result.count).toBe(1) + }) + + test('groupBy does not crash', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const result = await client.user.groupBy({ + by: ['id'], + }) + + expect(result.length).toBe(1) + }) + + test('count does not crash', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const result = await client.user.count() + + expect(result).toBe(1) + }) + + test('aggregate does not crash', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const result = await client.user.aggregate({ + _sum: { + highScore: true, + }, + }) + + expect(result._sum.highScore).toBe(0) + }) + + skipTestIf([Providers.SQLSERVER, Providers.MONGODB, Providers.MYSQL].includes(provider))( + 'createManyAndReturn', + async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + // @ts-test-if: provider !== Providers.SQLSERVER && provider !== Providers.MONGODB && provider !== Providers.MYSQL + const users = await client.user.createManyAndReturn({ + data: [ + { + email: 'createmanyuser1@example.com', + password: 'hunter2', + }, + ], + }) + + expect(users[0]).toHaveProperty('id') + expect(users[0]).toHaveProperty('email') + expect(users[0]).toHaveProperty('highScore') + expect(users[0]).not.toHaveProperty('password') + + expectTypeOf(users[0]).toHaveProperty('id') + expectTypeOf(users[0]).toHaveProperty('email') + expectTypeOf(users[0]).toHaveProperty('highScore') + // @ts-test-if: provider !== Providers.SQLSERVER && provider !== Providers.MONGODB && provider !== Providers.MYSQL + expectTypeOf(users[0]).not.toHaveProperty('password') + }, + ) + + test('update', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + + const user = await client.user.update({ + where: { + email: 'user@example.com', + }, + data: { + password: '*******', + }, + }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).toHaveProperty('highScore') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('upsert', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + + const user = await client.user.upsert({ + where: { + email: 'userUpsert@example.com', + }, + create: { + email: 'userUpsert@example.com', + password: '*******', + }, + update: { + password: '*******', + }, + }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).toHaveProperty('highScore') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('excluding more than one field at a time', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + highScore: true, + }, + }, + }) + + const user = await client.user.findFirstOrThrow() + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).not.toHaveProperty('highScore') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).not.toHaveProperty('highScore') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('allows to include globally omitted field with omit: false', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.findFirstOrThrow({ + omit: { password: false }, + }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).toHaveProperty('password') + }) + + test('allows to include globally omitted field with select: true', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + const user = await client.user.findFirstOrThrow({ + select: { id: true, password: true }, + }) + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('password') + }) + + test('works for nested relations (include)', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + + const group = await client.userGroup.findFirstOrThrow({ + include: { + users: true, + }, + }) + const user = group.users[0] + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('works for nested relations (select)', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + + const group = await client.userGroup.findFirstOrThrow({ + select: { + users: true, + }, + }) + const user = group.users[0] + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('works for fluent api', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }) + + const users = await client.userGroup.findFirst().users() + expect(users![0]).toHaveProperty('id') + expect(users![0]).toHaveProperty('email') + expect(users![0]).not.toHaveProperty('password') + + expectTypeOf(users![0]).toHaveProperty('id') + expectTypeOf(users![0]).toHaveProperty('email') + expectTypeOf(users![0]).not.toHaveProperty('password') + }) + + test('works after extending the client', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }).$extends({}) + const user = await client.user.findFirstOrThrow() + + expect(user).toHaveProperty('id') + expect(user).toHaveProperty('email') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).toHaveProperty('id') + expectTypeOf(user).toHaveProperty('email') + expectTypeOf(user).not.toHaveProperty('password') + }) + + test('works with fluent api after extending the client', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }).$extends({}) + const users = await client.userGroup.findFirst().users() + + expect(users![0]).toHaveProperty('id') + expect(users![0]).toHaveProperty('email') + expect(users![0]).not.toHaveProperty('password') + + expectTypeOf(users![0]).toHaveProperty('id') + expectTypeOf(users![0]).toHaveProperty('email') + expectTypeOf(users![0]).not.toHaveProperty('password') + }) + + test('works with result extension, depending on explicitly omitted field', async () => { + const client = clientWithOmit({ + omit: { + user: { + password: true, + }, + }, + }).$extends({ + result: { + user: { + bigPassword: { + needs: { password: true }, + compute(data) { + return data.password.toUpperCase() + }, + }, + }, + }, + }) + + const user = await client.user.findUniqueOrThrow({ + where: { + email: 'user@example.com', + }, + }) + + expect(user.bigPassword).toBe('HUNTER2') + expect(user).not.toHaveProperty('password') + + expectTypeOf(user).not.toHaveProperty('password') + }) +}) diff --git a/packages/client/tests/functional/interactive-transactions/tests.ts b/packages/client/tests/functional/interactive-transactions/tests.ts index 86203cb84929..15edb8190f10 100644 --- a/packages/client/tests/functional/interactive-transactions/tests.ts +++ b/packages/client/tests/functional/interactive-transactions/tests.ts @@ -24,6 +24,21 @@ testMatrix.setupTestSuite( await prisma.user.deleteMany() }) + // Regression test for https://github.com/prisma/prisma/issues/19137. + test('issue #19137', async () => { + expect.assertions(1) + + await prisma + // @ts-expect-error: Type 'void' is not assignable to type 'Promise' + .$transaction(/* note how there's no `async` here */ (tx) => { + console.log('1') + console.log(tx) + console.log('2') + }, + ) + .then(() => expect(true).toBe(true)) + }, 30_000) + /** * Minimal example of an interactive transaction */ @@ -466,7 +481,11 @@ testMatrix.setupTestSuite( expect(users.length).toBe(2) }) - test('middleware exclude from transaction', async () => { + // This test can lead to a deadlock on SQLite because we start a write transaction and a write query outside of it + // at the same time, and completing the transaction requires the query to finish. This leads a SQLITE_BUSY error + // after 5 seconds if the transaction grabs the lock first. For this test to work on SQLite, we need to expose + // SQLite transaction types in transaction options and make this transaction DEFERRED instead of IMMEDIATE. + testIf(provider !== Providers.SQLITE)('middleware exclude from transaction', async () => { const isolatedPrisma = newPrismaClient() isolatedPrisma.$use((params, next) => { @@ -487,7 +506,11 @@ testMatrix.setupTestSuite( }, }) }) - .catch(() => {}) + .catch((err) => { + if ((err as PrismaNamespace.PrismaClientKnownRequestError).code !== 'P2002') { + throw err + } + }) const users = await isolatedPrisma.user.findMany() expect(users).toHaveLength(1) @@ -521,13 +544,11 @@ testMatrix.setupTestSuite( }) /** - * Makes sure that the engine does not deadlock - * For sqlite, it sometimes causes DB lock up and all subsequent - * tests fail. We might want to re-enable it either after we implemented - * WAL mode (https://github.com/prisma/prisma/issues/3303) or identified the - * issue on our side + * Makes sure that the engine itself does not deadlock (regression test for https://github.com/prisma/prisma/issues/11750). + * Issues on the database side are to be expected though: for SQLite, MySQL 8+ and MongoDB, it sometimes causes DB lock up + * and all subsequent tests fail for some time. On SQL Server, the database kills the connections. */ - testIf(provider !== Providers.SQLITE)('high concurrency', async () => { + testIf(provider === Providers.POSTGRESQL)('high concurrency with write conflicts', async () => { jest.setTimeout(30_000) await prisma.user.create({ @@ -539,20 +560,67 @@ testMatrix.setupTestSuite( for (let i = 0; i < 5; i++) { await Promise.allSettled([ - prisma.$transaction((tx) => tx.user.update({ data: { name: 'a' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'b' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'c' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'd' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'e' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'f' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'g' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'h' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'i' }, where: { email: 'x' } }), { timeout: 25 }), - prisma.$transaction((tx) => tx.user.update({ data: { name: 'j' }, where: { email: 'x' } }), { timeout: 25 }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'a' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'b' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'c' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'd' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'e' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'f' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'g' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'h' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'i' }, where: { email: 'x' } }), { + timeout: 25, + }), + prisma.$transaction((tx) => tx.user.update({ data: { name: 'j' }, where: { email: 'x' } }), { + timeout: 25, + }), ]).catch(() => {}) // we don't care for errors, there will be } }) + testIf(provider !== Providers.SQLITE)('high concurrency with no conflicts', async () => { + jest.setTimeout(30_000) + + await prisma.user.create({ + data: { + email: 'x', + name: 'y', + }, + }) + + // None of these transactions should fail. + for (let i = 0; i < 5; i++) { + await Promise.allSettled([ + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + prisma.$transaction((tx) => tx.user.findMany()), + ]) + } + }) + /** * Rollback should happen even with `then` calls */ diff --git a/packages/client/tests/functional/invalid-env-value/tests.ts b/packages/client/tests/functional/invalid-env-value/tests.ts index 478f44b32c92..cd6d04125ded 100644 --- a/packages/client/tests/functional/invalid-env-value/tests.ts +++ b/packages/client/tests/functional/invalid-env-value/tests.ts @@ -3,13 +3,12 @@ import stripAnsi from 'strip-ansi' import { NewPrismaClient } from '../_utils/types' import testMatrix from './_matrix' // @ts-ignore -import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +import type { PrismaClient } from './node_modules/@prisma/client' declare const newPrismaClient: NewPrismaClient -declare let Prisma: typeof PrismaNamespace testMatrix.setupTestSuite( - ({ clientRuntime, provider }, suiteMeta, clientMeta) => { + ({ provider }, _suiteMeta, clientMeta) => { const OLD_ENV = process.env beforeEach(() => { @@ -21,8 +20,7 @@ testMatrix.setupTestSuite( process.env = OLD_ENV }) - // TODO: fails with Expected constructor: PrismaClientInitializationError Received constructor: Error - skipTestIf(clientRuntime === 'wasm')('PrismaClientInitializationError for invalid env', async () => { + test('PrismaClientInitializationError for invalid env', async () => { // This test often fails on macOS CI with thrown: "Exceeded timeout of // 60000 ms for a hook. Retrying might help, let's find out const isMacCI = Boolean(process.env.CI) && ['darwin'].includes(process.platform) @@ -33,23 +31,19 @@ testMatrix.setupTestSuite( const prisma = newPrismaClient() const promise = prisma.$connect() - if (clientMeta.dataProxy && clientMeta.runtime === 'edge') { - // TODO Prisma 6: should be a PrismaClientInitializationError, but the message is correct - // await expect(promise).rejects.toBeInstanceOf(Prisma.InvalidDatasourceError) - await expect(promise).rejects.toThrowErrorMatchingInlineSnapshot( - `"Error validating datasource \`db\`: the URL must start with the protocol \`prisma://\`"`, - ) - } else if (clientMeta.dataProxy && clientMeta.runtime === 'node') { - // TODO Prisma 6: should be a PrismaClientInitializationError, but the message is correct - // await expect(promise).rejects.toBeInstanceOf(Prisma.InvalidDatasourceError) - await expect(promise).rejects.toThrowErrorMatchingInlineSnapshot( - `"Error validating datasource \`db\`: the URL must start with the protocol \`prisma://\`"`, - ) - } else if (!clientMeta.dataProxy) { + if (!clientMeta.dataProxy) { await promise.catch((e) => { const message = stripAnsi(e.message) - expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) - expect(message).toContain('error: Error validating datasource `db`: the URL must start with the protocol') + expect(e.name).toEqual('PrismaClientInitializationError') + expect(message).toContain('Error validating datasource `db`: the URL must start with the protocol') + }) + } else if (['edge', 'node', 'wasm'].includes(clientMeta.runtime)) { + await promise.catch((e) => { + const message = stripAnsi(e.message) + expect(e.name).toEqual('InvalidDatasourceError') + expect(message).toContain( + 'Error validating datasource `db`: the URL must start with the protocol `prisma://`', + ) }) } else { throw new Error('Unhandled case') diff --git a/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/_matrix.ts b/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/_matrix.ts new file mode 100644 index 000000000000..3291aa46451e --- /dev/null +++ b/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/_matrix.ts @@ -0,0 +1,10 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [ + [ + { + provider: Providers.SQLITE, + }, + ], +]) diff --git a/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/prisma/_schema.ts b/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/prisma/_schema.ts new file mode 100644 index 000000000000..b63abba19b2b --- /dev/null +++ b/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/prisma/_schema.ts @@ -0,0 +1,28 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import { Providers } from '../../../_utils/providers' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + email String @unique + profile Profile? + } + + model Profile { + id ${idForProvider(provider)} + user User @relation(fields: [userId], references: [id]) + userId ${provider === Providers.MONGODB ? 'String @db.ObjectId' : 'String'} @unique + } + ` +}) diff --git a/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/tests.ts b/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/tests.ts new file mode 100644 index 000000000000..ca498a53814c --- /dev/null +++ b/packages/client/tests/functional/issues/11789-sqlite-with-wal-or-connection_limit/tests.ts @@ -0,0 +1,201 @@ +import { Db, NewPrismaClient } from '../../_utils/types' +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare const newPrismaClient: NewPrismaClient + +// the rest is from npx prisma migrate diff --from-empty --to-schema-datamodel=... +const sqlDef = `CREATE TABLE "User" ( + "id" TEXT NOT NULL PRIMARY KEY, + "email" TEXT NOT NULL +); +CREATE TABLE "Profile" ( + "id" TEXT NOT NULL PRIMARY KEY, + "userId" TEXT NOT NULL, + CONSTRAINT "Profile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE +); +CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); +CREATE UNIQUE INDEX "Profile_userId_key" ON "Profile"("userId")` + +declare const db: Db + +/** + * tests for #11789 + */ +testMatrix.setupTestSuite( + ({ driverAdapter }) => { + async function createUsers(prisma: PrismaClient, ids: string[]) { + for (const id of ids) { + await prisma.user.create({ + data: { + id, + email: `${id}@test.com`, + }, + }) + } + } + + function upsertProfilesConcurrently(prisma: PrismaClient, ids: string[]) { + return Promise.all( + ids.map((id) => + prisma.profile.upsert({ + update: {}, + where: { + id, + }, + create: { + user: { + connect: { + id, + }, + }, + }, + }), + ), + ) + } + + function deleteUsersConcurrently(prisma: PrismaClient, ids: string[]) { + return Promise.all( + ids.map((id) => + prisma.user.delete({ + where: { + id, + }, + }), + ), + ) + } + + testIf(driverAdapter === 'js_d1')('D1 does not support journal_mode = WAL', async () => { + const prisma = newPrismaClient() + expect.assertions(1) + + try { + await prisma.$queryRaw`PRAGMA journal_mode = WAL` + } catch (error) { + const e = error as Error + expect(e.message).toContain('D1_ERROR: not authorized') + } + }) + + describeIf(driverAdapter === undefined)('default case: no Driver Adapter', () => { + test('5 concurrent upsert should succeed with journal_mode = WAL', async () => { + await db.dropDb() + + const prisma = newPrismaClient({ + datasources: { + db: { + url: 'file:./concurrent-upsert-wal.db', + }, + }, + }) + + await expect(prisma.$queryRaw`PRAGMA journal_mode = WAL`).resolves.toEqual([{ journal_mode: 'wal' }]) + + const ddlQueries = [] as any[] + sqlDef.split(';').forEach((sql) => { + ddlQueries.push(prisma.$executeRawUnsafe(sql)) + }) + await prisma.$transaction(ddlQueries) + + const N = 5 + const ids = Array.from({ length: N }, (_, i) => `${i + 1}`.padStart(5, '0')) + await createUsers(prisma, ids) + + const queries = await upsertProfilesConcurrently(prisma, ids) + + expect(queries).toHaveLength(N) + }) + + test('5 concurrent upsert should succeed with connection_limit=1 & journal_mode = WAL', async () => { + await db.dropDb() + + const prisma = newPrismaClient({ + datasources: { + db: { + url: 'file:./concurrent-upsert-conn-wal.db?connection_limit=1', + }, + }, + }) + + await expect(prisma.$queryRaw`PRAGMA journal_mode = WAL`).resolves.toEqual([{ journal_mode: 'wal' }]) + + const ddlQueries: any = [] + sqlDef.split(';').forEach((sql) => { + ddlQueries.push(prisma.$executeRawUnsafe(sql)) + }) + await prisma.$transaction(ddlQueries) + + const N = 5 + const ids = Array.from({ length: N }, (_, i) => `${i + 1}`.padStart(5, '0')) + await createUsers(prisma, ids) + + const queries = await upsertProfilesConcurrently(prisma, ids) + + expect(queries).toHaveLength(N) + }) + + test('5 concurrent upsert should succeed with connection_limit=1', async () => { + await db.dropDb() + + const prisma = newPrismaClient({ + datasources: { + db: { + url: 'file:./concurrent-upsert.db?connection_limit=1', + }, + }, + }) + + const ddlQueries: any = [] + sqlDef.split(';').forEach((sql) => { + ddlQueries.push(prisma.$executeRawUnsafe(sql)) + }) + await prisma.$transaction(ddlQueries) + + const N = 5 + const ids = Array.from({ length: N }, (_, i) => `${i + 1}`.padStart(5, '0')) + await createUsers(prisma, ids) + + const queries = await upsertProfilesConcurrently(prisma, ids) + + expect(queries).toHaveLength(N) + }) + + test('5 concurrent delete should succeed with connection_limit=1', async () => { + await db.dropDb() + + const prisma = newPrismaClient({ + datasources: { + db: { + url: 'file:./concurrent-delete.db?connection_limit=1', + }, + }, + }) + + const ddlQueries: any = [] + sqlDef.split(';').forEach((sql) => { + ddlQueries.push(prisma.$executeRawUnsafe(sql)) + }) + await prisma.$transaction(ddlQueries) + + const N = 5 + const ids = Array.from({ length: N }, (_, i) => `${i + 1}`.padStart(5, '0')) + await createUsers(prisma, ids) + + const queries = await deleteUsersConcurrently(prisma, ids) + + expect(queries).toHaveLength(N) + }) + }) + }, + { + skipDb: true, + skipDefaultClientInstance: true, + optOut: { + from: ['sqlserver', 'mongodb', 'postgresql', 'cockroachdb', 'mysql'], + reason: 'Test is made for SQLite only', + }, + }, +) diff --git a/packages/client/tests/functional/issues/11789-timed-out/_matrix.ts b/packages/client/tests/functional/issues/11789-timed-out/_matrix.ts new file mode 100644 index 000000000000..3291aa46451e --- /dev/null +++ b/packages/client/tests/functional/issues/11789-timed-out/_matrix.ts @@ -0,0 +1,10 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [ + [ + { + provider: Providers.SQLITE, + }, + ], +]) diff --git a/packages/client/tests/functional/issues/11789-timed-out/prisma/_schema.ts b/packages/client/tests/functional/issues/11789-timed-out/prisma/_schema.ts new file mode 100644 index 000000000000..b63abba19b2b --- /dev/null +++ b/packages/client/tests/functional/issues/11789-timed-out/prisma/_schema.ts @@ -0,0 +1,28 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import { Providers } from '../../../_utils/providers' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + email String @unique + profile Profile? + } + + model Profile { + id ${idForProvider(provider)} + user User @relation(fields: [userId], references: [id]) + userId ${provider === Providers.MONGODB ? 'String @db.ObjectId' : 'String'} @unique + } + ` +}) diff --git a/packages/client/tests/functional/issues/11789-timed-out/tests.ts b/packages/client/tests/functional/issues/11789-timed-out/tests.ts new file mode 100644 index 000000000000..c1ba7833c2aa --- /dev/null +++ b/packages/client/tests/functional/issues/11789-timed-out/tests.ts @@ -0,0 +1,130 @@ +import { Providers } from '../../_utils/providers' +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +/** + * Tests for: + * - https://github.com/prisma/prisma/issues/11789 + * - https://github.com/prisma/prisma/issues/21772 + */ +testMatrix.setupTestSuite( + ({ provider }) => { + async function createUsers(ids: string[]) { + for (const id of ids) { + await prisma.user.create({ + data: { + id, + email: `${id}@test.com`, + }, + }) + } + } + + async function createUsersConcurrently(ids: string[]) { + return await Promise.all( + ids.map((id) => + prisma.user.create({ + data: { + id, + email: `${id}@test.com`, + }, + }), + ), + ) + } + + async function createProfilesConcurrently(ids: string[]) { + return await Promise.all( + ids.map((id) => + prisma.profile.create({ + data: { + user: { + connect: { + id, + }, + }, + }, + }), + ), + ) + } + + function upsertProfilesConcurrently(ids: string[]) { + return Promise.all( + ids.map((id) => + prisma.profile.upsert({ + update: {}, + where: { + id, + }, + create: { + user: { + connect: { + id, + }, + }, + }, + }), + ), + ) + } + + function deleteUsersConcurrently(ids: string[]) { + return Promise.all( + ids.map((id) => + prisma.user.delete({ + where: { + id, + }, + }), + ), + ) + } + + beforeEach(async () => { + await prisma.profile.deleteMany() + await prisma.user.deleteMany() + }) + + test('5 concurrent upsert should succeed', async () => { + const N = 5 + const ids = Array.from({ length: N }, (_, i) => `${i + 1}`.padStart(5, '0')) + await createUsers(ids) + + const queries = await upsertProfilesConcurrently(ids) + + expect(queries).toHaveLength(N) + }) + + test('5 concurrent delete should succeed', async () => { + const N = 5 + const ids = Array.from({ length: N }, (_, i) => `${i + 1}`.padStart(5, '0')) + await createUsers(ids) + + const queries = await deleteUsersConcurrently(ids) + + expect(queries).toHaveLength(N) + }) + + // Testing only on SQLite, to avoid overloading the CI with too many queries + testIf([Providers.SQLITE].includes(provider))('100 concurrent creates should succeed', async () => { + const N = 100 + const ids = Array.from({ length: N }).map((_, i) => `${i + 1}`.padStart(5, '0')) + + const users = await createUsersConcurrently(ids) + expect(users).toHaveLength(N) + + const queries = await createProfilesConcurrently(ids) + expect(queries).toHaveLength(N) + }) + }, + { + optOut: { + from: ['sqlserver', 'mongodb', 'postgresql', 'cockroachdb', 'mysql'], + reason: 'Test is made for SQLite only', + }, + }, +) diff --git a/packages/client/tests/functional/issues/18276-batch-order/tests.ts b/packages/client/tests/functional/issues/18276-batch-order/tests.ts index 66ce63995d6e..8ac3a3048e30 100644 --- a/packages/client/tests/functional/issues/18276-batch-order/tests.ts +++ b/packages/client/tests/functional/issues/18276-batch-order/tests.ts @@ -8,7 +8,9 @@ import type { PrismaClient } from './node_modules/@prisma/client' declare const newPrismaClient: NewPrismaClient testMatrix.setupTestSuite( - () => { + ({ provider }) => { + const isSqlServer = provider === Providers.SQLSERVER + test('executes batch queries in the right order when using extensions + middleware', async () => { const prisma = newPrismaClient({ log: [{ emit: 'event', level: 'query' }], @@ -38,15 +40,18 @@ testMatrix.setupTestSuite( await xprisma.$queryRawUnsafe('SELECT 2') - await waitFor(() => - expect(queries).toEqual([ - expect.stringContaining('BEGIN'), - 'SELECT 1', - 'SELECT 2', - 'SELECT 3', - expect.stringContaining('COMMIT'), - ]), - ) + const expectation = [ + expect.stringContaining('BEGIN'), + 'SELECT 1', + 'SELECT 2', + 'SELECT 3', + expect.stringContaining('COMMIT'), + ] + if (isSqlServer) { + expectation.unshift(expect.stringContaining('SET TRANSACTION')) + } + + await waitFor(() => expect(queries).toEqual(expectation)) }) test('executes batch in right order when using delayed middleware', async () => { @@ -69,15 +74,18 @@ testMatrix.setupTestSuite( prisma.$queryRawUnsafe('SELECT 3'), ]) - await waitFor(() => - expect(queries).toEqual([ - expect.stringContaining('BEGIN'), - 'SELECT 1', - 'SELECT 2', - 'SELECT 3', - expect.stringContaining('COMMIT'), - ]), - ) + const expectation = [ + expect.stringContaining('BEGIN'), + 'SELECT 1', + 'SELECT 2', + 'SELECT 3', + expect.stringContaining('COMMIT'), + ] + if (isSqlServer) { + expectation.unshift(expect.stringContaining('SET TRANSACTION')) + } + + await waitFor(() => expect(queries).toEqual(expectation)) }) }, { diff --git a/packages/client/tests/functional/issues/18854-extensions-db-null/_matrix.ts b/packages/client/tests/functional/issues/18854-extensions-db-null/_matrix.ts index 04c49474ec1e..bf7eea1e694e 100644 --- a/packages/client/tests/functional/issues/18854-extensions-db-null/_matrix.ts +++ b/packages/client/tests/functional/issues/18854-extensions-db-null/_matrix.ts @@ -6,6 +6,9 @@ export default defineMatrix(() => [ { provider: Providers.POSTGRESQL, }, + { + provider: Providers.SQLITE, + }, { provider: Providers.MYSQL, }, diff --git a/packages/client/tests/functional/issues/18854-extensions-db-null/tests.ts b/packages/client/tests/functional/issues/18854-extensions-db-null/tests.ts index 398a65d19549..746d2474ad6d 100644 --- a/packages/client/tests/functional/issues/18854-extensions-db-null/tests.ts +++ b/packages/client/tests/functional/issues/18854-extensions-db-null/tests.ts @@ -23,9 +23,9 @@ testMatrix.setupTestSuite( }, { optOut: { - from: ['sqlserver', 'sqlite', 'mongodb'], + from: ['sqlserver', 'mongodb'], reason: ` - sqlserver, sqlite - JSON column is not supported + sqlserver JSON column is not supported mongodb - DbNull is not supported `, }, diff --git a/packages/client/tests/functional/issues/20614-missing-legacy-aliases/prisma/_schema.ts b/packages/client/tests/functional/issues/20614-missing-legacy-aliases/prisma/_schema.ts deleted file mode 100644 index 8b2c9fcb40b2..000000000000 --- a/packages/client/tests/functional/issues/20614-missing-legacy-aliases/prisma/_schema.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { foreignKeyForProvider, idForProvider } from '../../../_utils/idForProvider' -import testMatrix from '../_matrix' - -export default testMatrix.setupSchema(({ provider }) => { - return /* Prisma */ ` - generator client { - provider = "prisma-client-js" - } - - datasource db { - provider = "${provider}" - url = env("DATABASE_URI_${provider}") - } - - model Group { - id ${idForProvider(provider)} - users User[] - } - - model User { - id ${idForProvider(provider)} - name String - group Group @relation(fields: [groupId], references: [id]) - groupId ${foreignKeyForProvider(provider)} - } - ` -}) diff --git a/packages/client/tests/functional/issues/20614-missing-legacy-aliases/tests.ts b/packages/client/tests/functional/issues/20614-missing-legacy-aliases/tests.ts deleted file mode 100644 index f85778c0fc2c..000000000000 --- a/packages/client/tests/functional/issues/20614-missing-legacy-aliases/tests.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { expectTypeOf } from 'expect-type' - -import testMatrix from './_matrix' -// @ts-ignore -import type { Prisma } from './node_modules/@prisma/client' - -testMatrix.setupTestSuite( - () => { - test('alias for count args types exists', () => { - expectTypeOf().toEqualTypeOf() - }) - }, - { - skipDb: true, - skipDefaultClientInstance: true, - }, -) diff --git a/packages/client/tests/functional/issues/21454-$type-in-json/_matrix.ts b/packages/client/tests/functional/issues/21454-$type-in-json/_matrix.ts index a672516fac30..c03a312cd1e2 100644 --- a/packages/client/tests/functional/issues/21454-$type-in-json/_matrix.ts +++ b/packages/client/tests/functional/issues/21454-$type-in-json/_matrix.ts @@ -4,6 +4,7 @@ import { Providers } from '../../_utils/providers' export default defineMatrix(() => [ [ { provider: Providers.POSTGRESQL }, + { provider: Providers.SQLITE }, { provider: Providers.COCKROACHDB }, { provider: Providers.MYSQL }, { provider: Providers.MONGODB }, diff --git a/packages/client/tests/functional/issues/21454-$type-in-json/tests.ts b/packages/client/tests/functional/issues/21454-$type-in-json/tests.ts index 2a8bebf04ee7..e5ae6635287a 100644 --- a/packages/client/tests/functional/issues/21454-$type-in-json/tests.ts +++ b/packages/client/tests/functional/issues/21454-$type-in-json/tests.ts @@ -20,7 +20,7 @@ testMatrix.setupTestSuite( }, { optOut: { - from: ['sqlserver', 'sqlite'], + from: ['sqlserver'], reason: 'JSON column is not supported', }, }, diff --git a/packages/client/tests/functional/issues/20614-missing-legacy-aliases/_matrix.ts b/packages/client/tests/functional/issues/21631-batching-in-transaction/_matrix.ts similarity index 100% rename from packages/client/tests/functional/issues/20614-missing-legacy-aliases/_matrix.ts rename to packages/client/tests/functional/issues/21631-batching-in-transaction/_matrix.ts diff --git a/packages/client/tests/functional/issues/21631-batching-in-transaction/prisma/_schema.ts b/packages/client/tests/functional/issues/21631-batching-in-transaction/prisma/_schema.ts new file mode 100644 index 000000000000..cd788605d312 --- /dev/null +++ b/packages/client/tests/functional/issues/21631-batching-in-transaction/prisma/_schema.ts @@ -0,0 +1,21 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model Worker { + id ${idForProvider(provider)} + email String @unique + phone String @unique + } + ` +}) diff --git a/packages/client/tests/functional/issues/21631-batching-in-transaction/tests.ts b/packages/client/tests/functional/issues/21631-batching-in-transaction/tests.ts new file mode 100644 index 000000000000..10dd33906f29 --- /dev/null +++ b/packages/client/tests/functional/issues/21631-batching-in-transaction/tests.ts @@ -0,0 +1,74 @@ +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +/** + * Tests for https://github.com/prisma/prisma/issues/21631, fixed in Prisma 5.12.0 + */ +testMatrix.setupTestSuite(() => { + describe("Transactions and batching (query compacting) shouldn't interfere with result sets", () => { + async function setupData() { + await prisma.worker.deleteMany() + + const email = 'test@prisma.io' + const phone = '+39 123' + + await prisma.worker.create({ + data: { + email, + phone, + }, + }) + + return { email, phone } + } + + test('2 independent `findUnique`s', async () => { + const { email, phone } = await setupData() + const notExistingPhone = `${phone}456` + + const workerFromEmail = await prisma.worker.findUnique({ where: { email } }) + const workerFromPhone = await prisma.worker.findUnique({ where: { phone: notExistingPhone } }) + + expect(workerFromEmail).toMatchObject({ + email, + phone, + }) + expect(workerFromPhone).toEqual(null) + }) + + test('2 concurrent `findUnique`s', async () => { + const { email, phone } = await setupData() + const notExistingPhone = `${phone}456` + + const [workerFromEmail, workerFromPhone] = await Promise.all([ + prisma.worker.findUnique({ where: { email } }), + prisma.worker.findUnique({ where: { phone: notExistingPhone } }), + ]) + + expect(workerFromEmail).toMatchObject({ + email, + phone, + }) + expect(workerFromPhone).toEqual(null) + }) + + test('2 `findUnique`s in a $transaction', async () => { + const { email, phone } = await setupData() + const notExistingPhone = `${phone}456` + + const [workerFromEmail, workerFromPhone] = await prisma.$transaction([ + prisma.worker.findUnique({ where: { email } }), + prisma.worker.findUnique({ where: { phone: notExistingPhone } }), + ]) + + expect(workerFromEmail).toMatchObject({ + email, + phone, + }) + expect(workerFromPhone).toEqual(null) + }) + }) +}) diff --git a/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/_matrix.ts b/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/_matrix.ts new file mode 100644 index 000000000000..d56f2f6b7702 --- /dev/null +++ b/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { allProviders } from '../../_utils/providers' + +export default defineMatrix(() => [allProviders]) diff --git a/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/prisma/_schema.ts b/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/prisma/_schema.ts new file mode 100644 index 000000000000..b8a333e7c5c2 --- /dev/null +++ b/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/prisma/_schema.ts @@ -0,0 +1,81 @@ +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id String @id() @default(cuid()) @map("_id") + name String + username String @unique() + email String @unique() + avatar String + password String + bio String @default("") + banned Boolean @default(false) + verified Boolean @default(false) + + videos Video[] + sessions Session[] + + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @default(now()) @updatedAt() @map("updated_at") + + @@map("users") + } + + model Session { + id String @id() @default(cuid()) @map("_id") + token String @unique() + ip String + userAgent String @map("user_agent") + device String + + userId String @map("user_id") + user User @relation(fields: [userId], references: [id]) + + @@map("sessions") + } + + model Video { + id String @id() @default(cuid()) @map("_id") + title String + description String + url String @unique() + + userId String @map("user_id") + user User @relation(fields: [userId], references: [id]) + tags VideoTag[] + + @@map("videos") + } + + model Tag { + id String @id() @default(cuid()) @map("_id") + name String @unique() + + videos VideoTag[] + + @@map("tags") + } + + model VideoTag { + id String @id() @default(cuid()) @map("_id") + videoId String @map("video_id") + tagId String @map("tag_id") + + video Video @relation(fields: [videoId], references: [id]) + tag Tag @relation(fields: [tagId], references: [id]) + + @@unique([videoId, tagId]) + @@map("video_tags") + } + ` +}) diff --git a/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/tests.ts b/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/tests.ts new file mode 100644 index 000000000000..2959c80b5102 --- /dev/null +++ b/packages/client/tests/functional/issues/22947-sqlite-conccurrent-upsert/tests.ts @@ -0,0 +1,78 @@ +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +/** + * Tests for: + * - https://github.com/prisma/prisma/issues/22947 + */ +testMatrix.setupTestSuite( + () => { + test('concurrent upserts should succeed', async () => { + const user = await prisma.user.create({ + data: { + name: 'Jeffrey Danley', + email: 'jeff@mail.com', + username: 'Fireship', + avatar: 'https://yt3.googleusercontent.com/...', + password: 'password123', + bio: 'High-intensity ...', + }, + }) + + const videos = [ + { + name: 'browser past', + url: '/static/videos/browser-paste.mp4', + tags: ['Programming', 'Web Development', 'JavaScript'], + }, + { + name: 'file types', + url: '/static/videos/file-types.mp4', + tags: ['Programming', 'Operating Systems'], + }, + { + name: 'pages in 4d', + url: '/static/videos/pages-in-3d.mp4', + tags: ['Programming', 'Web Development', 'CSS'], + }, + { + name: 'story of web', + url: '/static/videos/story-of-web.mp4', + tags: ['Programming', 'Web Development'], + }, + ] + + for (const video of videos) { + const tags = await Promise.all( + video.tags.map((name) => + prisma.tag.upsert({ + where: { name }, + update: {}, + create: { name }, + }), + ), + ) + + const created = await prisma.video.create({ + data: { + title: video.name, + description: video.name, + url: video.url, + userId: user.id, + }, + }) + + await Promise.all(tags.map((tag) => prisma.videoTag.create({ data: { videoId: created.id, tagId: tag.id } }))) + } + }) + }, + { + optOut: { + from: ['sqlserver', 'mongodb', 'postgresql', 'cockroachdb', 'mysql'], + reason: 'Test is made for SQLite only', + }, + }, +) diff --git a/packages/client/tests/functional/issues/25163-typed-sql-enum/_matrix.ts b/packages/client/tests/functional/issues/25163-typed-sql-enum/_matrix.ts new file mode 100644 index 000000000000..9f809d662ee8 --- /dev/null +++ b/packages/client/tests/functional/issues/25163-typed-sql-enum/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.POSTGRESQL }, { provider: Providers.COCKROACHDB }]]) diff --git a/packages/client/tests/functional/issues/25163-typed-sql-enum/prisma/_schema.ts b/packages/client/tests/functional/issues/25163-typed-sql-enum/prisma/_schema.ts new file mode 100644 index 000000000000..abc21295d912 --- /dev/null +++ b/packages/client/tests/functional/issues/25163-typed-sql-enum/prisma/_schema.ts @@ -0,0 +1,35 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + role UserRole + favoriteAnimal Animal + } + + enum UserRole { + ADMIN + USER + + @@map("user-role") + } + + enum Animal { + CAT + DOG + STEVE + } + ` +}) diff --git a/packages/client/tests/functional/issues/25163-typed-sql-enum/prisma/sql/getUser.sql b/packages/client/tests/functional/issues/25163-typed-sql-enum/prisma/sql/getUser.sql new file mode 100644 index 000000000000..d6d7382ef602 --- /dev/null +++ b/packages/client/tests/functional/issues/25163-typed-sql-enum/prisma/sql/getUser.sql @@ -0,0 +1 @@ +SELECT "role", "favoriteAnimal" FROM "User" \ No newline at end of file diff --git a/packages/client/tests/functional/issues/25163-typed-sql-enum/test.ts b/packages/client/tests/functional/issues/25163-typed-sql-enum/test.ts new file mode 100644 index 000000000000..37b3546eaf01 --- /dev/null +++ b/packages/client/tests/functional/issues/25163-typed-sql-enum/test.ts @@ -0,0 +1,47 @@ +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' +// @ts-ignore +import * as Sql from './node_modules/@prisma/client/sql' + +declare let prisma: PrismaClient +declare let sql: typeof Sql + +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.user.create({ + data: { + role: 'ADMIN', + favoriteAnimal: 'STEVE', + }, + }) + }) + + test('returns enums that are mapped to invalid JS identifier correctly', async () => { + const result = await prisma.$queryRawTyped(sql.getUser()) + expect(result).toMatchInlineSnapshot(` + [ + { + "favoriteAnimal": "STEVE", + "role": "ADMIN", + }, + ] + `) + + expectTypeOf(result[0].favoriteAnimal).toEqualTypeOf<'CAT' | 'DOG' | 'STEVE'>() + expectTypeOf(result[0].favoriteAnimal).toEqualTypeOf() + + expectTypeOf(result[0].role).toEqualTypeOf<'ADMIN' | 'USER'>() + expectTypeOf(result[0].role).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['sqlite', 'mysql', 'mongodb', 'sqlserver'], + reason: 'Test need both enums and typed-sql support', + }, + }, +) diff --git a/packages/client/tests/functional/issues/25404/_matrix.ts b/packages/client/tests/functional/issues/25404/_matrix.ts new file mode 100644 index 000000000000..d56f2f6b7702 --- /dev/null +++ b/packages/client/tests/functional/issues/25404/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { allProviders } from '../../_utils/providers' + +export default defineMatrix(() => [allProviders]) diff --git a/packages/client/tests/functional/issues/25404/prisma/_schema.ts b/packages/client/tests/functional/issues/25404/prisma/_schema.ts new file mode 100644 index 000000000000..8eaa802bcc72 --- /dev/null +++ b/packages/client/tests/functional/issues/25404/prisma/_schema.ts @@ -0,0 +1,21 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + memo String + } + ` +}) diff --git a/packages/client/tests/functional/issues/25404/test.ts b/packages/client/tests/functional/issues/25404/test.ts new file mode 100644 index 000000000000..ddf5fa36d17a --- /dev/null +++ b/packages/client/tests/functional/issues/25404/test.ts @@ -0,0 +1,18 @@ +// @ts-ignore +import type { PrismaClient } from '@prisma/client' + +import testMatrix from './_matrix' + +declare let prisma: PrismaClient + +testMatrix.setupTestSuite(() => { + test('should not throw error when using d1 adapter and creating with string field that contains date string', async () => { + const result = await prisma.user.create({ + data: { + memo: 'This is user input, 2024-10-09T16:05:08.547Z ', + }, + }) + + expect(result.memo).toEqual('This is user input, 2024-10-09T16:05:08.547Z ') + }) +}) diff --git a/packages/client/tests/functional/json-fields/_matrix.ts b/packages/client/tests/functional/json-fields/_matrix.ts index 2a31b5ac7f36..bf643f149ddf 100644 --- a/packages/client/tests/functional/json-fields/_matrix.ts +++ b/packages/client/tests/functional/json-fields/_matrix.ts @@ -6,6 +6,9 @@ export default defineMatrix(() => [ { provider: Providers.POSTGRESQL, }, + { + provider: Providers.SQLITE, + }, { provider: Providers.MYSQL, }, diff --git a/packages/client/tests/functional/json-fields/tests.ts b/packages/client/tests/functional/json-fields/tests.ts index d0df1fade79b..e44324389cfd 100644 --- a/packages/client/tests/functional/json-fields/tests.ts +++ b/packages/client/tests/functional/json-fields/tests.ts @@ -56,9 +56,8 @@ testMatrix.setupTestSuite( }, { optOut: { - from: ['sqlite', 'sqlserver'], + from: ['sqlserver'], reason: ` - sqlite - connector does not support Json type sqlserver - connector does not support Json type `, }, diff --git a/packages/client/tests/functional/json-null-types/_matrix.ts b/packages/client/tests/functional/json-null-types/_matrix.ts index 5a8b597985f0..1ca446dc7c45 100644 --- a/packages/client/tests/functional/json-null-types/_matrix.ts +++ b/packages/client/tests/functional/json-null-types/_matrix.ts @@ -6,6 +6,9 @@ export default defineMatrix(() => [ { provider: Providers.POSTGRESQL, }, + { + provider: Providers.SQLITE, + }, { provider: Providers.MYSQL, }, diff --git a/packages/client/tests/functional/json-null-types/tests.ts b/packages/client/tests/functional/json-null-types/tests.ts index ff8bdfab991f..e6a069e2602b 100644 --- a/packages/client/tests/functional/json-null-types/tests.ts +++ b/packages/client/tests/functional/json-null-types/tests.ts @@ -86,9 +86,8 @@ testMatrix.setupTestSuite( }, { optOut: { - from: ['sqlite', 'sqlserver', 'mongodb'], + from: ['sqlserver', 'mongodb'], reason: ` - sqlite - connector does not support Json type sqlserver - connector does not support Json type mongodb - doesn't use DbNull/JsonNull `, diff --git a/packages/client/tests/functional/logging/tests.ts b/packages/client/tests/functional/logging/tests.ts index 1f72a5fbe067..e7264b6c6696 100644 --- a/packages/client/tests/functional/logging/tests.ts +++ b/packages/client/tests/functional/logging/tests.ts @@ -10,6 +10,7 @@ declare let newPrismaClient: NewPrismaClient testMatrix.setupTestSuite(({ provider, driverAdapter }) => { const isMongoDb = provider === Providers.MONGODB + const isSqlServer = provider === Providers.SQLSERVER let client: PrismaClient @@ -112,12 +113,15 @@ testMatrix.setupTestSuite(({ provider, driverAdapter }) => { expect(logs[2].query).toContain('SELECT') expect(logs[3].query).toContain('COMMIT') } else { - expect(logs).toHaveLength(5) - expect(logs[0].query).toContain('BEGIN') - expect(logs[1].query).toContain('INSERT') - expect(logs[2].query).toContain('SELECT') - expect(logs[3].query).toContain('SELECT') - expect(logs[4].query).toContain('COMMIT') + expect(logs).toHaveLength(isSqlServer ? 6 : 5) + if (isSqlServer) { + expect(logs.shift()?.query).toContain('SET TRANSACTION') + } + expect(logs.shift()?.query).toContain('BEGIN') + expect(logs.shift()?.query).toContain('INSERT') + expect(logs.shift()?.query).toContain('SELECT') + expect(logs.shift()?.query).toContain('SELECT') + expect(logs.shift()?.query).toContain('COMMIT') } } }) @@ -176,12 +180,14 @@ testMatrix.setupTestSuite(({ provider, driverAdapter }) => { expect(logs[0].query).toContain('User.aggregate') expect(logs[0].query).toContain('User.aggregate') } else { - expect(logs).toHaveLength(4) - - expect(logs[0].query).toContain('BEGIN') - expect(logs[1].query).toContain('SELECT') - expect(logs[2].query).toContain('SELECT') - expect(logs[3].query).toContain('COMMIT') + expect(logs).toHaveLength(isSqlServer ? 5 : 4) + if (isSqlServer) { + expect(logs.shift()?.query).toContain('SET TRANSACTION') + } + expect(logs.shift()?.query).toContain('BEGIN') + expect(logs.shift()?.query).toContain('SELECT') + expect(logs.shift()?.query).toContain('SELECT') + expect(logs.shift()?.query).toContain('COMMIT') } }) @@ -237,12 +243,14 @@ testMatrix.setupTestSuite(({ provider, driverAdapter }) => { expect(logs[0].query).toContain('User.aggregate') expect(logs[0].query).toContain('User.aggregate') } else { - expect(logs).toHaveLength(4) - - expect(logs[0].query).toContain('BEGIN') - expect(logs[1].query).toContain('SELECT') - expect(logs[2].query).toContain('SELECT') - expect(logs[3].query).toContain('COMMIT') + expect(logs).toHaveLength(isSqlServer ? 5 : 4) + if (isSqlServer) { + expect(logs.shift()?.query).toContain('SET TRANSACTION') + } + expect(logs.shift()?.query).toContain('BEGIN') + expect(logs.shift()?.query).toContain('SELECT') + expect(logs.shift()?.query).toContain('SELECT') + expect(logs.shift()?.query).toContain('COMMIT') } }) }) diff --git a/packages/client/tests/functional/methods/findFirstOrThrow/tests.ts b/packages/client/tests/functional/methods/findFirstOrThrow/tests.ts index 8f0907e0632c..98b7b68856ee 100644 --- a/packages/client/tests/functional/methods/findFirstOrThrow/tests.ts +++ b/packages/client/tests/functional/methods/findFirstOrThrow/tests.ts @@ -3,10 +3,9 @@ import { expectTypeOf } from 'expect-type' import testMatrix from './_matrix' // @ts-ignore -import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +import type { PrismaClient } from './node_modules/@prisma/client' declare let prisma: PrismaClient -declare let Prisma: typeof PrismaNamespace const existingEmail = faker.internet.email() const nonExistingEmail = faker.internet.email() @@ -25,7 +24,10 @@ testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, clientMeta) => { test('throws if record was not found', async () => { const record = prisma.user.findFirstOrThrow({ where: { email: nonExistingEmail } }) - await expect(record).rejects.toMatchObject(new Prisma.NotFoundError('No User found', '0.0.0')) + await expect(record).rejects.toMatchObject({ + name: 'PrismaClientKnownRequestError', + code: 'P2025', + }) }) // batch transaction needs to be implemented. Unskip once https://github.com/prisma/team-orm/issues/997 is done @@ -38,7 +40,17 @@ testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, clientMeta) => { prisma.user.findFirstOrThrow({ where: { email: nonExistingEmail } }), ]) - await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(`"No User found"`) + await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(` + " + Invalid \`prisma.user.findFirstOrThrow()\` invocation in + /client/tests/functional/methods/findFirstOrThrow/tests.ts:0:0 + + 37 const newEmail = faker.internet.email() + 38 const result = prisma.$transaction([ + 39 prisma.user.create({ data: { email: newEmail } }), + → 40 prisma.user.findFirstOrThrow( + An operation failed because it depends on one or more records that were required but not found. Expected a record, found none." + `) const record = await prisma.user.findFirst({ where: { email: newEmail } }) expect(record).toBeNull() @@ -54,7 +66,17 @@ testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, clientMeta) => { await prisma.user.findFirstOrThrow({ where: { email: nonExistingEmail } }) }) - await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(`"No User found"`) + await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(` + " + Invalid \`prisma.user.findFirstOrThrow()\` invocation in + /client/tests/functional/methods/findFirstOrThrow/tests.ts:0:0 + + 63 const newEmail = faker.internet.email() + 64 const result = prisma.$transaction(async (prisma) => { + 65 await prisma.user.create({ data: { email: newEmail } }) + → 66 await prisma.user.findFirstOrThrow( + An operation failed because it depends on one or more records that were required but not found. Expected a record, found none." + `) const record = await prisma.user.findFirst({ where: { email: newEmail } }) expect(record).toBeNull() diff --git a/packages/client/tests/functional/methods/findUniqueOrThrow/tests.ts b/packages/client/tests/functional/methods/findUniqueOrThrow/tests.ts index a628a0d83aba..788b15113c1b 100644 --- a/packages/client/tests/functional/methods/findUniqueOrThrow/tests.ts +++ b/packages/client/tests/functional/methods/findUniqueOrThrow/tests.ts @@ -3,10 +3,9 @@ import { expectTypeOf } from 'expect-type' import testMatrix from './_matrix' // @ts-ignore -import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +import type { PrismaClient } from './node_modules/@prisma/client' declare let prisma: PrismaClient -declare let Prisma: typeof PrismaNamespace const existingEmail = faker.internet.email() const nonExistingEmail = faker.internet.email() @@ -24,7 +23,10 @@ testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, clientMeta) => { test('throws if record was not found', async () => { const record = prisma.user.findUniqueOrThrow({ where: { email: nonExistingEmail } }) - await expect(record).rejects.toMatchObject(new Prisma.NotFoundError('No User found', '0.0.0')) + await expect(record).rejects.toMatchObject({ + name: 'PrismaClientKnownRequestError', + code: 'P2025', + }) }) // batch transaction needs to be implemented. Unskip once https://github.com/prisma/team-orm/issues/997 is done @@ -37,7 +39,17 @@ testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, clientMeta) => { prisma.user.findUniqueOrThrow({ where: { email: nonExistingEmail } }), ]) - await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(`"No User found"`) + await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(` + " + Invalid \`prisma.user.findUniqueOrThrow()\` invocation in + /client/tests/functional/methods/findUniqueOrThrow/tests.ts:0:0 + + 36 const newEmail = faker.internet.email() + 37 const result = prisma.$transaction([ + 38 prisma.user.create({ data: { email: newEmail } }), + → 39 prisma.user.findUniqueOrThrow( + An operation failed because it depends on one or more records that were required but not found. Expected a record, found none." + `) const record = await prisma.user.findUnique({ where: { email: newEmail } }) expect(record).toBeNull() @@ -53,7 +65,17 @@ testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, clientMeta) => { await prisma.user.findUniqueOrThrow({ where: { email: nonExistingEmail } }) }) - await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(`"No User found"`) + await expect(result).rejects.toThrowErrorMatchingInlineSnapshot(` + " + Invalid \`prisma.user.findUniqueOrThrow()\` invocation in + /client/tests/functional/methods/findUniqueOrThrow/tests.ts:0:0 + + 62 const newEmail = faker.internet.email() + 63 const result = prisma.$transaction(async (prisma) => { + 64 await prisma.user.create({ data: { email: newEmail } }) + → 65 await prisma.user.findUniqueOrThrow( + An operation failed because it depends on one or more records that were required but not found. Expected a record, found none." + `) const record = await prisma.user.findUnique({ where: { email: newEmail } }) expect(record).toBeNull() diff --git a/packages/client/tests/functional/methods/updateManyAndReturn-supported/_matrix.ts b/packages/client/tests/functional/methods/updateManyAndReturn-supported/_matrix.ts new file mode 100644 index 000000000000..31521bbc0ba8 --- /dev/null +++ b/packages/client/tests/functional/methods/updateManyAndReturn-supported/_matrix.ts @@ -0,0 +1,16 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [ + [ + { + provider: Providers.POSTGRESQL, + }, + { + provider: Providers.COCKROACHDB, + }, + { + provider: Providers.SQLITE, + }, + ], +]) diff --git a/packages/client/tests/functional/methods/updateManyAndReturn-supported/prisma/_schema.ts b/packages/client/tests/functional/methods/updateManyAndReturn-supported/prisma/_schema.ts new file mode 100644 index 000000000000..ce26947a1f50 --- /dev/null +++ b/packages/client/tests/functional/methods/updateManyAndReturn-supported/prisma/_schema.ts @@ -0,0 +1,29 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + email String @unique + name String? + posts Post[] + } + + model Post { + id ${idForProvider(provider)} + title String + user User @relation(fields: [userId], references: [id]) + userId String + } + ` +}) diff --git a/packages/client/tests/functional/methods/updateManyAndReturn-supported/tests.ts b/packages/client/tests/functional/methods/updateManyAndReturn-supported/tests.ts new file mode 100644 index 000000000000..9afc3f32efef --- /dev/null +++ b/packages/client/tests/functional/methods/updateManyAndReturn-supported/tests.ts @@ -0,0 +1,323 @@ +import { faker } from '@faker-js/faker' + +import { Providers } from '../../_utils/providers' +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +testMatrix.setupTestSuite( + () => { + test('should update and return many records', async () => { + const email1 = faker.internet.email() + const email2 = faker.internet.email() + const email3 = faker.internet.email() + const email4 = faker.internet.email() + + const updatedName = faker.person.fullName() + + await prisma.user.createMany({ + data: [ + { + email: email1, + }, + { + email: email2, + }, + { + email: email3, + }, + { + email: email4, + }, + ], + }) + + const users = await prisma.user.updateManyAndReturn({ + data: { + name: updatedName, + }, + where: {}, + }) + + expect(users).toMatchObject([ + { + email: email1, + id: expect.any(String), + name: updatedName, + }, + { + email: email2, + id: expect.any(String), + name: updatedName, + }, + { + email: email3, + id: expect.any(String), + name: updatedName, + }, + { + email: email4, + id: expect.any(String), + name: updatedName, + }, + ]) + }) + + test('should update and return one record', async () => { + const email1 = faker.internet.email() + const email2 = faker.internet.email() + + await prisma.user.create({ + data: { + email: email1, + }, + }) + + const users = await prisma.user.updateManyAndReturn({ + data: { + email: email2, + }, + where: { + email: email1, + }, + }) + + expect(users).toMatchObject([ + { + email: email2, + id: expect.any(String), + name: null, + }, + ]) + }) + + test('should update and return records satisfying the where clause', async () => { + const email1 = faker.internet.email() + const email2 = faker.internet.email() + const email3 = faker.internet.email() + const email4 = faker.internet.email() + + const updatedName = faker.person.fullName() + + await prisma.user.createMany({ + data: [ + { + email: email1, + }, + { + email: email2, + }, + { + email: email3, + }, + { + email: email4, + }, + ], + }) + + const users = await prisma.user.updateManyAndReturn({ + data: { + name: updatedName, + }, + where: { + email: { + in: [email1, email2], + }, + }, + }) + + expect(users).toMatchObject([ + { + email: email1, + id: expect.any(String), + name: updatedName, + }, + { + email: email2, + id: expect.any(String), + name: updatedName, + }, + ]) + }) + + test('should accept select', async () => { + const email1 = faker.internet.email() + const updatedName = faker.person.fullName() + + await prisma.user.create({ + data: { + email: email1, + }, + }) + + const users = await prisma.user.updateManyAndReturn({ + select: { id: true }, + data: { + name: updatedName, + }, + where: { + email: email1, + }, + }) + + expect(users).toMatchObject([ + { + id: expect.any(String), + }, + ]) + }) + + test('should accept include on the post side', async () => { + const email1 = faker.internet.email() + + const users = await prisma.user.createManyAndReturn({ + data: [ + { + email: email1, + }, + ], + }) + + await prisma.post.create({ + data: { + userId: users[0].id, + title: 'New post', + }, + }) + + const posts = await prisma.post.updateManyAndReturn({ + include: { + user: true, + }, + data: { + title: 'Updated post', + }, + where: { + userId: users[0].id, + }, + }) + + expect(posts).toMatchObject([ + { + id: expect.any(String), + title: expect.any(String), + userId: expect.any(String), + user: { + id: expect.any(String), + email: email1, + }, + }, + ]) + }) + + test('should fail include on the user side', async () => { + const email1 = faker.internet.email() + + await expect( + prisma.user.updateManyAndReturn({ + // @ts-expect-error + include: { + posts: true, + }, + data: { + email: email1, + }, + }), + ).rejects.toThrow('Unknown field `posts` for include statement on model `UpdateManyUserAndReturnOutputType`.') + }) + + test('take should fail', async () => { + const email1 = faker.internet.email() + + await expect( + prisma.user.updateManyAndReturn({ + // @ts-expect-error + take: 1, + data: { + email: email1, + }, + }), + ).rejects.toThrow('Unknown argument `take`') + }) + + test('orderBy should fail', async () => { + const email1 = faker.internet.email() + + await expect( + prisma.user.updateManyAndReturn({ + // @ts-expect-error + orderBy: { + email: 'asc', + }, + data: { + email: email1, + }, + }), + ).rejects.toThrow('Unknown argument `orderBy`.') + }) + + test('distinct should fail', async () => { + const email1 = faker.internet.email() + + await expect( + prisma.user.updateManyAndReturn({ + // @ts-expect-error + distinct: 'id', + data: { + email: email1, + }, + }), + ).rejects.toThrow('Unknown argument `distinct`.') + }) + + test('select _count should fail', async () => { + const email1 = faker.internet.email() + + await expect( + prisma.user.updateManyAndReturn({ + select: { + // @ts-expect-error + _count: true, + }, + data: { + email: email1, + }, + }), + ).rejects.toThrow( + 'Unknown field `_count` for select statement on model `UpdateManyUserAndReturnOutputType`. Available options are marked with ?.', + ) + }) + + test('include _count should fail', async () => { + const email1 = faker.internet.email() + + await expect( + prisma.user.updateManyAndReturn({ + // @ts-expect-error + include: { + _count: true, + }, + data: { + email: email1, + }, + }), + ).rejects.toThrow( + 'Unknown field `_count` for include statement on model `UpdateManyUserAndReturnOutputType`. Available options are marked with ?.', + ) + }) + }, + { + skipDriverAdapter: { + from: ['js_d1'], + reason: + 'D1 driver adapter does not return the correct number of created records. See https://github.com/prisma/team-orm/issues/1069', + }, + optOut: { + from: [Providers.MONGODB, Providers.SQLSERVER, Providers.MYSQL], + reason: 'Excluded dbs are missing the "ConnectorCapability::InsertReturning". They are tested separately.', + }, + }, +) diff --git a/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/_matrix.ts b/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/_matrix.ts new file mode 100644 index 000000000000..948cb102b5a8 --- /dev/null +++ b/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/_matrix.ts @@ -0,0 +1,16 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [ + [ + { + provider: Providers.SQLSERVER, + }, + { + provider: Providers.MONGODB, + }, + { + provider: Providers.MYSQL, + }, + ], +]) diff --git a/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/prisma/_schema.ts b/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/prisma/_schema.ts new file mode 100644 index 000000000000..ce26947a1f50 --- /dev/null +++ b/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/prisma/_schema.ts @@ -0,0 +1,29 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + email String @unique + name String? + posts Post[] + } + + model Post { + id ${idForProvider(provider)} + title String + user User @relation(fields: [userId], references: [id]) + userId String + } + ` +}) diff --git a/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/tests.ts b/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/tests.ts new file mode 100644 index 000000000000..5abdc683d52e --- /dev/null +++ b/packages/client/tests/functional/methods/updateManyAndReturn-unsupported/tests.ts @@ -0,0 +1,26 @@ +import { expectTypeOf } from 'expect-type' + +import { Providers } from '../../_utils/providers' +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +testMatrix.setupTestSuite( + () => { + test('should fail as updateManyAndReturn is not supported on tested providers', () => { + // @ts-expect-error + prisma.user.updateManyAndReturn() + + expectTypeOf(prisma.user).not.toHaveProperty('updateManyAndReturn') + }) + }, + { + optOut: { + from: [Providers.POSTGRESQL, Providers.COCKROACHDB, Providers.SQLITE], + reason: + 'Excluded dbs support the "ConnectorCapability::UpdateReturning". This test is only about making sure that it does not show up where it is not supported.', + }, + }, +) diff --git a/packages/client/tests/functional/metrics/enabled/tests.ts b/packages/client/tests/functional/metrics/enabled/tests.ts index 6d2a9c2841da..b5b6e7b07e9e 100644 --- a/packages/client/tests/functional/metrics/enabled/tests.ts +++ b/packages/client/tests/functional/metrics/enabled/tests.ts @@ -360,7 +360,9 @@ testMatrix.setupTestSuite( { key: 'prisma_pool_connections_busy', labels: {}, - value: 0, + // This is either 0 or 1 at this point. We might want to use `waitFor` to wait for a stable + // final state if we know the total number of connections. + value: expect.toBeOneOf([0, 1]), description: 'The number of pool connections currently executing datasource queries', }, { diff --git a/packages/client/tests/functional/missing-env/tests.ts b/packages/client/tests/functional/missing-env/tests.ts index b47cc0ebc164..42252ac5afb4 100644 --- a/packages/client/tests/functional/missing-env/tests.ts +++ b/packages/client/tests/functional/missing-env/tests.ts @@ -9,28 +9,10 @@ declare const newPrismaClient: NewPrismaClient declare let Prisma: typeof PrismaNamespace testMatrix.setupTestSuite( - ({ clientRuntime }, suiteMeta, clientMeta) => { - // TODO: Fails with Expected PrismaClientInitError, Received Error - skipTestIf(clientRuntime === 'wasm')('PrismaClientInitializationError for missing env', async () => { - const prisma = newPrismaClient() - - try { - await prisma.$connect() - } catch (e) { - const message = stripAnsi(e.message as string) - expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) - expect(message).toContain('error: Environment variable not found: DATABASE_URI.') - } - }) - // TODO: Fails with Expected PrismaClientInitError, Received Error - skipTestIf(clientRuntime === 'wasm')( - 'PrismaClientInitializationError for missing env and empty override', - async () => { - const prisma = newPrismaClient({ - datasources: { - db: {}, - }, - }) + ({ driverAdapter }, _suiteMeta, clientMeta) => { + describeIf(driverAdapter === undefined)('default case: no Driver Adapter', () => { + test('PrismaClientInitializationError for missing env', async () => { + const prisma = newPrismaClient() try { await prisma.$connect() @@ -39,62 +21,112 @@ testMatrix.setupTestSuite( expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) expect(message).toContain('error: Environment variable not found: DATABASE_URI.') } - }, - ) - testIf(clientMeta.dataProxy && clientMeta.runtime === 'edge')( - 'PrismaClientInitializationError for missing env on edge', - async () => { - const prisma = newPrismaClient() + expect.hasAssertions() + }) + + test('PrismaClientInitializationError for missing env and empty override', async () => { + const prisma = newPrismaClient({ + datasources: { + db: {}, + }, + }) try { await prisma.$connect() } catch (e) { const message = stripAnsi(e.message as string) expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) - expect(message).toMatchInlineSnapshot(`"error: Environment variable not found: DATABASE_URI."`) + expect(message).toContain('error: Environment variable not found: DATABASE_URI.') } - }, - ) - testIf(clientMeta.dataProxy && clientMeta.runtime === 'edge')( - 'PrismaClientInitializationError for missing env on edge on cloudflare', - async () => { - globalThis.navigator = { userAgent: 'Cloudflare-Workers' } + expect.hasAssertions() + }) - const prisma = newPrismaClient() + testIf(clientMeta.dataProxy && clientMeta.runtime === 'edge')( + 'PrismaClientInitializationError for missing env on edge', + async () => { + const prisma = newPrismaClient() - try { - await prisma.$connect() - } catch (e) { - const message = stripAnsi(e.message as string) - expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) - expect(message).toMatchInlineSnapshot(` - "error: Environment variable not found: DATABASE_URI. + try { + await prisma.$connect() + } catch (e) { + const message = stripAnsi(e.message as string) + expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) + expect(message).toMatchInlineSnapshot(`"error: Environment variable not found: DATABASE_URI."`) + } - In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. - To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url" - `) - } + expect.hasAssertions() + }, + ) + + testIf(clientMeta.dataProxy && clientMeta.runtime === 'edge')( + 'PrismaClientInitializationError for missing env on edge on cloudflare', + async () => { + globalThis.navigator = { userAgent: 'Cloudflare-Workers' } + + const prisma = newPrismaClient() + + try { + await prisma.$connect() + } catch (e) { + const message = stripAnsi(e.message as string) + expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) + expect(message).toMatchInlineSnapshot(` + "error: Environment variable not found: DATABASE_URI. - delete globalThis.navigator - }, - ) + In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. + To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url" + `) + } - testIf(clientMeta.dataProxy && clientMeta.runtime === 'node')( - 'PrismaClientInitializationError for missing env with --no-engine on node', - async () => { + expect.hasAssertions() + delete globalThis.navigator + }, + ) + + testIf(clientMeta.dataProxy && clientMeta.runtime === 'node')( + 'PrismaClientInitializationError for missing env with --no-engine on node', + async () => { + const prisma = newPrismaClient() + + try { + await prisma.$connect() + } catch (e) { + const message = stripAnsi(e.message as string) + expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) + expect(message).toMatchInlineSnapshot(`"error: Environment variable not found: DATABASE_URI."`) + } + + expect.hasAssertions() + }, + ) + }) + + describeIf(driverAdapter !== undefined)('with Driver Adapters', () => { + test('Initialisation works even when missing env var referenced in the schema', async () => { const prisma = newPrismaClient() + await prisma.$connect() + }) + test('PrismaClientInitializationError for missing env and empty override', () => { try { - await prisma.$connect() + newPrismaClient({ + datasources: { + db: {}, + }, + }) } catch (e) { const message = stripAnsi(e.message as string) expect(e).toBeInstanceOf(Prisma.PrismaClientInitializationError) - expect(message).toMatchInlineSnapshot(`"error: Environment variable not found: DATABASE_URI."`) + expect(message).toMatchInlineSnapshot( + `"Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration."`, + ) } - }, - ) + + expect.hasAssertions() + }) + }) }, { skipDb: true, diff --git a/packages/client/tests/functional/multiple-types/tests.ts b/packages/client/tests/functional/multiple-types/tests.ts index 40dff53d42e5..6d086fe87b18 100644 --- a/packages/client/tests/functional/multiple-types/tests.ts +++ b/packages/client/tests/functional/multiple-types/tests.ts @@ -9,7 +9,7 @@ declare let Prisma: typeof PrismaNamespace // Note: Test inspired by ./raw-queries/typed-results/tests.ts testMatrix.setupTestSuite( - ({ clientRuntime, driverAdapter, provider }) => { + ({ driverAdapter, provider }) => { const isD1 = driverAdapter === 'js_d1' beforeEach(async () => { @@ -117,7 +117,7 @@ testMatrix.setupTestSuite( int: 42, bInt: BigInt('12345'), float: 0.125, - bytes: Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), bool: true, dt: new Date('1900-10-10T01:10:10.001Z'), dec: new Prisma.Decimal('0.0625'), @@ -137,10 +137,7 @@ testMatrix.setupTestSuite( // see client/tests/functional/raw-queries/typed-results/tests.ts bInt: expect.anything(), float: 0.125, - // TODO: The buffer binary data does not match the expected one - // testModel![0].bytes.constructor shows different things - // see client/tests/functional/raw-queries/typed-results/tests.ts - bytes: clientRuntime === 'wasm' ? expect.anything() : Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), bool: isD1 || provider === Providers.MYSQL ? 1 : true, dt: new Date('1900-10-10T01:10:10.001Z'), dec: isD1 ? 0.0625 : new Prisma.Decimal('0.0625'), @@ -156,10 +153,7 @@ testMatrix.setupTestSuite( // see client/tests/functional/raw-queries/typed-results/tests.ts bInt: expect.anything(), float: 0.125, - // TODO: The buffer binary data does not match the expected one - // testModel![0].bytes.constructor shows different things - // see client/tests/functional/raw-queries/typed-results/tests.ts - bytes: clientRuntime === 'wasm' ? expect.anything() : Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), // -> Diff, value is a Boolean, which is correct. bool: true, dt: new Date('1900-10-10T01:10:10.001Z'), @@ -210,7 +204,7 @@ testMatrix.setupTestSuite( int: 42, bInt: BigInt('12345'), float: 0.125, - bytes: Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), bool: true, dt: new Date('1900-10-10T01:10:10.001Z'), dec: new Prisma.Decimal('0.0625'), @@ -241,10 +235,7 @@ testMatrix.setupTestSuite( // see client/tests/functional/raw-queries/typed-results/tests.ts bInt: expect.anything(), float: 0.125, - // TODO: The buffer binary data does not match the expected one - // testModel![0].bytes.constructor shows different things - // see client/tests/functional/raw-queries/typed-results/tests.ts - bytes: clientRuntime === 'wasm' ? expect.anything() : Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), bool: isD1 || provider === Providers.MYSQL ? 1 : true, dt: new Date('1900-10-10T01:10:10.001Z'), dec: isD1 ? 0.0625 : new Prisma.Decimal('0.0625'), @@ -289,14 +280,5 @@ testMatrix.setupTestSuite( $queryRaw only works on SQL based providers `, }, - skipDataProxy: { - runtimes: ['edge'], - reason: ` - This test is broken with the edge client. It needs to be updated to - send ArrayBuffers and expect them as results, and the client might need - to be fixed to return buffer and not polyfilled Buffers in - query results. - `, - }, }, ) diff --git a/packages/client/tests/functional/omit/prisma/_schema.ts b/packages/client/tests/functional/omit/prisma/_schema.ts index 82907e3df685..308de3803a61 100644 --- a/packages/client/tests/functional/omit/prisma/_schema.ts +++ b/packages/client/tests/functional/omit/prisma/_schema.ts @@ -5,14 +5,13 @@ export default testMatrix.setupSchema(({ provider }) => { return /* Prisma */ ` generator client { provider = "prisma-client-js" - previewFeatures = ["omitApi"] } - + datasource db { provider = "${provider}" url = env("DATABASE_URI_${provider}") } - + model User { id ${idForProvider(provider)} name String diff --git a/packages/client/tests/functional/prisma-dot-dmmf/__snapshots__/tests.ts.snap b/packages/client/tests/functional/prisma-dot-dmmf/__snapshots__/tests.ts.snap index 72bd8773d367..ddf99a39f616 100644 --- a/packages/client/tests/functional/prisma-dot-dmmf/__snapshots__/tests.ts.snap +++ b/packages/client/tests/functional/prisma-dot-dmmf/__snapshots__/tests.ts.snap @@ -10,7 +10,9 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -23,6 +25,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -36,6 +39,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -49,6 +53,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -58,6 +63,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -66,7 +72,9 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -79,6 +87,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -92,6 +101,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -105,6 +115,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -118,6 +129,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -131,6 +143,7 @@ exports[`prisma-dot-dmmf (provider=cockroachdb) exports Prisma.dmmf (default) 1` "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -164,6 +177,10 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": [ + "ObjectId", + [], + ], "type": "String", }, { @@ -177,6 +194,7 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -190,6 +208,7 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -199,6 +218,7 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -221,6 +241,10 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": [ + "ObjectId", + [], + ], "type": "String", }, { @@ -234,6 +258,7 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -247,6 +272,10 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": [ + "ObjectId", + [], + ], "type": "String", }, { @@ -260,6 +289,7 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -273,6 +303,7 @@ exports[`prisma-dot-dmmf (provider=mongodb) exports Prisma.dmmf (default) 1`] = "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -292,7 +323,9 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -305,6 +338,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -318,6 +352,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -331,6 +366,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -340,6 +376,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -348,7 +385,9 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -361,6 +400,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -374,6 +414,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -387,6 +428,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -400,6 +442,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -413,6 +456,7 @@ exports[`prisma-dot-dmmf (provider=mysql) exports Prisma.dmmf (default) 1`] = ` "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -432,7 +476,9 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -445,6 +491,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -458,6 +505,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -471,6 +519,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -480,6 +529,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -488,7 +538,9 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -501,6 +553,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -514,6 +567,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -527,6 +581,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -540,6 +595,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -553,6 +609,7 @@ exports[`prisma-dot-dmmf (provider=mysql, js_planetscale) exports Prisma.dmmf (d "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -572,7 +629,9 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -585,6 +644,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -598,6 +658,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -611,6 +672,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -620,6 +682,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -628,7 +691,9 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -641,6 +706,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -654,6 +720,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -667,6 +734,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -680,6 +748,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -693,6 +762,7 @@ exports[`prisma-dot-dmmf (provider=postgresql) exports Prisma.dmmf (default) 1`] "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -712,7 +782,9 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -725,6 +797,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -738,6 +811,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -751,6 +825,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -760,6 +835,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -768,7 +844,9 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -781,6 +859,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -794,6 +873,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -807,6 +887,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -820,6 +901,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -833,6 +915,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_neon) exports Prisma.dmmf (def "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -852,7 +935,9 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -865,6 +950,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -878,6 +964,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -891,6 +978,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -900,6 +988,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -908,7 +997,9 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -921,6 +1012,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -934,6 +1026,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -947,6 +1040,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -960,6 +1054,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -973,6 +1068,7 @@ exports[`prisma-dot-dmmf (provider=postgresql, js_pg) exports Prisma.dmmf (defau "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -992,7 +1088,9 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1005,6 +1103,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1018,6 +1117,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -1031,6 +1131,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -1040,6 +1141,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1048,7 +1150,9 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1061,6 +1165,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1074,6 +1179,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -1087,6 +1193,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -1100,6 +1207,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -1113,6 +1221,7 @@ exports[`prisma-dot-dmmf (provider=sqlite) exports Prisma.dmmf (default) 1`] = ` "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1132,7 +1241,9 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1145,6 +1256,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1158,6 +1270,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -1171,6 +1284,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -1180,6 +1294,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1188,7 +1303,9 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1201,6 +1318,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1214,6 +1332,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -1227,6 +1346,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -1240,6 +1360,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -1253,6 +1374,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_d1) exports Prisma.dmmf (default) "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1272,7 +1394,9 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1285,6 +1409,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1298,6 +1423,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -1311,6 +1437,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -1320,6 +1447,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1328,7 +1456,9 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1341,6 +1471,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1354,6 +1485,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -1367,6 +1499,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -1380,6 +1513,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -1393,6 +1527,7 @@ exports[`prisma-dot-dmmf (provider=sqlite, js_libsql) exports Prisma.dmmf (defau "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1412,7 +1547,9 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1425,6 +1562,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1438,6 +1576,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, { @@ -1451,6 +1590,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -1460,6 +1600,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -1468,7 +1609,9 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "fields": [ { "default": { - "args": [], + "args": [ + 1, + ], "name": "cuid", }, "hasDefaultValue": true, @@ -1481,6 +1624,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -1494,6 +1638,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -1507,6 +1652,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "String", }, { @@ -1520,6 +1666,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -1533,6 +1680,7 @@ exports[`prisma-dot-dmmf (provider=sqlserver) exports Prisma.dmmf (default) 1`] "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, diff --git a/packages/client/tests/functional/proxy-prototype/_matrix.ts b/packages/client/tests/functional/proxy-prototype/_matrix.ts new file mode 100644 index 000000000000..eecfe25bf3a5 --- /dev/null +++ b/packages/client/tests/functional/proxy-prototype/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../_utils/defineMatrix' +import { Providers } from '../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.SQLITE }]]) diff --git a/packages/client/tests/functional/proxy-prototype/prisma/_schema.ts b/packages/client/tests/functional/proxy-prototype/prisma/_schema.ts new file mode 100644 index 000000000000..793a5a81df3d --- /dev/null +++ b/packages/client/tests/functional/proxy-prototype/prisma/_schema.ts @@ -0,0 +1,19 @@ +import { idForProvider } from '../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + } + ` +}) diff --git a/packages/client/tests/functional/proxy-prototype/test.ts b/packages/client/tests/functional/proxy-prototype/test.ts new file mode 100644 index 000000000000..83f5a3881f9e --- /dev/null +++ b/packages/client/tests/functional/proxy-prototype/test.ts @@ -0,0 +1,23 @@ +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +testMatrix.setupTestSuite( + () => { + // context: we test that PrismaClient can work with cloudflare RPCs + // so that it can be "passed" accross boundaries between workers + test('prototype of proxies is object prototype', () => { + expect(Object.getPrototypeOf(prisma)).toBe(Object.prototype) + expect(Object.getPrototypeOf(prisma.user)).toBe(Object.prototype) + expect(Object.getPrototypeOf(prisma.user.findFirst)).toBe(Function.prototype) + }) + }, + { + optOut: { + from: ['postgresql', 'mysql', 'mongodb', 'cockroachdb', 'sqlserver'], + reason: 'This is a client-only test', + }, + }, +) diff --git a/packages/client/tests/functional/query-error-logging/tests.ts b/packages/client/tests/functional/query-error-logging/tests.ts index ca222e07903f..1de8f156fba8 100644 --- a/packages/client/tests/functional/query-error-logging/tests.ts +++ b/packages/client/tests/functional/query-error-logging/tests.ts @@ -31,7 +31,10 @@ testMatrix.setupTestSuite( email, }, }), - ).rejects.toThrow('No User found') + ).rejects.toMatchObject({ + name: 'PrismaClientKnownRequestError', + code: 'P2025', + }) expect(errors).toHaveLength(1) @@ -49,7 +52,10 @@ testMatrix.setupTestSuite( email, }, }), - ).rejects.toThrow('No User found') + ).rejects.toMatchObject({ + name: 'PrismaClientKnownRequestError', + code: 'P2025', + }) expect(errors).toHaveLength(1) diff --git a/packages/client/tests/functional/query-validation/tests.ts b/packages/client/tests/functional/query-validation/tests.ts index 9f8d974ee590..3671f70b941c 100644 --- a/packages/client/tests/functional/query-validation/tests.ts +++ b/packages/client/tests/functional/query-validation/tests.ts @@ -239,7 +239,7 @@ testMatrix.setupTestSuite( ? createdAt?: DateTimeFilter | DateTime, ? published?: BoolFilter | Boolean, ? organizationId?: StringFilter | String, - ? organization?: OrganizationRelationFilter | OrganizationWhereInput + ? organization?: OrganizationScalarRelationFilter | OrganizationWhereInput } }) @@ -458,7 +458,7 @@ testMatrix.setupTestSuite( ? name?: StringFilter | String, ? createdAt?: DateTimeFilter | DateTime, ? published?: BoolFilter | Boolean, - ? organization?: OrganizationRelationFilter | OrganizationWhereInput + ? organization?: OrganizationScalarRelationFilter | OrganizationWhereInput } }) diff --git a/packages/client/tests/functional/raw-queries/send-type-hints/tests.ts b/packages/client/tests/functional/raw-queries/send-type-hints/tests.ts index 1fc2bb60a85a..f2b48fddd0e2 100644 --- a/packages/client/tests/functional/raw-queries/send-type-hints/tests.ts +++ b/packages/client/tests/functional/raw-queries/send-type-hints/tests.ts @@ -8,11 +8,11 @@ declare let Prisma: typeof PrismaNamespace testMatrix.setupTestSuite( ({ provider }) => { - test('Buffer ($queryRaw)', async () => { + test('Uint8Array ($queryRaw)', async () => { if (provider === Providers.MYSQL) { - await prisma.$queryRaw`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('1', ${Buffer.from('hello')})` + await prisma.$queryRaw`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('1', ${Uint8Array.from([1, 2, 3])})` } else { - await prisma.$queryRaw`INSERT INTO "Entry" ("id", "binary") VALUES ('1', ${Buffer.from('hello')})` + await prisma.$queryRaw`INSERT INTO "Entry" ("id", "binary") VALUES ('1', ${Uint8Array.from([1, 2, 3])})` } const record = await prisma.entry.findUnique({ @@ -21,14 +21,14 @@ testMatrix.setupTestSuite( }, }) - expect(record?.binary).toEqual(Buffer.from('hello')) + expect(record?.binary).toEqual(Uint8Array.from([1, 2, 3])) }) - test('Buffer ($executeRaw)', async () => { + test('Uint8Array ($executeRaw)', async () => { if (provider === Providers.MYSQL) { - await prisma.$executeRaw`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('2', ${Buffer.from('hello')})` + await prisma.$executeRaw`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('2', ${Uint8Array.from([1, 2, 3])})` } else { - await prisma.$executeRaw`INSERT INTO "Entry" ("id", "binary") VALUES ('2', ${Buffer.from('hello')})` + await prisma.$executeRaw`INSERT INTO "Entry" ("id", "binary") VALUES ('2', ${Uint8Array.from([1, 2, 3])})` } const record = await prisma.entry.findUnique({ @@ -37,16 +37,18 @@ testMatrix.setupTestSuite( }, }) - expect(record?.binary).toEqual(Buffer.from('hello')) + expect(record?.binary).toEqual(Uint8Array.from([1, 2, 3])) }) - test('Buffer ($queryRaw + Prisma.sql)', async () => { + test('Uint8Array ($queryRaw + Prisma.sql)', async () => { if (provider === Providers.MYSQL) { await prisma.$queryRaw( - Prisma.sql`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('3', ${Buffer.from('hello')})`, + Prisma.sql`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('3', ${Uint8Array.from([1, 2, 3])})`, ) } else { - await prisma.$queryRaw(Prisma.sql`INSERT INTO "Entry" ("id", "binary") VALUES ('3', ${Buffer.from('hello')})`) + await prisma.$queryRaw( + Prisma.sql`INSERT INTO "Entry" ("id", "binary") VALUES ('3', ${Uint8Array.from([1, 2, 3])})`, + ) } const record = await prisma.entry.findUnique({ @@ -55,16 +57,18 @@ testMatrix.setupTestSuite( }, }) - expect(record?.binary).toEqual(Buffer.from('hello')) + expect(record?.binary).toEqual(Uint8Array.from([1, 2, 3])) }) - test('Buffer ($executeRaw + Prisma.sql)', async () => { + test('Uint8Array ($executeRaw + Prisma.sql)', async () => { if (provider === Providers.MYSQL) { await prisma.$executeRaw( - Prisma.sql`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('4', ${Buffer.from('hello')})`, + Prisma.sql`INSERT INTO \`Entry\` (\`id\`, \`binary\`) VALUES ('4', ${Uint8Array.from([1, 2, 3])})`, ) } else { - await prisma.$executeRaw(Prisma.sql`INSERT INTO "Entry" ("id", "binary") VALUES ('4', ${Buffer.from('hello')})`) + await prisma.$executeRaw( + Prisma.sql`INSERT INTO "Entry" ("id", "binary") VALUES ('4', ${Uint8Array.from([1, 2, 3])})`, + ) } const record = await prisma.entry.findUnique({ @@ -73,7 +77,7 @@ testMatrix.setupTestSuite( }, }) - expect(record?.binary).toEqual(Buffer.from('hello')) + expect(record?.binary).toEqual(Uint8Array.from([1, 2, 3])) }) }, { @@ -81,17 +85,5 @@ testMatrix.setupTestSuite( from: [Providers.MONGODB], reason: '$queryRaw only works on SQL based providers', }, - skipDataProxy: { - runtimes: ['edge'], - reason: ` - This test is broken with the edge client. It needs to be updated to - send ArrayBuffers and expect them as results, and the client might need - to be fixed to return ArrayBuffers and not polyfilled Buffers in - query results. - `, - }, - skip(when, { clientRuntime }) { - when(clientRuntime === 'wasm', 'All buffer assertions fail with different binary data') - }, }, ) diff --git a/packages/client/tests/functional/raw-queries/typed-results-advanced-and-native-types/tests.ts b/packages/client/tests/functional/raw-queries/typed-results-advanced-and-native-types/tests.ts index af361e0efa34..9a94e192f208 100644 --- a/packages/client/tests/functional/raw-queries/typed-results-advanced-and-native-types/tests.ts +++ b/packages/client/tests/functional/raw-queries/typed-results-advanced-and-native-types/tests.ts @@ -42,8 +42,8 @@ testMatrix.setupTestSuite( }, ]) - expect(testModel![0].bInt_list[0] === BigInt('-1234')).toBe(true) - expect(testModel![0].bInt_list[1] === BigInt('1234')).toBe(true) + expect(testModel![0].bInt_list[0]).toEqual(BigInt('-1234')) + expect(testModel![0].bInt_list[1]).toEqual(BigInt('1234')) }) }, { diff --git a/packages/client/tests/functional/raw-queries/typed-results/tests.ts b/packages/client/tests/functional/raw-queries/typed-results/tests.ts index 2f6b448bf69b..b1deead66be3 100644 --- a/packages/client/tests/functional/raw-queries/typed-results/tests.ts +++ b/packages/client/tests/functional/raw-queries/typed-results/tests.ts @@ -32,7 +32,7 @@ testMatrix.setupTestSuite( int: 42, bInt: BigInt('12345'), float: 0.125, - bytes: Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), bool: true, dt: new Date('1900-10-10T01:10:10.001Z'), dec: new Prisma.Decimal('0.0625'), @@ -47,42 +47,10 @@ testMatrix.setupTestSuite( string: 'str', int: 42, // TODO: replace with exact value and remove next assert after - // https://github.com/facebook/jest/issues/11617 is fixed + // Jest is updated to at least 30.0.0-alpha.6 (which ships https://github.com/jestjs/jest/pull/15191). bInt: expect.anything(), float: 0.125, - // TODO: The buffer binary data does not match the expected one - // testModel![0].bytes.constructor shows different things, see below - // wasm: - // [Function: C] { - // TYPED_ARRAY_SUPPORT: true, - // poolSize: 8192, - // from: [Function (anonymous)], - // alloc: [Function (anonymous)], - // allocUnsafe: [Function (anonymous)], - // allocUnsafeSlow: [Function (anonymous)], - // isBuffer: [Function (anonymous)], - // compare: [Function (anonymous)], - // isEncoding: [Function (anonymous)], - // concat: [Function (anonymous)], - // byteLength: [Function: In] - // } - // library: - // [Function: Buffer] { - // poolSize: 8192, - // from: [Function: from], - // copyBytesFrom: [Function: copyBytesFrom], - // of: [Function: of], - // alloc: [Function: alloc], - // allocUnsafe: [Function: allocUnsafe], - // allocUnsafeSlow: [Function: allocUnsafeSlow], - // isBuffer: [Function: isBuffer], - // compare: [Function: compare], - // isEncoding: [Function: isEncoding], - // concat: [Function: concat], - // byteLength: [Function: byteLength], - // [Symbol(kIsEncodingSymbol)]: [Function: isEncoding] - // } - bytes: clientRuntime === 'wasm' ? expect.anything() : Buffer.from([1, 2, 3]), + bytes: Uint8Array.from([1, 2, 3]), bool: driverAdapter === 'js_d1' || provider === Providers.MYSQL ? 1 : true, dt: new Date('1900-10-10T01:10:10.001Z'), dec: driverAdapter === 'js_d1' ? 0.0625 : new Prisma.Decimal('0.0625'), @@ -144,7 +112,7 @@ testMatrix.setupTestSuite( const result = await getAllEntries() - if (driverAdapter === 'js_d1') { + if (driverAdapter === 'js_d1' && clientRuntime !== 'wasm') { expect(result![0].bInt === 9007199254740991).toBe(true) } else { expect(result![0].bInt === BigInt('9007199254740991')).toBe(true) @@ -160,7 +128,7 @@ testMatrix.setupTestSuite( const result = await getAllEntries() - if (driverAdapter === 'js_d1') { + if (driverAdapter === 'js_d1' && clientRuntime !== 'wasm') { // It's a number expect(result![0].bInt === -9007199254740991).toBe(true) } else { @@ -169,61 +137,78 @@ testMatrix.setupTestSuite( } }) - // https://developers.cloudflare.com/d1/build-databases/query-databases/ - // D1 supports 64-bit signed INTEGER values internally, however BigInts - // are not currently supported in the API yet. JavaScript integers are safe up to Number.MAX_SAFE_INTEGER - test('query model with a BigInt = MAX_SAFE_INTEGER + MAX_SAFE_INTEGER', async () => { - await prisma.testModel.create({ - data: { - bInt: BigInt('9007199254740991') + BigInt('9007199254740991'), - }, - }) + describe('when BigInt value is not a safe integer', () => { + // https://developers.cloudflare.com/d1/build-databases/query-databases/ + // D1 supports 64-bit signed INTEGER values internally, however BigInts + // are not currently supported in the API yet. JavaScript integers are safe up to Number.MAX_SAFE_INTEGER + const isBigIntNativelySupported = !['js_d1'].includes(driverAdapter as string) + + describe('query model with a BigInt = MAX_SAFE_INTEGER + MAX_SAFE_INTEGER', () => { + const createBigIntMaxSafeIntPlusMaxSafeInt = (prisma: PrismaClient) => { + return prisma.testModel.create({ + data: { + bInt: BigInt('9007199254740991') + BigInt('9007199254740991'), + }, + }) + } - const result = await getAllEntries() + testIf(isBigIntNativelySupported)('BigInt is natively supported', async () => { + await createBigIntMaxSafeIntPlusMaxSafeInt(prisma) + const result = await getAllEntries() - if (driverAdapter === 'js_d1') { - // It's a number - expect(result![0].bInt === 18014398509481982).toBe(true) - } else { - // It's a bigint - expect(result![0].bInt === BigInt('9007199254740991') + BigInt('9007199254740991')).toBe(true) - expect(result![0].bInt === 18014398509481982n).toBe(true) - } - }) - test('query model with a BigInt = -(MAX_SAFE_INTEGER + MAX_SAFE_INTEGER)', async () => { - const create = prisma.testModel.create({ - data: { - bInt: BigInt('-9007199254740991') + BigInt('-9007199254740991'), - }, + // It's a bigint + expect(result![0].bInt === BigInt('9007199254740991') + BigInt('9007199254740991')).toBe(true) + expect(result![0].bInt === 18014398509481982n).toBe(true) + }) + + testIf(!isBigIntNativelySupported)('BigInt is not natively supported', async () => { + const create = createBigIntMaxSafeIntPlusMaxSafeInt(prisma) + + await expect(create).rejects.toThrow('Invalid Int64-encoded value received: 18014398509481982') + }) }) - if (clientRuntime !== 'wasm') { - if (driverAdapter === 'js_libsql') { - await expect(create).rejects.toThrow( - `bigint is too large to be represented as a 64-bit integer and passed as argument`, - ) - } else if (driverAdapter === 'js_neon' || driverAdapter === 'js_pg') { - // PostgresError { code: \"22003\", message: \"value \\\"-18428729675200069634\\\" is out of range for type bigint\", severity: \"ERROR\", detail: None, column: None, hint: None } - await expect(create).rejects.toThrow(`is out of range for type bigint`) - } else if (driverAdapter === 'js_planetscale') { - await expect(create).rejects.toThrow(`Value out of range for the type.`) - await expect(create).rejects.toThrow( - `rpc error: code = FailedPrecondition desc = Out of range value for column 'bInt' at row 1`, - ) + describe.skip('query model with a BigInt = -(MAX_SAFE_INTEGER + MAX_SAFE_INTEGER)', () => { + const createBigIntMinSafeIntPlusMinSafeInt = (prisma: PrismaClient) => { + return prisma.testModel.create({ + data: { + bInt: BigInt('-9007199254740991') + BigInt('-9007199254740991'), + }, + }) } - } else { - await create - const result = await getAllEntries() - if (driverAdapter === 'js_d1') { - // It's a number - expect(result![0].bInt === -18014398509481982).toBe(true) - } else { - // It's a bigint - expect(result![0].bInt === BigInt('-9007199254740991') + BigInt('-9007199254740991')).toBe(true) - expect(result![0].bInt === -18014398509481982n).toBe(true) - } - } + testIf(isBigIntNativelySupported)('BigInt is natively supported', async () => { + const create = createBigIntMinSafeIntPlusMinSafeInt(prisma) + + if (clientRuntime !== 'wasm') { + if (driverAdapter === 'js_libsql') { + await expect(create).rejects.toThrow( + `bigint is too large to be represented as a 64-bit integer and passed as argument`, + ) + } else if (driverAdapter === 'js_neon' || driverAdapter === 'js_pg') { + // PostgresError { code: \"22003\", message: \"value \\\"-18428729675200069634\\\" is out of range for type bigint\", severity: \"ERROR\", detail: None, column: None, hint: None } + await expect(create).rejects.toThrow(`is out of range for type bigint`) + } else if (driverAdapter === 'js_planetscale') { + await expect(create).rejects.toThrow(`Value out of range for the type.`) + await expect(create).rejects.toThrow( + `rpc error: code = FailedPrecondition desc = Out of range value for column 'bInt' at row 1`, + ) + } + } else { + const result = await getAllEntries() + + // It's a bigint + expect(result![0].bInt === BigInt('-9007199254740991') + BigInt('-9007199254740991')).toBe(true) + expect(result![0].bInt === -18014398509481982n).toBe(true) + } + }) + + testIf(!isBigIntNativelySupported)('BigInt is not natively supported', async () => { + const create = createBigIntMinSafeIntPlusMinSafeInt(prisma) + + await expect(create).rejects.toThrow('Invalid Int64-encoded value received: -18014398509481982') + }) + }) }) }, { @@ -233,14 +218,5 @@ testMatrix.setupTestSuite( $queryRaw only works on SQL based providers `, }, - skipDataProxy: { - runtimes: ['edge'], - reason: ` - This test is broken with the edge client. It needs to be updated to - send ArrayBuffers and expect them as results, and the client might need - to be fixed to return ArrayBuffers and not polyfilled Buffers in - query results. - `, - }, }, ) diff --git a/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-1.ts b/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-1.ts index 56b2948278d7..3efcd2c06f05 100644 --- a/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-1.ts +++ b/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-1.ts @@ -2,7 +2,7 @@ import { AdapterProviders, Providers } from '../_utils/providers' import { ConditionalError } from '../_utils/relationMode/conditionalError' import testMatrix from './_matrix' -/* eslint-disable @typescript-eslint/no-unused-vars, jest/no-identical-title */ +/* eslint-disable @typescript-eslint/no-unused-vars */ // @ts-ignore this is just for type checks declare let prisma: import('@prisma/client').PrismaClient @@ -93,7 +93,7 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', }, }), ) @@ -148,18 +148,14 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', - [AdapterProviders.JS_NEON]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [AdapterProviders.JS_PG]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', + [AdapterProviders.JS_NEON]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [AdapterProviders.JS_PG]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', }, }), ) @@ -178,7 +174,7 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', }, }), ) @@ -228,18 +224,14 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', - [AdapterProviders.JS_NEON]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [AdapterProviders.JS_PG]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', + [AdapterProviders.JS_NEON]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [AdapterProviders.JS_PG]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', }, }), ) diff --git a/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-n.ts b/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-n.ts index 8ecd621dc11b..36ebf40c72e9 100644 --- a/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-n.ts +++ b/packages/client/tests/functional/referentialActions-setDefault/tests_1-to-n.ts @@ -2,7 +2,7 @@ import { AdapterProviders, Providers } from '../_utils/providers' import { ConditionalError } from '../_utils/relationMode/conditionalError' import testMatrix from './_matrix' -/* eslint-disable @typescript-eslint/no-unused-vars, jest/no-identical-title */ +/* eslint-disable @typescript-eslint/no-unused-vars */ // @ts-ignore this is just for type checks declare let prisma: import('@prisma/client').PrismaClient @@ -95,7 +95,7 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', }, }), ) @@ -150,18 +150,14 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', - [AdapterProviders.JS_NEON]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', - [AdapterProviders.JS_PG]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', + [AdapterProviders.JS_NEON]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [AdapterProviders.JS_PG]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', }, }), ) @@ -180,7 +176,7 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', }, }), ) @@ -230,18 +226,14 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', - [AdapterProviders.JS_NEON]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', - [AdapterProviders.JS_PG]: - 'Foreign key constraint failed on the field: `PostOneToMany_userId_fkey (index)`', + [AdapterProviders.JS_NEON]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', + [AdapterProviders.JS_PG]: 'Foreign key constraint violated: `PostOneToMany_userId_fkey (index)`', }, }), ) diff --git a/packages/client/tests/functional/relation-load-strategy-unsupported/preview-feature-disabled.ts b/packages/client/tests/functional/relation-load-strategy-unsupported/preview-feature-disabled.ts index 5859743fa398..2c9856ebfe17 100644 --- a/packages/client/tests/functional/relation-load-strategy-unsupported/preview-feature-disabled.ts +++ b/packages/client/tests/functional/relation-load-strategy-unsupported/preview-feature-disabled.ts @@ -456,7 +456,8 @@ testMatrix.setupTestSuite( data: { login: "user" }, - ? where?: UserWhereInput + ? where?: UserWhereInput, + ? limit?: Int }) Unknown argument \`relationLoadStrategy\`. Available options are marked with ?." @@ -480,7 +481,8 @@ testMatrix.setupTestSuite( → XX prisma.user.deleteMany({ relationLoadStrategy: "query", ~~~~~~~~~~~~~~~~~~~~ - ? where?: UserWhereInput + ? where?: UserWhereInput, + ? limit?: Int }) Unknown argument \`relationLoadStrategy\`. Available options are marked with ?." diff --git a/packages/client/tests/functional/relation-load-strategy/unsupported-queries.ts b/packages/client/tests/functional/relation-load-strategy/unsupported-queries.ts index 81c85f15fdf0..930db01ac3fc 100644 --- a/packages/client/tests/functional/relation-load-strategy/unsupported-queries.ts +++ b/packages/client/tests/functional/relation-load-strategy/unsupported-queries.ts @@ -224,7 +224,8 @@ testMatrix.setupTestSuite( data: { login: "user" }, - ? where?: UserWhereInput + ? where?: UserWhereInput, + ? limit?: Int }) Unknown argument \`relationLoadStrategy\`. Available options are marked with ?." @@ -248,7 +249,8 @@ testMatrix.setupTestSuite( → XX prisma.user.deleteMany({ relationLoadStrategy: "query", ~~~~~~~~~~~~~~~~~~~~ - ? where?: UserWhereInput + ? where?: UserWhereInput, + ? limit?: Int }) Unknown argument \`relationLoadStrategy\`. Available options are marked with ?." diff --git a/packages/client/tests/functional/relationMode-17255-same-actions/tests.ts b/packages/client/tests/functional/relationMode-17255-same-actions/tests.ts index 3a2807307e98..8ecffb8690b5 100644 --- a/packages/client/tests/functional/relationMode-17255-same-actions/tests.ts +++ b/packages/client/tests/functional/relationMode-17255-same-actions/tests.ts @@ -80,15 +80,15 @@ testMatrix.setupTestSuite( ).rejects.toThrow( conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: 'Foreign key constraint failed on the field: `Main_aliceId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `aliceId`', - [Providers.SQLSERVER]: 'Foreign key constraint failed on the field: `Main_aliceId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `Main_aliceId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `Main_aliceId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `aliceId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `Main_aliceId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', - [AdapterProviders.JS_NEON]: 'Foreign key constraint failed on the field: `Main_aliceId_fkey (index)`', - [AdapterProviders.JS_PG]: 'Foreign key constraint failed on the field: `Main_aliceId_fkey (index)`', - [AdapterProviders.JS_PLANETSCALE]: 'Foreign key constraint failed on the field: `aliceId', + [AdapterProviders.JS_NEON]: 'Foreign key constraint violated: `Main_aliceId_fkey (index)`', + [AdapterProviders.JS_PG]: 'Foreign key constraint violated: `Main_aliceId_fkey (index)`', + [AdapterProviders.JS_PLANETSCALE]: 'Foreign key constraint violated: `aliceId', }, prisma: errors[onDelete], }), diff --git a/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-1.ts b/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-1.ts index 38056b4a5363..62b29c7a7d68 100644 --- a/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-1.ts +++ b/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-1.ts @@ -3,7 +3,7 @@ import { checkIfEmpty } from '../_utils/relationMode/checkIfEmpty' import { ConditionalError } from '../_utils/relationMode/conditionalError' import testMatrix from './_matrix' -/* eslint-disable @typescript-eslint/no-unused-vars, jest/no-identical-title */ +/* eslint-disable @typescript-eslint/no-unused-vars */ // @ts-ignore this is just for type checks declare let prisma: import('@prisma/client').PrismaClient @@ -115,16 +115,14 @@ testMatrix.setupTestSuite( isSchemaUsingMap && isRelationMode_foreignKeys ? // The snapshot changes when using @@map/@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, }), @@ -501,16 +499,14 @@ testMatrix.setupTestSuite( isSchemaUsingMap && isRelationMode_foreignKeys ? // The snapshot changes when using @map/@@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -586,7 +582,7 @@ testMatrix.setupTestSuite( [Providers.COCKROACHDB]: 'Unique constraint failed on the fields: (`id`)', [Providers.MYSQL]: ['Restrict', 'NoAction'].includes(onUpdate) ? // Restrict / NoAction - 'Foreign key constraint failed on the field: `userId`' + 'Foreign key constraint violated: `userId`' : // DEFAULT / SetNull /* Error occurred during query execution: @@ -873,18 +869,16 @@ testMatrix.setupTestSuite( isSchemaUsingMap && isRelationMode_foreignKeys ? // The snapshot changes when using @@map/@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { [Providers.MONGODB]: "The change you are trying to make would violate the required relation 'ProfileOneToOneToUserOneToOne' between the `ProfileOneToOne` and `UserOneToOne` models.", - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -941,16 +935,14 @@ testMatrix.setupTestSuite( isSchemaUsingMap && isRelationMode_foreignKeys ? // The snaphsot changes when using @map/@@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `userId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `ProfileOneToOne_userId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `userId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `ProfileOneToOne_userId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: 'It does not error. see https://github.com/prisma/prisma/issues/15683 ', diff --git a/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-n.ts b/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-n.ts index 90e91c144394..2a074851aa41 100644 --- a/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-n.ts +++ b/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_1-to-n.ts @@ -3,7 +3,7 @@ import { checkIfEmpty } from '../_utils/relationMode/checkIfEmpty' import { ConditionalError } from '../_utils/relationMode/conditionalError' import testMatrix from './_matrix' -/* eslint-disable @typescript-eslint/no-unused-vars, jest/no-identical-title */ +/* eslint-disable @typescript-eslint/no-unused-vars */ // @ts-ignore this is just for type checks declare let prisma: import('@prisma/client').PrismaClient @@ -131,16 +131,14 @@ testMatrix.setupTestSuite( isSchemaUsingMap ? // The snapshot changes when using @@map/@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field` + `Foreign key constraint violated` : conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `PostOneToMany_authorId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `authorId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `PostOneToMany_authorId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `authorId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, }), @@ -355,7 +353,7 @@ testMatrix.setupTestSuite( ? // DEFAULT / Cascade / SetNull 'Unique constraint failed on the constraint: `PRIMARY`' : // Other - 'Foreign key constraint failed on the field: `authorId`', + 'Foreign key constraint violated: `authorId`', [Providers.SQLSERVER]: 'Unique constraint failed on the constraint: `dbo.UserOneToMany`', [Providers.SQLITE]: 'Unique constraint failed on the fields: (`id`)', }, @@ -531,13 +529,11 @@ testMatrix.setupTestSuite( foreignKeys: { [Providers.MONGODB]: "The change you are trying to make would violate the required relation 'PostOneToManyToUserOneToMany' between the `PostOneToMany` and `UserOneToMany` models.", - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `PostOneToMany_authorId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `authorId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `PostOneToMany_authorId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `authorId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -624,13 +620,11 @@ testMatrix.setupTestSuite( undefined : conditionalError.snapshot({ foreignKeys: { - [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `PostOneToMany_authorId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `authorId`', - [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `PostOneToMany_authorId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + [Providers.POSTGRESQL]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.COCKROACHDB]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `authorId`', + [Providers.SQLSERVER]: 'Foreign key constraint violated: `PostOneToMany_authorId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: diff --git a/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_m-to-n.ts b/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_m-to-n.ts index d022c22d5855..27dac4af2bab 100644 --- a/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_m-to-n.ts +++ b/packages/client/tests/functional/relationMode-in-separate-gh-action/tests_m-to-n.ts @@ -201,16 +201,17 @@ testMatrix.setupTestSuite( isSchemaUsingMap ? // The snapshot changes when using @@map/@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `postId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `postId`', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, }), @@ -362,16 +363,17 @@ testMatrix.setupTestSuite( isSchemaUsingMap ? // The snapshot changes when using @@map/@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `postId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `postId`', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, }), @@ -454,16 +456,17 @@ testMatrix.setupTestSuite( isSchemaUsingMap ? // The snapshot changes when using @@map/@map, though only the name of the table/field is different // So we can be less specific here - `Foreign key constraint failed on the field:` + `Foreign key constraint violated:` : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `categoryId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `categoryId`', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, }), @@ -653,16 +656,17 @@ testMatrix.setupTestSuite( : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `postId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `postId`', [Providers.SQLSERVER]: onUpdate === 'Restrict' ? // Restrict - 'Foreign key constraint failed on the field: `postId`' + 'Foreign key constraint violated: `postId`' : // NoAction - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -701,16 +705,17 @@ testMatrix.setupTestSuite( : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `categoryId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `categoryId`', [Providers.SQLSERVER]: onUpdate === 'Restrict' ? // Restrict - 'Foreign key constraint failed on the field: `postId`' + 'Foreign key constraint violated: `postId`' : // NoAction - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -903,12 +908,13 @@ testMatrix.setupTestSuite( : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `postId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `postId`', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -942,12 +948,13 @@ testMatrix.setupTestSuite( : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `categoryId`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `categoryId`', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', }, prisma: @@ -987,13 +994,14 @@ testMatrix.setupTestSuite( : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `postId`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `postId`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_postId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_postId_fkey (index)`', }, prisma: "The change you are trying to make would violate the required relation 'CategoriesOnPostsManyToManyToPostManyToMany' between the `CategoriesOnPostsManyToMany` and `PostManyToMany` models.", @@ -1026,13 +1034,14 @@ testMatrix.setupTestSuite( : conditionalError.snapshot({ foreignKeys: { [Providers.POSTGRESQL]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.MYSQL]: 'Foreign key constraint failed on the field: `categoryId`', - [Providers.SQLITE]: 'Foreign key constraint failed on the field: `foreign key`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.MYSQL]: 'Foreign key constraint violated: `categoryId`', + [Providers.SQLITE]: 'Foreign key constraint violated: `foreign key`', [AdapterProviders.JS_D1]: 'D1_ERROR: FOREIGN KEY constraint failed', [Providers.SQLSERVER]: - 'Foreign key constraint failed on the field: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', - [Providers.COCKROACHDB]: 'Foreign key constraint failed on the field: `(not available)`', + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', + [Providers.COCKROACHDB]: + 'Foreign key constraint violated: `CategoriesOnPostsManyToMany_categoryId_fkey (index)`', }, prisma: "The change you are trying to make would violate the required relation 'CategoriesOnPostsManyToManyToCategoryManyToMany' between the `CategoriesOnPostsManyToMany` and `CategoryManyToMany` models.", diff --git a/packages/client/tests/functional/skip/_matrix.ts b/packages/client/tests/functional/skip/_matrix.ts new file mode 100644 index 000000000000..fd2b0f6ad864 --- /dev/null +++ b/packages/client/tests/functional/skip/_matrix.ts @@ -0,0 +1,6 @@ +import { defineMatrix } from '../_utils/defineMatrix' +import { allProviders } from '../_utils/providers' + +export default defineMatrix(() => [ + allProviders, +]) diff --git a/packages/client/tests/functional/skip/prisma/_schema.ts b/packages/client/tests/functional/skip/prisma/_schema.ts new file mode 100644 index 000000000000..d6f2c3b2b59e --- /dev/null +++ b/packages/client/tests/functional/skip/prisma/_schema.ts @@ -0,0 +1,30 @@ +import { foreignKeyForProvider, idForProvider } from '../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["strictUndefinedChecks"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + email String + name String + posts Post[] + } + + model Post { + id ${idForProvider(provider)} + title String + authorId ${foreignKeyForProvider(provider)} + author User @relation(fields: [authorId], references: [id]) + } + ` +}) diff --git a/packages/client/tests/functional/skip/test.ts b/packages/client/tests/functional/skip/test.ts new file mode 100644 index 000000000000..953b960a234d --- /dev/null +++ b/packages/client/tests/functional/skip/test.ts @@ -0,0 +1,147 @@ +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace + +testMatrix.setupTestSuite(() => { + beforeAll(async () => { + await prisma.user.createMany({ + data: [ + { + name: 'Boaty McBoatface', + email: 'boat@example.com', + }, + { + name: 'Horsey McHorseFace', + email: 'horse@example.com', + }, + ], + }) + }) + + test('skips arguments', async () => { + const result = await prisma.user.findMany({ + where: Prisma.skip, + orderBy: { name: 'asc' }, + }) + + expect(result).toMatchInlineSnapshot( + [{ id: expect.any(String) }, { id: expect.any(String) }], + ` + [ + { + "email": "boat@example.com", + "id": Any, + "name": "Boaty McBoatface", + }, + { + "email": "horse@example.com", + "id": Any, + "name": "Horsey McHorseFace", + }, + ] + `, + ) + }) + + test('skips input fields', async () => { + const result = await prisma.user.findMany({ + where: { + name: Prisma.skip, + }, + orderBy: { name: 'asc' }, + }) + + expect(result).toMatchInlineSnapshot( + [{ id: expect.any(String) }, { id: expect.any(String) }], + ` + [ + { + "email": "boat@example.com", + "id": Any, + "name": "Boaty McBoatface", + }, + { + "email": "horse@example.com", + "id": Any, + "name": "Horsey McHorseFace", + }, + ] + `, + ) + }) + + test('skips relations in include', async () => { + const result = await prisma.user.findFirstOrThrow({ + include: { + posts: Prisma.skip, + }, + }) + + expect(result).not.toHaveProperty('posts') + expectTypeOf(result).not.toHaveProperty('posts') + }) + + test('skips relations in select', async () => { + const result = await prisma.user.findFirstOrThrow({ + select: { + id: true, + posts: Prisma.skip, + }, + }) + + expect(result).not.toHaveProperty('posts') + expectTypeOf(result).not.toHaveProperty('posts') + }) + + test('skips fields in omit', async () => { + const result = await prisma.user.findFirstOrThrow({ + omit: { + email: Prisma.skip, + }, + }) + + expect(result).toHaveProperty('email') + expectTypeOf(result).toHaveProperty('email') + }) + + describe('after extension', () => { + test('skips relations in include', async () => { + const result = await prisma.$extends({}).user.findFirstOrThrow({ + include: { + posts: Prisma.skip, + }, + }) + + expect(result).not.toHaveProperty('posts') + expectTypeOf(result).not.toHaveProperty('posts') + }) + + test('skips relations in select', async () => { + const result = await prisma.$extends({}).user.findFirstOrThrow({ + select: { + id: true, + posts: Prisma.skip, + }, + }) + + expect(result).not.toHaveProperty('posts') + expectTypeOf(result).not.toHaveProperty('posts') + }) + + test('skips fields in omit', async () => { + const result = await prisma.$extends({}).user.findFirstOrThrow({ + omit: { + email: Prisma.skip, + }, + }) + + expect(result).toHaveProperty('email') + expectTypeOf(result).toHaveProperty('email') + }) + }) +}) diff --git a/packages/client/tests/functional/strictUndefinedChecks/_matrix.ts b/packages/client/tests/functional/strictUndefinedChecks/_matrix.ts new file mode 100644 index 000000000000..fd2b0f6ad864 --- /dev/null +++ b/packages/client/tests/functional/strictUndefinedChecks/_matrix.ts @@ -0,0 +1,6 @@ +import { defineMatrix } from '../_utils/defineMatrix' +import { allProviders } from '../_utils/providers' + +export default defineMatrix(() => [ + allProviders, +]) diff --git a/packages/client/tests/functional/strictUndefinedChecks/prisma/_schema.ts b/packages/client/tests/functional/strictUndefinedChecks/prisma/_schema.ts new file mode 100644 index 000000000000..482472cb3a74 --- /dev/null +++ b/packages/client/tests/functional/strictUndefinedChecks/prisma/_schema.ts @@ -0,0 +1,29 @@ +import { foreignKeyForProvider, idForProvider } from '../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["strictUndefinedChecks"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model User { + id ${idForProvider(provider)} + email String + posts Post[] + } + + model Post { + id ${idForProvider(provider)} + text String + authorId ${foreignKeyForProvider(provider)} + author User @relation(fields: [authorId], references: [id]) + } + ` +}) diff --git a/packages/client/tests/functional/strictUndefinedChecks/test.ts b/packages/client/tests/functional/strictUndefinedChecks/test.ts new file mode 100644 index 000000000000..0354f460d771 --- /dev/null +++ b/packages/client/tests/functional/strictUndefinedChecks/test.ts @@ -0,0 +1,186 @@ +import testMatrix from './_matrix' +// @ts-ignore +import type { PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient + +testMatrix.setupTestSuite(() => { + test('throws on undefined argument', async () => { + const result = prisma.user.findMany({ where: undefined }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findMany()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX + XX testMatrix.setupTestSuite(() => { + XX test('throws on undefined argument', async () => { + → XX const result = prisma.user.findMany({ + where: undefined + ~~~~~~~~~ + }) + + Invalid value for argument \`undefined\`: explicitly \`undefined\` values are not allowed." + `) + }) + + test('throws on undefined input field', async () => { + const result = prisma.user.findMany({ where: { email: undefined } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findMany()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on undefined input field', async () => { + → XX const result = prisma.user.findMany({ + where: { + email: undefined + ~~~~~~~~~ + } + }) + + Invalid value for argument \`where\`: explicitly \`undefined\` values are not allowed." + `) + }) + + test('throws on undefined select field', async () => { + const result = prisma.user.findFirst({ select: { id: true, posts: undefined } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findFirst()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on undefined select field', async () => { + → XX const result = prisma.user.findFirst({ + select: { + id: true, + posts: undefined + ~~~~~~~~~ + } + }) + + Invalid value for selection field \`posts\`: explicitly \`undefined\` values are not allowed" + `) + }) + + test('throws on undefined include field', async () => { + const result = prisma.user.findFirst({ include: { posts: undefined } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findFirst()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on undefined include field', async () => { + → XX const result = prisma.user.findFirst({ + include: { + posts: undefined + ~~~~~~~~~ + } + }) + + Invalid value for selection field \`posts\`: explicitly \`undefined\` values are not allowed" + `) + }) + + test('throws on undefined omit field', async () => { + const result = prisma.user.findFirst({ omit: { id: undefined } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findFirst()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on undefined omit field', async () => { + → XX const result = prisma.user.findFirst({ + omit: { + id: undefined + ~~~~~~~~~ + } + }) + + Invalid value for selection field \`id\`: explicitly \`undefined\` values are not allowed" + `) + }) + + test('throws on nested include', async () => { + const result = prisma.user.findFirst({ include: { posts: { include: { author: undefined } } } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findFirst()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on nested include', async () => { + → XX const result = prisma.user.findFirst({ + include: { + posts: { + include: { + author: undefined + ~~~~~~~~~ + } + } + } + }) + + Invalid value for selection field \`author\`: explicitly \`undefined\` values are not allowed" + `) + }) + + test('throws on nested select', async () => { + const result = prisma.user.findFirst({ select: { posts: { select: { author: undefined } } } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findFirst()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on nested select', async () => { + → XX const result = prisma.user.findFirst({ + select: { + posts: { + select: { + author: undefined + ~~~~~~~~~ + } + } + } + }) + + Invalid value for selection field \`author\`: explicitly \`undefined\` values are not allowed" + `) + }) + + test('throws on nested omit', async () => { + const result = prisma.user.findFirst({ select: { posts: { omit: { id: undefined } } } }) + await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` + " + Invalid \`prisma.user.findFirst()\` invocation in + /client/tests/functional/strictUndefinedChecks/test.ts:0:0 + + XX }) + XX + XX test('throws on nested omit', async () => { + → XX const result = prisma.user.findFirst({ + select: { + posts: { + omit: { + id: undefined + ~~~~~~~~~ + } + } + } + }) + + Invalid value for selection field \`id\`: explicitly \`undefined\` values are not allowed" + `) + }) +}) diff --git a/packages/client/tests/functional/too-many-instances-of-prisma-client/tests.ts b/packages/client/tests/functional/too-many-instances-of-prisma-client/tests.ts index 70b77e409ac0..5477bd3a204e 100644 --- a/packages/client/tests/functional/too-many-instances-of-prisma-client/tests.ts +++ b/packages/client/tests/functional/too-many-instances-of-prisma-client/tests.ts @@ -8,7 +8,7 @@ declare let newPrismaClient: NewPrismaClient const TIMEOUT = 60_000 testMatrix.setupTestSuite( - ({ clientRuntime }) => { + () => { const oldConsoleWarn = console.warn const warnings: any[] = [] @@ -24,22 +24,7 @@ testMatrix.setupTestSuite( console.warn = oldConsoleWarn }) - testIf(clientRuntime !== 'wasm')( - 'should console warn when spawning too many instances of PrismaClient', - async () => { - for (let i = 0; i < 15; i++) { - const client = newPrismaClient() - await client.$connect() - } - - expect(warnings.join('')).toContain( - 'This is the 10th instance of Prisma Client being started. Make sure this is intentional.', - ) - }, - TIMEOUT, - ) - - testIf(clientRuntime === 'wasm')( + test( 'should not console warn when spawning too many instances of PrismaClient', async () => { for (let i = 0; i < 15; i++) { diff --git a/packages/client/tests/functional/tracing-no-sampling/_matrix.ts b/packages/client/tests/functional/tracing-no-sampling/_matrix.ts index dd0cf39ec89a..a8bc6494be0c 100644 --- a/packages/client/tests/functional/tracing-no-sampling/_matrix.ts +++ b/packages/client/tests/functional/tracing-no-sampling/_matrix.ts @@ -1,14 +1,4 @@ import { defineMatrix } from '../_utils/defineMatrix' import { allProviders } from '../_utils/providers' -export default defineMatrix(() => [ - allProviders, - [ - { - previewFeatures: '"tracing"', - }, - { - previewFeatures: '', - }, - ], -]) +export default defineMatrix(() => [allProviders]) diff --git a/packages/client/tests/functional/tracing-no-sampling/prisma/_schema.ts b/packages/client/tests/functional/tracing-no-sampling/prisma/_schema.ts index d81aa492d60c..ad07bff55390 100644 --- a/packages/client/tests/functional/tracing-no-sampling/prisma/_schema.ts +++ b/packages/client/tests/functional/tracing-no-sampling/prisma/_schema.ts @@ -1,18 +1,17 @@ import { idForProvider } from '../../_utils/idForProvider' import testMatrix from '../_matrix' -export default testMatrix.setupSchema(({ provider, previewFeatures }) => { +export default testMatrix.setupSchema(({ provider }) => { return /* Prisma */ ` generator client { provider = "prisma-client-js" - previewFeatures = [${previewFeatures}] } - + datasource db { provider = "${provider}" url = env("DATABASE_URI_${provider}") } - + model User { id ${idForProvider(provider)} } diff --git a/packages/client/tests/functional/tracing-no-sampling/tests.ts b/packages/client/tests/functional/tracing-no-sampling/tests.ts index 6c49862c00cb..6834da218885 100644 --- a/packages/client/tests/functional/tracing-no-sampling/tests.ts +++ b/packages/client/tests/functional/tracing-no-sampling/tests.ts @@ -66,7 +66,7 @@ testMatrix.setupTestSuite( }) // https://github.com/prisma/prisma/issues/19088 - test.skip('should perform a query and assert that no spans were generated', async () => { + test('should perform a query and assert that no spans were generated', async () => { await prisma.user.findMany() const spans = inMemorySpanExporter.getFinishedSpans() @@ -76,7 +76,7 @@ testMatrix.setupTestSuite( }) // https://github.com/prisma/prisma/issues/19088 - test.skip('should perform a query and assert that no spans were generated via itx', async () => { + test('should perform a query and assert that no spans were generated via itx', async () => { await prisma.$transaction(async (prisma) => { await prisma.user.findMany() }) @@ -89,5 +89,9 @@ testMatrix.setupTestSuite( }, { skipDefaultClientInstance: true, + skipDriverAdapter: { + from: ['js_d1'], + reason: 'D1 does not support interactive transactions', + }, }, ) diff --git a/packages/client/tests/functional/tracing/prisma/_schema.ts b/packages/client/tests/functional/tracing/prisma/_schema.ts index 392bd1b1dc64..cb21cb0cf1ed 100644 --- a/packages/client/tests/functional/tracing/prisma/_schema.ts +++ b/packages/client/tests/functional/tracing/prisma/_schema.ts @@ -5,7 +5,6 @@ export default testMatrix.setupSchema(({ provider }) => { return /* Prisma */ ` generator client { provider = "prisma-client-js" - previewFeatures = ["tracing"] } datasource db { diff --git a/packages/client/tests/functional/tracing/tests.ts b/packages/client/tests/functional/tracing/tests.ts index 5d81a604e446..ee1383616569 100644 --- a/packages/client/tests/functional/tracing/tests.ts +++ b/packages/client/tests/functional/tracing/tests.ts @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker' -import { Attributes, context, trace } from '@opentelemetry/api' +import { Attributes, context, SpanKind, trace } from '@opentelemetry/api' import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks' import { registerInstrumentations } from '@opentelemetry/instrumentation' import { Resource } from '@opentelemetry/resources' @@ -10,7 +10,7 @@ import { SimpleSpanProcessor, SpanProcessor, } from '@opentelemetry/sdk-trace-base' -import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions' +import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions' import { PrismaInstrumentation } from '@prisma/instrumentation' import { ClientEngineType } from '@prisma/internals' @@ -23,6 +23,7 @@ import type { PrismaClient } from './node_modules/@prisma/client' type Tree = { name: string + kind?: string | undefined attributes?: Attributes children?: Tree[] } @@ -49,6 +50,10 @@ function buildTree(rootSpan: ReadableSpan, spans: ReadableSpan[]): Tree { tree.attributes = rootSpan.attributes } + if (rootSpan.kind !== SpanKind.INTERNAL) { + tree.kind = SpanKind[rootSpan.kind] + } + return tree } @@ -66,8 +71,8 @@ beforeAll(() => { const basicTracerProvider = new BasicTracerProvider({ resource: new Resource({ - [SEMRESATTRS_SERVICE_NAME]: 'test-name', - [SEMRESATTRS_SERVICE_VERSION]: '1.0.0', + [ATTR_SERVICE_NAME]: 'test-name', + [ATTR_SERVICE_VERSION]: '1.0.0', }), }) @@ -85,7 +90,7 @@ afterAll(() => { }) testMatrix.setupTestSuite( - ({ provider, driverAdapter, relationMode, engineType }, _suiteMeta, clientMeta) => { + ({ provider, driverAdapter, relationMode, engineType, clientRuntime }, _suiteMeta, clientMeta) => { const isMongoDb = provider === Providers.MONGODB const isMySql = provider === Providers.MYSQL const isSqlServer = provider === Providers.SQLSERVER @@ -98,14 +103,18 @@ testMatrix.setupTestSuite( inMemorySpanExporter.reset() }) - async function waitForSpanTree(expectedTree: Tree): Promise { + async function waitForSpanTree(expectedTree: Tree | Tree[]): Promise { await waitFor(async () => { await processor.forceFlush() const spans = inMemorySpanExporter.getFinishedSpans() - const rootSpan = spans.find((span) => !span.parentSpanId) as ReadableSpan - const tree = buildTree(rootSpan, spans) + const rootSpans = spans.filter((span) => !span.parentSpanId) + const trees = rootSpans.map((rootSpan) => buildTree(rootSpan, spans)) - expect(tree).toEqual(expectedTree) + if (Array.isArray(expectedTree)) { + expect(expectedTree).toEqual(trees) + } else { + expect(expectedTree).toEqual(trees[0]) + } }) } @@ -118,30 +127,46 @@ testMatrix.setupTestSuite( function dbQuery(statement: string, driverAdapterChildSpans = AdapterQueryChildSpans.ArgsAndResult): Tree { const span = { name: 'prisma:engine:db_query', + kind: 'CLIENT', attributes: { - 'db.statement': statement, + 'db.query.text': statement, + 'db.system': dbSystemExpectation(), }, } + if (provider === Providers.MONGODB) { + span.attributes['db.operation.name'] = expect.toBeString() + } + // extra children spans for driver adapters, except some queries (BEGIN/COMMIT with `usePhantomQuery: true`) if (clientMeta.driverAdapter && driverAdapterChildSpans !== AdapterQueryChildSpans.None) { const children = [] as Tree[] children.push({ - name: 'js:query:args', + name: 'prisma:engine:js:query:args', + kind: 'CLIENT', + attributes: { + 'prisma.db_query.params.count': expect.toBeNumber(), + }, }) // result span only exists for returning queries if (driverAdapterChildSpans !== AdapterQueryChildSpans.ArgsOnly) { children.push({ - name: 'js:query:result', + name: 'prisma:engine:js:query:result', + kind: 'CLIENT', + attributes: { + 'db.response.returned_rows': expect.toBeNumber(), + }, }) } children.push({ - name: 'js:query:sql', + name: 'prisma:engine:js:query:sql', + kind: 'CLIENT', attributes: { - 'db.statement': statement, + 'db.query.text': statement, + 'db.system': dbSystemExpectation(), }, }) @@ -151,6 +176,14 @@ testMatrix.setupTestSuite( return span } + function txSetIsolationLevel() { + if (usesSyntheticTxQueries) { + return dbQuery('-- Implicit "SET TRANSACTION" query via underlying driver', AdapterQueryChildSpans.None) + } else { + return dbQuery(expect.stringContaining('SET TRANSACTION'), AdapterQueryChildSpans.ArgsOnly) + } + } + function txBegin() { if (usesSyntheticTxQueries) { return dbQuery('-- Implicit "BEGIN" query via underlying driver', AdapterQueryChildSpans.None) @@ -167,6 +200,14 @@ testMatrix.setupTestSuite( } } + function txRollback() { + if (usesSyntheticTxQueries) { + return dbQuery('-- Implicit "ROLLBACK" query via underlying driver', AdapterQueryChildSpans.None) + } else { + return dbQuery('ROLLBACK', AdapterQueryChildSpans.ArgsOnly) + } + } + function operation(model: string | undefined, method: string, children: Tree[]) { const attributes: Attributes = { method, @@ -185,7 +226,7 @@ testMatrix.setupTestSuite( function engine(children: Tree[]) { return { - name: 'prisma:engine', + name: 'prisma:engine:query', children, } } @@ -209,12 +250,51 @@ testMatrix.setupTestSuite( return [...engineSerializeFinalResponse(), engineSerializeQueryResult()] } + function dbSystemExpectation() { + return expect.toSatisfy((dbSystem) => { + if (provider === Providers.SQLSERVER) { + return dbSystem === 'mssql' + } + + return dbSystem === provider + }) + } + function engineConnection() { - return { name: 'prisma:engine:connection', attributes: { 'db.type': expect.any(String) } } + return { + name: 'prisma:engine:connection', + attributes: { + 'db.system': dbSystemExpectation(), + }, + } + } + + function engineConnect() { + const connectSpan = { name: 'prisma:engine:connect', children: [engineConnection()] } + + if (engineType !== 'binary') { + return connectSpan + } + + return { name: 'prisma:client:start_engine', children: [connectSpan] } + } + + function detectPlatform() { + if (clientRuntime === 'wasm') { + return [] + } + return [{ name: 'prisma:client:detect_platform' }] + } + + function loadEngine() { + if (engineType === 'binary') { + return [] + } + return [{ name: 'prisma:client:load_engine' }] } function findManyDbQuery() { - const statement = isMongoDb ? 'db.User.findMany(*)' : 'SELECT' + const statement = isMongoDb ? 'db.User.aggregate' : 'SELECT' return dbQuery(expect.stringContaining(statement)) } @@ -222,8 +302,8 @@ testMatrix.setupTestSuite( function createDbQueries(tx = true) { if (isMongoDb) { return [ - dbQuery(expect.stringContaining('db.User.insertOne(*)')), - dbQuery(expect.stringContaining('db.User.findOne(*)')), + dbQuery(expect.stringContaining('db.User.insertOne')), + dbQuery(expect.stringContaining('db.User.aggregate')), ] } @@ -233,6 +313,9 @@ testMatrix.setupTestSuite( const dbQueries: Tree[] = [] if (tx) { + if (isSqlServer) { + dbQueries.push(txSetIsolationLevel()) + } dbQueries.push(txBegin()) } @@ -295,9 +378,9 @@ testMatrix.setupTestSuite( if (isMongoDb) { expectedDbQueries = [ - dbQuery(expect.stringContaining('db.User.findMany(*)')), - dbQuery(expect.stringContaining('db.User.updateMany(*)')), - dbQuery(expect.stringContaining('db.User.findOne(*)')), + dbQuery(expect.stringContaining('db.User.aggregate')), + dbQuery(expect.stringContaining('db.User.updateMany')), + dbQuery(expect.stringContaining('db.User.aggregate')), ] } else if (['postgresql', 'cockroachdb', 'sqlite'].includes(provider)) { expectedDbQueries = [dbQuery(expect.stringContaining('UPDATE'))] @@ -309,6 +392,9 @@ testMatrix.setupTestSuite( dbQuery(expect.stringContaining('SELECT')), txCommit(), ] + if (isSqlServer) { + expectedDbQueries.unshift(txSetIsolationLevel()) + } } await waitForSpanTree( @@ -329,7 +415,7 @@ testMatrix.setupTestSuite( let expectedDbQueries: Tree[] if (isMongoDb) { - expectedDbQueries = [dbQuery(expect.stringContaining('db.User.findAndModify(*)'))] + expectedDbQueries = [dbQuery(expect.stringContaining('db.User.findAndModify'))] } else if (isMySql || isSqlServer) { expectedDbQueries = [ txBegin(), @@ -337,6 +423,9 @@ testMatrix.setupTestSuite( dbQuery(expect.stringContaining('DELETE'), AdapterQueryChildSpans.ArgsOnly), txCommit(), ] + if (isSqlServer) { + expectedDbQueries.unshift(txSetIsolationLevel()) + } } else { expectedDbQueries = [dbQuery(expect.stringContaining('DELETE'))] } @@ -364,8 +453,8 @@ testMatrix.setupTestSuite( if (isMongoDb) { expectedDbQueries = [ - dbQuery(expect.stringContaining('db.User.findMany(*)')), - dbQuery(expect.stringContaining('db.User.deleteMany(*)')), + dbQuery(expect.stringContaining('db.User.aggregate')), + dbQuery(expect.stringContaining('db.User.deleteMany')), ] } else if (relationMode === RelationModes.PRISMA) { expectedDbQueries = [ @@ -374,6 +463,9 @@ testMatrix.setupTestSuite( dbQuery(expect.stringContaining('DELETE'), AdapterQueryChildSpans.ArgsOnly), txCommit(), ] + if (isSqlServer) { + expectedDbQueries.unshift(txSetIsolationLevel()) + } } else { expectedDbQueries = [dbQuery(expect.stringContaining('DELETE'), AdapterQueryChildSpans.ArgsOnly)] } @@ -385,6 +477,51 @@ testMatrix.setupTestSuite( ]), ) }) + + test('count', async () => { + await prisma.user.count({ + where: { + email: sharedEmail, + }, + }) + + await waitForSpanTree( + operation('User', 'count', [ + clientSerialize(), + engine([ + engineConnection(), + isMongoDb + ? dbQuery(expect.stringContaining('db.User.aggregate')) + : dbQuery(expect.stringContaining('SELECT COUNT')), + ...engineSerialize(), + ]), + ]), + ) + }) + + test('aggregate', async () => { + await prisma.user.aggregate({ + where: { + email: sharedEmail, + }, + _max: { + id: true, + }, + }) + + await waitForSpanTree( + operation('User', 'aggregate', [ + clientSerialize(), + engine([ + engineConnection(), + isMongoDb + ? dbQuery(expect.stringContaining('db.User.aggregate')) + : dbQuery(expect.stringContaining('SELECT MAX')), + ...engineSerialize(), + ]), + ]), + ) + }) }) describe('tracing on transactions', () => { @@ -410,6 +547,9 @@ testMatrix.setupTestSuite( expectedDbQueries = [...createDbQueries(false), findManyDbQuery()] } else { expectedDbQueries = [txBegin(), ...createDbQueries(false), findManyDbQuery(), txCommit()] + if (isSqlServer) { + expectedDbQueries.unshift(txSetIsolationLevel()) + } } await waitForSpanTree({ @@ -418,20 +558,22 @@ testMatrix.setupTestSuite( method: '$transaction', }, children: [ - operation('User', 'create', [clientSerialize()]), - operation('User', 'findMany', [clientSerialize()]), - engine([ - engineConnection(), - ...expectedDbQueries, - ...engineSerializeFinalResponse(), - engineSerializeQueryResult(), - engineSerializeQueryResult(), + operation('User', 'create', [ + clientSerialize(), + engine([ + engineConnection(), + ...expectedDbQueries, + ...engineSerializeFinalResponse(), + engineSerializeQueryResult(), + engineSerializeQueryResult(), + ]), ]), + operation('User', 'findMany', [clientSerialize()]), ], }) }) - test('interactive-transactions', async () => { + test('interactive transaction commit', async () => { const email = faker.internet.email() await prisma.$transaction(async (client) => { @@ -447,45 +589,83 @@ testMatrix.setupTestSuite( }) }) - let txQueries: Tree[] = [] + await waitForSpanTree({ + name: 'prisma:client:transaction', + attributes: { + method: '$transaction', + }, + children: [ + operation('User', 'create', [ + clientSerialize(), + engine([...createDbQueries(false), ...engineSerializeFinalResponse(), engineSerializeQueryResult()]), + ]), + operation('User', 'findMany', [ + clientSerialize(), + engine([findManyDbQuery(), ...engineSerializeFinalResponse(), engineSerializeQueryResult()]), + ]), + { + name: 'prisma:engine:commit_transaction', + children: isMongoDb ? undefined : [txCommit()], + }, + { + name: 'prisma:engine:start_transaction', + children: isMongoDb + ? [engineConnection()] + : isSqlServer + ? [engineConnection(), txSetIsolationLevel(), txBegin()] + : [engineConnection(), txBegin()], + }, + ], + }) + }) - if (provider !== Providers.MONGODB) { - txQueries = [txBegin(), txCommit()] - } + test('interactive transaction rollback', async () => { + const email = faker.internet.email() - // skipping on data proxy because the functionality is broken - // in this case at the moment and `itx_runner` span occasionally does - // not make it to the client when running via DP. - // See https://github.com/prisma/prisma/issues/20694 - if (!clientMeta.dataProxy) { - await waitForSpanTree({ - name: 'prisma:client:transaction', - attributes: { - method: '$transaction', - }, - children: [ - operation('User', 'create', [clientSerialize()]), - operation('User', 'findMany', [clientSerialize()]), - - { - name: 'prisma:engine:itx_runner', - attributes: { itx_id: expect.any(String) }, - children: [ - engineConnection(), - ...txQueries, - { - name: 'prisma:engine:itx_query_builder', - children: [...createDbQueries(false), engineSerializeQueryResult()], - }, - { - name: 'prisma:engine:itx_query_builder', - children: [findManyDbQuery(), engineSerializeQueryResult()], - }, - ], + await prisma + .$transaction(async (client) => { + await client.user.create({ + data: { + email, }, - ], + }) + await client.user.findMany({ + where: { + email, + }, + }) + throw new Error('rollback') }) - } + .catch(() => {}) + + await waitForSpanTree({ + name: 'prisma:client:transaction', + attributes: { + method: '$transaction', + }, + children: [ + operation('User', 'create', [ + clientSerialize(), + engine([...createDbQueries(false), ...engineSerializeFinalResponse(), engineSerializeQueryResult()]), + ]), + operation('User', 'findMany', [ + clientSerialize(), + engine([findManyDbQuery(), ...engineSerializeFinalResponse(), engineSerializeQueryResult()]), + ]), + { + name: 'prisma:engine:rollback_transaction', + children: isMongoDb ? undefined : [txRollback()], + }, + { + name: 'prisma:engine:start_transaction', + children: isMongoDb + ? [engineConnection()] + : isSqlServer + ? [engineConnection(), txSetIsolationLevel(), txBegin()] + : [engineConnection(), txBegin()], + }, + ], + }) }) }) @@ -613,13 +793,31 @@ testMatrix.setupTestSuite( }, }) - await waitForSpanTree( + await waitForSpanTree([ + ...detectPlatform(), + ...loadEngine(), operation('User', 'findMany', [ - { name: 'prisma:client:connect' }, + { + name: 'prisma:client:connect', + children: [engineConnect()], + }, clientSerialize(), engine([engineConnection(), findManyDbQuery(), ...engineSerialize()]), ]), - ) + ]) + }) + + test('should trace the explicit $connect call', async () => { + await _prisma.$connect() + + await waitForSpanTree([ + { + name: 'prisma:client:connect', + children: [engineConnect()], + }, + ...detectPlatform(), + ...loadEngine(), + ]) }) }) @@ -635,15 +833,18 @@ testMatrix.setupTestSuite( test('should trace $disconnect', async () => { await _prisma.$disconnect() - await waitForSpanTree({ name: 'prisma:client:disconnect' }) + await waitForSpanTree({ + name: 'prisma:client:disconnect', + // There's no disconnect method in the binary engine, we terminate the process instead. + // Since we immediately close the pipe, there's no chance to get any spans we could + // emit from a signal handler. + children: engineType === 'binary' ? undefined : [{ name: 'prisma:engine:disconnect' }], + }) }) }) }, { - skip(when, { clientRuntime }) { - when(clientRuntime === 'wasm', 'Tracing is not supported for wasm engine, many spans are missing') - }, skipDriverAdapter: { from: ['js_d1'], reason: diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/_matrix.ts b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/_matrix.ts new file mode 100644 index 000000000000..3585f7b579f9 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.MYSQL }]]) diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/_schema.ts new file mode 100644 index 000000000000..ed49a5dda3a3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/_schema.ts @@ -0,0 +1,38 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String? + int Int? @db.SmallInt + bytes Bytes? + json Json? + float Float? @db.Float + double Float? + bool Boolean? + bigInt BigInt? + decimal Decimal? + dateTime DateTime? + enum Enum? + date DateTime? @db.Date + time DateTime? @db.Time + } + + enum Enum { + ONE + TWO + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..e6310bf31fb5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bigInt` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..bed1d50b6c0a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bytes` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDate.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDate.sql new file mode 100644 index 000000000000..397f5fa277aa --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDate.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `date` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..71fa6bb79a41 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `dateTime` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..9ccc597b35de --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `decimal` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..1d122c45504c --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `double` < ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findFloat.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findFloat.sql new file mode 100644 index 000000000000..ab7150550ff2 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findFloat.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `float` < ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findInt.sql new file mode 100644 index 000000000000..234afde1970e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `int` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findJson.sql new file mode 100644 index 000000000000..4db3eba21b53 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `json` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findString.sql new file mode 100644 index 000000000000..03cfa84ca7cc --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `string` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findTime.sql new file mode 100644 index 000000000000..70f0ece56314 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/findTime.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `time` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..85dce8622e46 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT `bigInt` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..63c1ac206c8b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT `bytes` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDate.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDate.sql new file mode 100644 index 000000000000..cb6502926705 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDate.sql @@ -0,0 +1 @@ +SELECT `date` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..e1fbd06c02fb --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT `dateTime` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..f3c693dbd894 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT `decimal` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..412f0b72407b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT `double` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getFloat.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getFloat.sql new file mode 100644 index 000000000000..e7094df4586f --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getFloat.sql @@ -0,0 +1 @@ +SELECT `float` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getInt.sql new file mode 100644 index 000000000000..e83c7ce4d06b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT `int` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getJson.sql new file mode 100644 index 000000000000..36c45fc94550 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT `json` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getString.sql new file mode 100644 index 000000000000..e1f37d25fba3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT `string` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getTime.sql new file mode 100644 index 000000000000..ca8e2963da23 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/prisma/sql/getTime.sql @@ -0,0 +1 @@ +SELECT `time` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/test.ts b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/test.ts new file mode 100644 index 000000000000..b20d2d1bd1e6 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars-nullable/test.ts @@ -0,0 +1,176 @@ +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +// @ts-ignore +import * as Sql from './node_modules/@prisma/client/sql' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = BigInt('12345') +const dateTime = new Date('2024-07-31T14:37:36.570Z') +const date = new Date('2024-07-31T00:00:00.000Z') +const time = new Date('1970-01-01T14:37:36.000Z') +const bytes = Uint8Array.of(1, 2, 3) +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: 123, + double: 12.3, + float: 12.3, + bool: true, + string: 'hello', + enum: 'ONE', + json: { hello: 'world' }, + bigInt, + dateTime, + date, + time, + bytes, + decimal: new Prisma.Decimal('12.34'), + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toBe(123) + expectTypeOf(result[0].int).toEqualTypeOf() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt(123)) + expect(result[0].id).toBe(id) + }) + + test('float - output', async () => { + const result = await prisma.$queryRawTyped(sql.getFloat(id)) + expect(result[0].float).toBe(12.3) + expectTypeOf(result[0].float).toEqualTypeOf() + }) + + test('float - input', async () => { + const result = await prisma.$queryRawTyped(sql.findFloat(13.1)) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toBe(12.3) + expectTypeOf(result[0].double).toEqualTypeOf() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble(13.1)) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual('hello') + expectTypeOf(result[0].string).toEqualTypeOf() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString('hello')) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt(12345)) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Date - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDate(id)) + expect(result[0].date).toEqual(date) + expectTypeOf(result[0].date).toEqualTypeOf() + }) + + test('Date - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDate(date)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Time - output', async () => { + const result = await prisma.$queryRawTyped(sql.getTime(id)) + expect(result[0].time).toEqual(time) + expectTypeOf(result[0].time).toEqualTypeOf() + }) + + test('Time - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findTime(time)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual(new Prisma.Decimal('12.34')) + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped(sql.findDecimal(new Prisma.Decimal('12.34'))) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal(12.34)) + expect(resultNumber[0].id).toBe(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(Uint8Array.of(1, 2, 3)) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes(bytes)) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual({ hello: 'world' }) + + expectTypeOf(result[0].json).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['sqlite', 'postgresql', 'mongodb', 'cockroachdb', 'sqlserver'], + reason: 'Focusing on mysql only', + }, + skipDriverAdapter: { + from: ['js_planetscale'], + reason: 'Type inference for inputs is broken on vitess and requires explicit type annotations', + }, + }, +) diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/_matrix.ts b/packages/client/tests/functional/typed-sql/mysql-scalars/_matrix.ts new file mode 100644 index 000000000000..3585f7b579f9 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.MYSQL }]]) diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/_schema.ts new file mode 100644 index 000000000000..e963950d3bbf --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/_schema.ts @@ -0,0 +1,38 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String + int Int @db.SmallInt + bytes Bytes + json Json + float Float @db.Float + double Float + bool Boolean + bigInt BigInt + decimal Decimal + dateTime DateTime + enum Enum + date DateTime @db.Date + time DateTime @db.Time + } + + enum Enum { + ONE + TWO + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..e6310bf31fb5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bigInt` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..bed1d50b6c0a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bytes` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDate.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDate.sql new file mode 100644 index 000000000000..397f5fa277aa --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDate.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `date` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..71fa6bb79a41 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `dateTime` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..9ccc597b35de --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `decimal` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..1d122c45504c --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `double` < ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findFloat.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findFloat.sql new file mode 100644 index 000000000000..ab7150550ff2 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findFloat.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `float` < ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findInt.sql new file mode 100644 index 000000000000..234afde1970e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `int` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findJson.sql new file mode 100644 index 000000000000..4db3eba21b53 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `json` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findString.sql new file mode 100644 index 000000000000..03cfa84ca7cc --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `string` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findTime.sql new file mode 100644 index 000000000000..70f0ece56314 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/findTime.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `time` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..85dce8622e46 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT `bigInt` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..63c1ac206c8b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT `bytes` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDate.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDate.sql new file mode 100644 index 000000000000..cb6502926705 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDate.sql @@ -0,0 +1 @@ +SELECT `date` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..e1fbd06c02fb --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT `dateTime` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..f3c693dbd894 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT `decimal` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..412f0b72407b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT `double` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getFloat.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getFloat.sql new file mode 100644 index 000000000000..e7094df4586f --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getFloat.sql @@ -0,0 +1 @@ +SELECT `float` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getInt.sql new file mode 100644 index 000000000000..e83c7ce4d06b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT `int` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getJson.sql new file mode 100644 index 000000000000..36c45fc94550 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT `json` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getString.sql new file mode 100644 index 000000000000..e1f37d25fba3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT `string` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getTime.sql b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getTime.sql new file mode 100644 index 000000000000..ca8e2963da23 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/prisma/sql/getTime.sql @@ -0,0 +1 @@ +SELECT `time` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/mysql-scalars/test.ts b/packages/client/tests/functional/typed-sql/mysql-scalars/test.ts new file mode 100644 index 000000000000..d15554d7fefa --- /dev/null +++ b/packages/client/tests/functional/typed-sql/mysql-scalars/test.ts @@ -0,0 +1,174 @@ +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +// @ts-ignore +import * as Sql from './node_modules/@prisma/client/sql' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = BigInt('12345') +const dateTime = new Date('2024-07-31T14:37:36.570Z') +const date = new Date('2024-07-31T00:00:00.000Z') +const time = new Date('1970-01-01T14:37:36.000Z') +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: 123, + double: 12.3, + float: 12.3, + bool: true, + string: 'hello', + enum: 'ONE', + json: { hello: 'world' }, + bigInt, + dateTime, + date, + time, + bytes: Uint8Array.of(1, 2, 3), + decimal: new Prisma.Decimal('12.34'), + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toBe(123) + expectTypeOf(result[0].int).toBeNumber() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt(123)) + expect(result[0].id).toBe(id) + }) + + test('float - output', async () => { + const result = await prisma.$queryRawTyped(sql.getFloat(id)) + expect(result[0].float).toBe(12.3) + expectTypeOf(result[0].float).toBeNumber() + }) + + test('float - input', async () => { + const result = await prisma.$queryRawTyped(sql.findFloat(13.1)) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toBe(12.3) + expectTypeOf(result[0].double).toBeNumber() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble(13.1)) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual('hello') + expectTypeOf(result[0].string).toBeString() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString('hello')) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt(12345)) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Date - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDate(id)) + expect(result[0].date).toEqual(date) + expectTypeOf(result[0].date).toEqualTypeOf() + }) + + test('Date - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDate(date)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Time - output', async () => { + const result = await prisma.$queryRawTyped(sql.getTime(id)) + expect(result[0].time).toEqual(time) + expectTypeOf(result[0].time).toEqualTypeOf() + }) + + test('Time - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findTime(time)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual(new Prisma.Decimal('12.34')) + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped(sql.findDecimal(new Prisma.Decimal('12.34'))) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal(12.34)) + expect(resultNumber[0].id).toBe(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(Uint8Array.of(1, 2, 3)) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes(Uint8Array.of(1, 2, 3))) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual({ hello: 'world' }) + + expectTypeOf(result[0].json).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['sqlite', 'postgresql', 'mongodb', 'cockroachdb', 'sqlserver'], + reason: 'Focusing on mysql only', + }, + skipDriverAdapter: { + from: ['js_planetscale'], + reason: 'Type inference for inputs is broken on vitess and requires explicit type annotations', + }, + }, +) diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/_matrix.ts b/packages/client/tests/functional/typed-sql/postgres-lists/_matrix.ts new file mode 100644 index 000000000000..e0b8310fd2b4 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.POSTGRESQL }]]) diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/_schema.ts new file mode 100644 index 000000000000..a0ff0dc3d54c --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/_schema.ts @@ -0,0 +1,40 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String[] + xml String[] @db.Xml + uuid String[] @db.Uuid + int Int[] + real Float[] @db.Real + bytes Bytes[] + json Json[] + double Float[] + bool Boolean[] + bigInt BigInt[] + decimal Decimal[] + dateTime DateTime[] + enum Enum[] + date DateTime[] @db.Date + time DateTime[] @db.Time + } + + enum Enum { + ONE + TWO + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..ee9a25c40c4c --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bigInt" = $1::BIGINT[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBool.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBool.sql new file mode 100644 index 000000000000..aa1c5c458dc7 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBool.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bool" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..f0fb4858bd21 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bytes" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDate.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDate.sql new file mode 100644 index 000000000000..89b32e258809 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDate.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "date" = $1::DATE[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..78bddb2e3346 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "dateTime" = $1::TIMESTAMP[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..1ba90a847db3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "decimal" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..42b9eff01d4b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "double" = $1::double precision[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findInt.sql new file mode 100644 index 000000000000..17017916900e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "int" = $1::INT[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findJson.sql new file mode 100644 index 000000000000..937e159f18ce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "json" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findReal.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findReal.sql new file mode 100644 index 000000000000..f759f30104b2 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findReal.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "real" = $1::real[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findString.sql new file mode 100644 index 000000000000..948dbbc289c7 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "string" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findTime.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findTime.sql new file mode 100644 index 000000000000..f34349ba925a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findTime.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "time" = $1::TIME[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findUuid.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findUuid.sql new file mode 100644 index 000000000000..3445ad69b7b1 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/findUuid.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "uuid" = $1::UUID[] \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..19db47e9c1d3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT "bigInt" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBool.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBool.sql new file mode 100644 index 000000000000..14e93354bce5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBool.sql @@ -0,0 +1 @@ +SELECT "bool" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..78116bfea43e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT "bytes" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDate.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDate.sql new file mode 100644 index 000000000000..e66db37fe356 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDate.sql @@ -0,0 +1 @@ +SELECT "date" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..1f9e147f1291 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT "dateTime" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..0c537fb417ae --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT "decimal" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..63cc69e77723 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT "double" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getInt.sql new file mode 100644 index 000000000000..43bc3892f182 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT "int" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getJson.sql new file mode 100644 index 000000000000..9d09882c6fce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT "json" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getReal.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getReal.sql new file mode 100644 index 000000000000..936038a45046 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getReal.sql @@ -0,0 +1 @@ +SELECT "real" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getString.sql new file mode 100644 index 000000000000..268b8c3d5580 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT "string" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getTime.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getTime.sql new file mode 100644 index 000000000000..88f94f4a3e6e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getTime.sql @@ -0,0 +1 @@ +SELECT "time" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getUuid.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getUuid.sql new file mode 100644 index 000000000000..4642489be928 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getUuid.sql @@ -0,0 +1 @@ +SELECT "uuid" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getXml.sql b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getXml.sql new file mode 100644 index 000000000000..203811b923df --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/prisma/sql/getXml.sql @@ -0,0 +1 @@ +SELECT "xml" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-lists/test.ts b/packages/client/tests/functional/typed-sql/postgres-lists/test.ts new file mode 100644 index 000000000000..514167ba0123 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-lists/test.ts @@ -0,0 +1,195 @@ +import { faker } from '@faker-js/faker' +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +// @ts-ignore +import * as Sql from './node_modules/@prisma/client/sql' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = [BigInt('12'), BigInt('34')] +const dateTime = [new Date('2024-07-31T14:37:36.570Z'), new Date('2024-08-01T15:38:39.571Z')] +const date = [new Date('2024-08-01T00:00:00.000Z'), new Date('2024-07-31T00:00:00.000Z')] +const time = [new Date('1970-01-01T14:37:36.570Z'), new Date('1970-01-01T15:37:36.570Z')] +const uuid = [faker.string.uuid(), faker.string.uuid()] +const bytes = [Uint8Array.of(1, 2, 3), Uint8Array.of(4, 5, 6)] + +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: [1, 2, 3], + real: [1.1, 2.2, 3.3], + double: [1.1, 2.2, 3.3], + bool: [true, false], + string: ['hello', 'world'], + xml: ['', ''], + enum: ['ONE', 'TWO'], + json: [{ hello: 'world' }, { goodbye: 'blue sky' }], + uuid, + bigInt, + dateTime, + date, + time, + bytes, + decimal: [new Prisma.Decimal('12.34'), new Prisma.Decimal('45.67')], + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toEqual([1, 2, 3]) + expectTypeOf(result[0].int).toEqualTypeOf() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt([1, 2, 3])) + expect(result[0].id).toBe(id) + }) + + test('real - output', async () => { + const result = await prisma.$queryRawTyped(sql.getReal(id)) + expect(result[0].real).toEqual([1.1, 2.2, 3.3]) + expectTypeOf(result[0].real).toEqualTypeOf() + }) + + test('real - input', async () => { + const result = await prisma.$queryRawTyped(sql.findReal([1.1, 2.2, 3.3])) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toEqual([1.1, 2.2, 3.3]) + expectTypeOf(result[0].double).toEqualTypeOf() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble([1.1, 2.2, 3.3])) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual(['hello', 'world']) + expectTypeOf(result[0].string).toEqualTypeOf() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString(['hello', 'world'])) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt([12, 34])) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Date - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDate(id)) + expect(result[0].date).toEqual(date) + expectTypeOf(result[0].date).toEqualTypeOf() + }) + + test('Date - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDate(date)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Time - output', async () => { + const result = await prisma.$queryRawTyped(sql.getTime(id)) + expect(result[0].time).toEqual(time) + expectTypeOf(result[0].time).toEqualTypeOf() + }) + + test('Time - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findTime(time)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal![0]).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual([new Prisma.Decimal('12.34'), new Prisma.Decimal('45.67')]) + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped( + sql.findDecimal([new Prisma.Decimal('12.34'), new Prisma.Decimal('45.67')]), + ) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal([12.34, 45.67])) + expect(resultNumber[0].id).toBe(id) + }) + + test('xml - output', async () => { + const result = await prisma.$queryRawTyped(sql.getXml(id)) + expect(result[0].xml).toEqual(['', '']) + expectTypeOf(result[0].xml).toEqualTypeOf() + }) + + test('uuid - output', async () => { + const result = await prisma.$queryRawTyped(sql.getUuid(id)) + expect(result[0].uuid).toEqual(uuid) + expectTypeOf(result[0].uuid).toEqualTypeOf() + }) + + test('uuid - input', async () => { + const result = await prisma.$queryRawTyped(sql.findUuid(uuid)) + expect(result[0].id).toEqual(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(bytes) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes([Uint8Array.of(1, 2, 3), Uint8Array.of(4, 5, 6)])) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual([{ hello: 'world' }, { goodbye: 'blue sky' }]) + + expectTypeOf(result[0].json).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['sqlite', 'mysql', 'mongodb', 'cockroachdb', 'sqlserver'], + reason: 'Focusing on postgres only', + }, + }, +) diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/_matrix.ts b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/_matrix.ts new file mode 100644 index 000000000000..e0b8310fd2b4 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.POSTGRESQL }]]) diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/_schema.ts new file mode 100644 index 000000000000..b186d480a393 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/_schema.ts @@ -0,0 +1,40 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String? + xml String? @db.Xml + uuid String? @db.Uuid + int Int? + real Float? @db.Real + bytes Bytes? + json Json? + double Float? + bool Boolean? + bigInt BigInt? + decimal Decimal? + dateTime DateTime? + enum Enum? + date DateTime? @db.Date + time DateTime? @db.Time + } + + enum Enum { + ONE + TWO + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..8902641be8f5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bigInt" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBool.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBool.sql new file mode 100644 index 000000000000..aa1c5c458dc7 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBool.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bool" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..f0fb4858bd21 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bytes" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDate.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDate.sql new file mode 100644 index 000000000000..4de6171b5061 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDate.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "date" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..88f3f57f3858 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "dateTime" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..1ba90a847db3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "decimal" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..7bd3a1ccb062 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "double" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findEnum.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findEnum.sql new file mode 100644 index 000000000000..ebe9142b8734 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findEnum.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "enum" = $1::"Enum" \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findInt.sql new file mode 100644 index 000000000000..5daf2905198b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "int" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findJson.sql new file mode 100644 index 000000000000..937e159f18ce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "json" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findReal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findReal.sql new file mode 100644 index 000000000000..b90b37343029 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findReal.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "real" < $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findString.sql new file mode 100644 index 000000000000..948dbbc289c7 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "string" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findTime.sql new file mode 100644 index 000000000000..d80813409fe6 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findTime.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "time" = $1::TIME \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findUuid.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findUuid.sql new file mode 100644 index 000000000000..be0101787fb3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findUuid.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "uuid" = $1::UUID \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findXml.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findXml.sql new file mode 100644 index 000000000000..a6eedb27ce02 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/findXml.sql @@ -0,0 +1 @@ +SELECT xmlconcat("xml", $1::XML) as "concatResult" FROM "public"."TestModel" \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..19db47e9c1d3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT "bigInt" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBool.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBool.sql new file mode 100644 index 000000000000..14e93354bce5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBool.sql @@ -0,0 +1 @@ +SELECT "bool" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..78116bfea43e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT "bytes" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDate.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDate.sql new file mode 100644 index 000000000000..e66db37fe356 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDate.sql @@ -0,0 +1 @@ +SELECT "date" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..1f9e147f1291 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT "dateTime" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..0c537fb417ae --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT "decimal" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..63cc69e77723 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT "double" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getEnum.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getEnum.sql new file mode 100644 index 000000000000..e1cb6655955a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getEnum.sql @@ -0,0 +1 @@ +SELECT "enum" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getInt.sql new file mode 100644 index 000000000000..43bc3892f182 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT "int" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getJson.sql new file mode 100644 index 000000000000..9d09882c6fce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT "json" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getReal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getReal.sql new file mode 100644 index 000000000000..936038a45046 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getReal.sql @@ -0,0 +1 @@ +SELECT "real" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getString.sql new file mode 100644 index 000000000000..268b8c3d5580 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT "string" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getTime.sql new file mode 100644 index 000000000000..88f94f4a3e6e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getTime.sql @@ -0,0 +1 @@ +SELECT "time" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getUuid.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getUuid.sql new file mode 100644 index 000000000000..4642489be928 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getUuid.sql @@ -0,0 +1 @@ +SELECT "uuid" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getXml.sql b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getXml.sql new file mode 100644 index 000000000000..203811b923df --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/prisma/sql/getXml.sql @@ -0,0 +1 @@ +SELECT "xml" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/test.ts b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/test.ts new file mode 100644 index 000000000000..80de5c3052ec --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars-nullable/test.ts @@ -0,0 +1,214 @@ +import { faker } from '@faker-js/faker' +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' +// @ts-ignore +import * as Sql from './node_modules/@prisma/client/sql' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = BigInt('12345') +const dateTime = new Date('2024-07-31T14:37:36.570Z') +const date = new Date('2024-07-31T00:00:00.000Z') +const time = new Date('1970-01-01T14:37:36.570Z') +const uuid = faker.string.uuid() +const bytes = Uint8Array.of(1, 2, 3) +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: 123, + real: 12.3, + double: 12.3, + bool: true, + string: 'hello', + xml: '', + enum: 'ONE', + json: { hello: 'world' }, + uuid, + bigInt, + dateTime, + date, + time, + bytes, + decimal: new Prisma.Decimal('12.34'), + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toBe(123) + expectTypeOf(result[0].int).toEqualTypeOf() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt(123)) + expect(result[0].id).toBe(id) + }) + + test('real - output', async () => { + const result = await prisma.$queryRawTyped(sql.getReal(id)) + expect(result[0].real).toBe(12.3) + expectTypeOf(result[0].real).toEqualTypeOf() + }) + + test('real - input', async () => { + const result = await prisma.$queryRawTyped(sql.findReal(13)) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toBe(12.3) + expectTypeOf(result[0].double).toEqualTypeOf() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble(12.3)) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual('hello') + expectTypeOf(result[0].string).toEqualTypeOf() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString('hello')) + expect(result[0].id).toEqual(id) + }) + + test('enum - output', async () => { + const result = await prisma.$queryRawTyped(sql.getEnum(id)) + expect(result[0].enum).toEqual('ONE') + expectTypeOf(result[0].enum).toEqualTypeOf<'ONE' | 'TWO' | null>() + // rule does not function correctly until test is run + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents + expectTypeOf(result[0].enum).toEqualTypeOf() + }) + + test('enum - input', async () => { + const result = await prisma.$queryRawTyped(sql.findEnum('ONE')) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt(12345)) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Date - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDate(id)) + expect(result[0].date).toEqual(date) + expectTypeOf(result[0].date).toEqualTypeOf() + }) + + test('Date - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDate(date)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Time - output', async () => { + const result = await prisma.$queryRawTyped(sql.getTime(id)) + expect(result[0].time).toEqual(time) + expectTypeOf(result[0].time).toEqualTypeOf() + }) + + test('Time - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findTime(time)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual(new Prisma.Decimal('12.34')) + + // rule does not function correctly until test is run + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped(sql.findDecimal(new Prisma.Decimal('12.34'))) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal(12.34)) + expect(resultNumber[0].id).toBe(id) + }) + + test('xml - output', async () => { + const result = await prisma.$queryRawTyped(sql.getXml(id)) + expect(result[0].xml).toEqual('') + expectTypeOf(result[0].xml).toEqualTypeOf() + }) + + test('xml - input', async () => { + const result = await prisma.$queryRawTyped(sql.findXml('')) + expect(result[0].concatResult).toEqual('') + }) + + test('uuid - output', async () => { + const result = await prisma.$queryRawTyped(sql.getUuid(id)) + expect(result[0].uuid).toEqual(uuid) + expectTypeOf(result[0].uuid).toEqualTypeOf() + }) + + test('uuid - input', async () => { + const result = await prisma.$queryRawTyped(sql.findUuid(uuid)) + expect(result[0].id).toEqual(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(Uint8Array.of(1, 2, 3)) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes(bytes)) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual({ hello: 'world' }) + + expectTypeOf(result[0].json).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['sqlite', 'mysql', 'mongodb', 'cockroachdb', 'sqlserver'], + reason: 'Focusing on postgres only', + }, + }, +) diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/_matrix.ts b/packages/client/tests/functional/typed-sql/postgres-scalars/_matrix.ts new file mode 100644 index 000000000000..e0b8310fd2b4 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.POSTGRESQL }]]) diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/_schema.ts new file mode 100644 index 000000000000..3c22ad546f7f --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/_schema.ts @@ -0,0 +1,40 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String + xml String @db.Xml + uuid String @db.Uuid + int Int + real Float @db.Real + bytes Bytes + json Json + double Float + bool Boolean + bigInt BigInt + decimal Decimal + dateTime DateTime + enum Enum + date DateTime @db.Date + time DateTime @db.Time + } + + enum Enum { + ONE + TWO + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..8902641be8f5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bigInt" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBool.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBool.sql new file mode 100644 index 000000000000..aa1c5c458dc7 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBool.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bool" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..f0fb4858bd21 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "bytes" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDate.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDate.sql new file mode 100644 index 000000000000..4de6171b5061 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDate.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "date" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..88f3f57f3858 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "dateTime" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..1ba90a847db3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "decimal" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..7bd3a1ccb062 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "double" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findEnum.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findEnum.sql new file mode 100644 index 000000000000..ebe9142b8734 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findEnum.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "enum" = $1::"Enum" \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findInt.sql new file mode 100644 index 000000000000..5daf2905198b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "int" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findJson.sql new file mode 100644 index 000000000000..937e159f18ce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "json" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findReal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findReal.sql new file mode 100644 index 000000000000..b90b37343029 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findReal.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "real" < $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findString.sql new file mode 100644 index 000000000000..948dbbc289c7 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "string" = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findTime.sql new file mode 100644 index 000000000000..d80813409fe6 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findTime.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "time" = $1::TIME \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findUuid.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findUuid.sql new file mode 100644 index 000000000000..be0101787fb3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findUuid.sql @@ -0,0 +1 @@ +SELECT "id" FROM "public"."TestModel" WHERE "uuid" = $1::UUID \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findXml.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findXml.sql new file mode 100644 index 000000000000..a6eedb27ce02 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/findXml.sql @@ -0,0 +1 @@ +SELECT xmlconcat("xml", $1::XML) as "concatResult" FROM "public"."TestModel" \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..19db47e9c1d3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT "bigInt" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBool.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBool.sql new file mode 100644 index 000000000000..14e93354bce5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBool.sql @@ -0,0 +1 @@ +SELECT "bool" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..78116bfea43e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT "bytes" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDate.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDate.sql new file mode 100644 index 000000000000..e66db37fe356 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDate.sql @@ -0,0 +1 @@ +SELECT "date" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..1f9e147f1291 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT "dateTime" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..0c537fb417ae --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT "decimal" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..63cc69e77723 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT "double" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getEnum.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getEnum.sql new file mode 100644 index 000000000000..e1cb6655955a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getEnum.sql @@ -0,0 +1 @@ +SELECT "enum" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getInt.sql new file mode 100644 index 000000000000..43bc3892f182 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT "int" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getJson.sql new file mode 100644 index 000000000000..9d09882c6fce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT "json" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getReal.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getReal.sql new file mode 100644 index 000000000000..936038a45046 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getReal.sql @@ -0,0 +1 @@ +SELECT "real" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getString.sql new file mode 100644 index 000000000000..268b8c3d5580 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT "string" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getTime.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getTime.sql new file mode 100644 index 000000000000..88f94f4a3e6e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getTime.sql @@ -0,0 +1 @@ +SELECT "time" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getUuid.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getUuid.sql new file mode 100644 index 000000000000..4642489be928 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getUuid.sql @@ -0,0 +1 @@ +SELECT "uuid" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getXml.sql b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getXml.sql new file mode 100644 index 000000000000..203811b923df --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/prisma/sql/getXml.sql @@ -0,0 +1 @@ +SELECT "xml" FROM "public"."TestModel" WHERE id = $1 \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/postgres-scalars/test.ts b/packages/client/tests/functional/typed-sql/postgres-scalars/test.ts new file mode 100644 index 000000000000..a594de9d3461 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/postgres-scalars/test.ts @@ -0,0 +1,208 @@ +import { faker } from '@faker-js/faker' +// @ts-ignore +import * as Sql from '@prisma/client/sql' +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from './node_modules/@prisma/client' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = BigInt('12345') +const dateTime = new Date('2024-07-31T14:37:36.570Z') +const date = new Date('2024-07-31T00:00:00.000Z') +const time = new Date('1970-01-01T14:37:36.570Z') +const uuid = faker.string.uuid() +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: 123, + real: 12.3, + double: 12.3, + bool: true, + string: 'hello', + xml: '', + enum: 'ONE', + json: { hello: 'world' }, + uuid, + bigInt, + dateTime, + date, + time, + bytes: Uint8Array.of(1, 2, 3), + decimal: new Prisma.Decimal('12.34'), + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toBe(123) + expectTypeOf(result[0].int).toBeNumber() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt(123)) + expect(result[0].id).toBe(id) + }) + + test('real - output', async () => { + const result = await prisma.$queryRawTyped(sql.getReal(id)) + expect(result[0].real).toBe(12.3) + expectTypeOf(result[0].real).toBeNumber() + }) + + test('real - input', async () => { + const result = await prisma.$queryRawTyped(sql.findReal(13)) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toBe(12.3) + expectTypeOf(result[0].double).toBeNumber() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble(12.3)) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual('hello') + expectTypeOf(result[0].string).toBeString() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString('hello')) + expect(result[0].id).toEqual(id) + }) + + test('enum - output', async () => { + const result = await prisma.$queryRawTyped(sql.getEnum(id)) + expect(result[0].enum).toEqual('ONE') + expectTypeOf(result[0].enum).toEqualTypeOf<'ONE' | 'TWO'>() + expectTypeOf(result[0].enum).toEqualTypeOf() + }) + + test('enum - input', async () => { + const result = await prisma.$queryRawTyped(sql.findEnum('ONE')) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt(12345)) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Date - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDate(id)) + expect(result[0].date).toEqual(date) + expectTypeOf(result[0].date).toEqualTypeOf() + }) + + test('Date - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDate(date)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Time - output', async () => { + const result = await prisma.$queryRawTyped(sql.getTime(id)) + expect(result[0].time).toEqual(time) + expectTypeOf(result[0].time).toEqualTypeOf() + }) + + test('Time - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findTime(time)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual(new Prisma.Decimal('12.34')) + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped(sql.findDecimal(new Prisma.Decimal('12.34'))) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal(12.34)) + expect(resultNumber[0].id).toBe(id) + }) + + test('xml - output', async () => { + const result = await prisma.$queryRawTyped(sql.getXml(id)) + expect(result[0].xml).toEqual('') + expectTypeOf(result[0].xml).toBeString() + }) + + test('xml - input', async () => { + const result = await prisma.$queryRawTyped(sql.findXml('')) + expect(result[0].concatResult).toEqual('') + }) + + test('uuid - output', async () => { + const result = await prisma.$queryRawTyped(sql.getUuid(id)) + expect(result[0].uuid).toEqual(uuid) + expectTypeOf(result[0].uuid).toBeString() + }) + + test('uuid - input', async () => { + const result = await prisma.$queryRawTyped(sql.findUuid(uuid)) + expect(result[0].id).toEqual(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(Uint8Array.of(1, 2, 3)) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes(Uint8Array.of(1, 2, 3))) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual({ hello: 'world' }) + + expectTypeOf(result[0].json).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['sqlite', 'mysql', 'mongodb', 'cockroachdb', 'sqlserver'], + reason: 'Focusing on postgres only', + }, + }, +) diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/_matrix.ts b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/_matrix.ts new file mode 100644 index 000000000000..c87757d60fb9 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.SQLITE }]]) diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/_schema.ts new file mode 100644 index 000000000000..a5fd604af5e5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/_schema.ts @@ -0,0 +1,29 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String? + int Int? + bytes Bytes? + json Json? + double Float? + bool Boolean? + bigInt BigInt? + decimal Decimal? + dateTime DateTime? + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..e6310bf31fb5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bigInt` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..bed1d50b6c0a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bytes` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..71fa6bb79a41 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `dateTime` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..9ccc597b35de --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `decimal` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..1d122c45504c --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `double` < ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findInt.sql new file mode 100644 index 000000000000..234afde1970e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `int` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findJson.sql new file mode 100644 index 000000000000..4db3eba21b53 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `json` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findString.sql new file mode 100644 index 000000000000..03cfa84ca7cc --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `string` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..4fd404d88408 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT `bigInt` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..19c70851bf7a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT `bytes` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..c7a1caf792ce --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT `dateTime` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..efe6285afbd3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT `decimal` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..85db5de9b574 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT `double` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getInt.sql new file mode 100644 index 000000000000..4892aad692fb --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT `int` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getJson.sql new file mode 100644 index 000000000000..36c45fc94550 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT `json` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getString.sql new file mode 100644 index 000000000000..a1016c71d3a5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT `string` FROM `TestModel` WHERE `id` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/nullableColumn.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/nullableColumn.sql new file mode 100644 index 000000000000..2f07303bc554 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/nullableColumn.sql @@ -0,0 +1 @@ +SELECT 1 AS `value?`; \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/nullableParam.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/nullableParam.sql new file mode 100644 index 000000000000..d31536ea6df4 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/prisma/sql/nullableParam.sql @@ -0,0 +1,2 @@ +-- @param {Int} $1:alias? +SELECT COALESCE($1, 0) as `value`; \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/test.ts b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/test.ts new file mode 100644 index 000000000000..a1911afeb6b0 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars-nullable/test.ts @@ -0,0 +1,158 @@ +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from '@prisma/client' +// @ts-ignore +import * as Sql from '@prisma/client/sql' +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = BigInt('12345') +const dateTime = new Date('2024-07-31T14:37:36.570Z') +const bytes = Uint8Array.of(1, 2, 3) +const json = { hello: 'world' } + +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: 123, + double: 12.3, + bool: true, + string: 'hello', + bigInt, + dateTime, + bytes, + json, + decimal: new Prisma.Decimal('12.34'), + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toBe(123) + expectTypeOf(result[0].int).toEqualTypeOf() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt(123)) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toBe(12.3) + expectTypeOf(result[0].double).toEqualTypeOf() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble(13.1)) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual('hello') + expectTypeOf(result[0].string).toEqualTypeOf() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString('hello')) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt(12345)) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual(new Prisma.Decimal('12.34')) + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped(sql.findDecimal(new Prisma.Decimal('12.34'))) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal(12.34)) + expect(resultNumber[0].id).toBe(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(bytes) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes(bytes)) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual(json) + expectTypeOf(result[0].json).toEqualTypeOf() + }) + + test('json - input', async () => { + const result = await prisma.$queryRawTyped(sql.findJson(json)) + expect(result[0].id).toEqual(id) + }) + + test('forced nullable param', async () => { + const result = await prisma.$queryRawTyped(sql.nullableParam(null)) + + expect(result[0].value).toEqual(0n) + expectTypeOf(result[0].value).toEqualTypeOf() + expectTypeOf(sql.nullableParam).parameters.toEqualTypeOf<[number | null]>() + }) + + test('forced nullable column', async () => { + const result = await prisma.$queryRawTyped(sql.nullableColumn()) + + expect(result[0]['value?']).toEqual(1n) + expectTypeOf(result[0]['value?']).toEqualTypeOf() + }) + }, + { + optOut: { + from: ['postgresql', 'mongodb', 'cockroachdb', 'sqlserver', 'mysql'], + reason: 'Focusing on sqlite only', + }, + skipDriverAdapter: { + from: ['js_d1'], + reason: '--sql does not work on D1', + }, + }, +) diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/_matrix.ts b/packages/client/tests/functional/typed-sql/sqlite-scalars/_matrix.ts new file mode 100644 index 000000000000..c87757d60fb9 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/_matrix.ts @@ -0,0 +1,4 @@ +import { defineMatrix } from '../../_utils/defineMatrix' +import { Providers } from '../../_utils/providers' + +export default defineMatrix(() => [[{ provider: Providers.SQLITE }]]) diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/_schema.ts b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/_schema.ts new file mode 100644 index 000000000000..e99cb087db22 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/_schema.ts @@ -0,0 +1,29 @@ +import { idForProvider } from '../../../_utils/idForProvider' +import testMatrix from '../_matrix' + +export default testMatrix.setupSchema(({ provider }) => { + return /* Prisma */ ` + generator client { + provider = "prisma-client-js" + previewFeatures = ["typedSql"] + } + + datasource db { + provider = "${provider}" + url = env("DATABASE_URI_${provider}") + } + + model TestModel { + id ${idForProvider(provider)} + string String + int Int + bytes Bytes + json Json + double Float + bool Boolean + bigInt BigInt + decimal Decimal + dateTime DateTime + } + ` +}) diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findBigInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findBigInt.sql new file mode 100644 index 000000000000..e6310bf31fb5 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findBigInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bigInt` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findBytes.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findBytes.sql new file mode 100644 index 000000000000..bed1d50b6c0a --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findBytes.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `bytes` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDateTime.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDateTime.sql new file mode 100644 index 000000000000..71fa6bb79a41 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDateTime.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `dateTime` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDecimal.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDecimal.sql new file mode 100644 index 000000000000..9ccc597b35de --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDecimal.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `decimal` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDouble.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDouble.sql new file mode 100644 index 000000000000..1d122c45504c --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findDouble.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `double` < ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findInt.sql new file mode 100644 index 000000000000..234afde1970e --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findInt.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `int` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findJson.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findJson.sql new file mode 100644 index 000000000000..4db3eba21b53 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findJson.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `json` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findString.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findString.sql new file mode 100644 index 000000000000..03cfa84ca7cc --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/findString.sql @@ -0,0 +1 @@ +SELECT `id` FROM `TestModel` WHERE `string` = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getBigInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getBigInt.sql new file mode 100644 index 000000000000..85dce8622e46 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getBigInt.sql @@ -0,0 +1 @@ +SELECT `bigInt` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getBytes.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getBytes.sql new file mode 100644 index 000000000000..63c1ac206c8b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getBytes.sql @@ -0,0 +1 @@ +SELECT `bytes` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDateTime.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDateTime.sql new file mode 100644 index 000000000000..e1fbd06c02fb --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDateTime.sql @@ -0,0 +1 @@ +SELECT `dateTime` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDecimal.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDecimal.sql new file mode 100644 index 000000000000..f3c693dbd894 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDecimal.sql @@ -0,0 +1 @@ +SELECT `decimal` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDouble.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDouble.sql new file mode 100644 index 000000000000..412f0b72407b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getDouble.sql @@ -0,0 +1 @@ +SELECT `double` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getInt.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getInt.sql new file mode 100644 index 000000000000..e83c7ce4d06b --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getInt.sql @@ -0,0 +1 @@ +SELECT `int` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getJson.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getJson.sql new file mode 100644 index 000000000000..36c45fc94550 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getJson.sql @@ -0,0 +1 @@ +SELECT `json` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getString.sql b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getString.sql new file mode 100644 index 000000000000..e1f37d25fba3 --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/prisma/sql/getString.sql @@ -0,0 +1 @@ +SELECT `string` FROM `TestModel` WHERE id = ? \ No newline at end of file diff --git a/packages/client/tests/functional/typed-sql/sqlite-scalars/test.ts b/packages/client/tests/functional/typed-sql/sqlite-scalars/test.ts new file mode 100644 index 000000000000..9aeed64682cc --- /dev/null +++ b/packages/client/tests/functional/typed-sql/sqlite-scalars/test.ts @@ -0,0 +1,142 @@ +// @ts-ignore +import type { Prisma as PrismaNamespace, PrismaClient } from '@prisma/client' +// @ts-ignore +import * as Sql from '@prisma/client/sql' +import { expectTypeOf } from 'expect-type' + +import testMatrix from './_matrix' + +declare let prisma: PrismaClient +declare let Prisma: typeof PrismaNamespace +declare let sql: typeof Sql + +const id = '1234' +const bigInt = BigInt('12345') +const dateTime = new Date('2024-07-31T14:37:36.570Z') +const bytes = Uint8Array.of(1, 2, 3) +const json = { hello: 'world' } + +testMatrix.setupTestSuite( + () => { + beforeAll(async () => { + await prisma.testModel.create({ + data: { + id, + int: 123, + double: 12.3, + bool: true, + string: 'hello', + bigInt, + dateTime, + bytes, + json, + decimal: new Prisma.Decimal('12.34'), + }, + }) + }) + test('int - output', async () => { + const result = await prisma.$queryRawTyped(sql.getInt(id)) + expect(result[0].int).toBe(123) + expectTypeOf(result[0].int).toBeNumber() + }) + + test('int - input', async () => { + const result = await prisma.$queryRawTyped(sql.findInt(123)) + expect(result[0].id).toBe(id) + }) + + test('double - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDouble(id)) + expect(result[0].double).toBe(12.3) + expectTypeOf(result[0].double).toBeNumber() + }) + + test('double - input', async () => { + const result = await prisma.$queryRawTyped(sql.findDouble(13.1)) + expect(result[0].id).toBe(id) + }) + + test('string - output', async () => { + const result = await prisma.$queryRawTyped(sql.getString(id)) + expect(result[0].string).toEqual('hello') + expectTypeOf(result[0].string).toBeString() + }) + + test('string - input', async () => { + const result = await prisma.$queryRawTyped(sql.findString('hello')) + expect(result[0].id).toEqual(id) + }) + + test('BigInt - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBigInt(id)) + expect(result[0].bigInt).toEqual(bigInt) + expectTypeOf(result[0].bigInt).toEqualTypeOf() + }) + + test('BigInt - input', async () => { + const numberResult = await prisma.$queryRawTyped(sql.findBigInt(12345)) + expect(numberResult[0].id).toEqual(id) + + const bigintResult = await prisma.$queryRawTyped(sql.findBigInt(bigInt)) + expect(bigintResult[0].id).toEqual(id) + }) + + test('DateTime - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDateTime(id)) + expect(result[0].dateTime).toEqual(dateTime) + expectTypeOf(result[0].dateTime).toEqualTypeOf() + }) + + test('DateTime - input', async () => { + const resultDate = await prisma.$queryRawTyped(sql.findDateTime(dateTime)) + expect(resultDate[0].id).toEqual(id) + }) + + test('Decimal - output', async () => { + const result = await prisma.$queryRawTyped(sql.getDecimal(id)) + expect(result[0].decimal).toBeInstanceOf(Prisma.Decimal) + expect(result[0].decimal).toEqual(new Prisma.Decimal('12.34')) + expectTypeOf(result[0].decimal).toEqualTypeOf() + }) + + test('Decimal - input', async () => { + const resultDecimal = await prisma.$queryRawTyped(sql.findDecimal(new Prisma.Decimal('12.34'))) + expect(resultDecimal[0].id).toBe(id) + + const resultNumber = await prisma.$queryRawTyped(sql.findDecimal(12.34)) + expect(resultNumber[0].id).toBe(id) + }) + + test('bytes - output', async () => { + const result = await prisma.$queryRawTyped(sql.getBytes(id)) + expect(result[0].bytes).toEqual(bytes) + expectTypeOf(result[0].bytes).toEqualTypeOf() + }) + + test('bytes - input', async () => { + const result = await prisma.$queryRawTyped(sql.findBytes(bytes)) + expect(result[0].id).toEqual(id) + }) + + test('json - output', async () => { + const result = await prisma.$queryRawTyped(sql.getJson(id)) + expect(result[0].json).toEqual(json) + expectTypeOf(result[0].json).toEqualTypeOf() + }) + + test('json - input', async () => { + const result = await prisma.$queryRawTyped(sql.findJson(json)) + expect(result[0].id).toEqual(id) + }) + }, + { + optOut: { + from: ['postgresql', 'mongodb', 'cockroachdb', 'sqlserver', 'mysql'], + reason: 'Focusing on sqlite only', + }, + skipDriverAdapter: { + from: ['js_d1'], + reason: '--sql does not work on D1', + }, + }, +) diff --git a/packages/client/tests/memory/_utils/commonSettings.ts b/packages/client/tests/memory/_utils/commonSettings.ts index 817a69ea584b..c944e460e1be 100644 --- a/packages/client/tests/memory/_utils/commonSettings.ts +++ b/packages/client/tests/memory/_utils/commonSettings.ts @@ -1 +1,6 @@ -export const WARMUP_ITERATIONS = 200 +// NOTE: Increased warmup iterations due to Node.js 23 changed JIT behavior. +// It seems to take longer to create optimized code which consumes additional memory. +// Our tests incorrectly report this additional memory as leakage. +// See: https://github.com/prisma/prisma/pull/25971#issuecomment-2572448506 +// TODO: Revisit this once Node.js 24 LTS is out. +export const WARMUP_ITERATIONS = 1500 diff --git a/packages/client/tests/memory/_utils/generateMemoryTestClient.ts b/packages/client/tests/memory/_utils/generateMemoryTestClient.ts index d57d868b728b..48c6601db9a2 100644 --- a/packages/client/tests/memory/_utils/generateMemoryTestClient.ts +++ b/packages/client/tests/memory/_utils/generateMemoryTestClient.ts @@ -9,7 +9,7 @@ export async function generateMemoryTestClient(testDir: MemoryTestDir) { const schema = await fs.readFile(testDir.schemaFilePath, 'utf8') const dmmf = await getDMMF({ datamodel: schema, datamodelPath: testDir.schemaFilePath }) const config = await getConfig({ - datamodel: schema, + datamodel: [[testDir.schemaFilePath, schema]], datamodelPath: testDir.schemaFilePath, ignoreEnvVarErrors: false, }) diff --git a/packages/debug/package.json b/packages/debug/package.json index 600681d1e657..fa6fa9057e55 100644 --- a/packages/debug/package.json +++ b/packages/debug/package.json @@ -14,9 +14,9 @@ }, "bugs": "https://github.com/prisma/prisma/issues", "devDependencies": { - "@types/jest": "29.5.12", + "@types/jest": "29.5.14", "@types/node": "18.19.31", - "esbuild": "0.21.4", + "esbuild": "0.24.2", "jest": "29.7.0", "jest-junit": "16.0.0", "strip-ansi": "6.0.1", diff --git a/packages/debug/src/__tests__/debug.extended.test.ts b/packages/debug/src/__tests__/debug.extended.test.ts index 744dc30e8711..9d2b8ebdaf94 100644 --- a/packages/debug/src/__tests__/debug.extended.test.ts +++ b/packages/debug/src/__tests__/debug.extended.test.ts @@ -1,5 +1,14 @@ +import * as useDebugImport from '../index' + +let Debug: typeof useDebugImport.default + +const importDebug = async () => + await jest.isolateModulesAsync(async () => { + const mod = await import('../index') + Debug = mod.default + }) + beforeEach(() => { - jest.resetModules() delete process.env.DEBUG delete process.env.DEBUG_COLORS // @ts-ignore @@ -8,320 +17,268 @@ beforeEach(() => { delete globalThis.DEBUG_COLORS }) -let Debug: typeof import('../index').default -test('with a namespace', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - const debug = Debug('test') - - debug('hello world') - - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test hello world"`) - expect(stderrMockParams.length).toBe(1) - - stderrMock.mockRestore() - }) +afterEach(() => { + jest.resetModules() + jest.restoreAllMocks() }) -test('with colors', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test2' - process.env.FORCE_COLOR = 'true' - process.env.DEBUG_COLORS = 'true' - Debug = require('../index').default - const debug = Debug('test2') - - debug('hello world') +test('with a namespace', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test2 hello world"`) - expect(stderrMockParams.length).toBe(1) + process.env.DEBUG = 'test' + process.env.DEBUG_COLORS = 'false' + await importDebug() + const debug = Debug('test') + debug('hello world') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test hello world"`) + expect(consoleWarnParams.length).toBe(1) }) -test('with multiple wild cards', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() +test('with colors', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - process.env.DEBUG = 'test3:*:*:*' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test3:client:query-engine:init')('match1') - Debug('test3:client:query-engine')('match2') + process.env.DEBUG = 'test2' + process.env.FORCE_COLOR = 'true' + process.env.DEBUG_COLORS = 'true' + await importDebug() + const debug = Debug('test2') - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test3:client:query-engine:init match1"`) - expect(stderrMockParams.length).toBe(1) + debug('hello world') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test2 hello world"`) + expect(consoleWarnParams.length).toBe(1) }) -test('with multiple wild cards and filter', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() +test('with multiple wild cards', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - process.env.DEBUG = 'test4:*:query-engine:*' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test4:client:query-engine:init')('match1') - Debug('test4:client:query-engine')('match2') - Debug('test4:pool:query-engine:delete')('match3') + process.env.DEBUG = 'test3:*:*:*' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test3:client:query-engine:init')('match1') + Debug('test3:client:query-engine')('match2') - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test4:client:query-engine:init match1"`) - expect(stderrMockParams[1][0]).toMatchInlineSnapshot(`"test4:pool:query-engine:delete match3"`) - expect(stderrMockParams.length).toBe(2) - - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test3:client:query-engine:init match1"`) + expect(consoleWarnParams.length).toBe(1) }) -test('with trailing wild cards', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() +test('with multiple wild cards and filter', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - process.env.DEBUG = 'test5:*:*' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test5:client:query-engine:init')('match1') - Debug('test5:client:query-engine')('match2') - Debug('test5:pool:query-engine:delete')('match3') + process.env.DEBUG = 'test4:*:query-engine:*' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test4:client:query-engine:init')('match1') + Debug('test4:client:query-engine')('match2') + Debug('test4:pool:query-engine:delete')('match3') - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test5:client:query-engine:init match1"`) - expect(stderrMockParams[1][0]).toMatchInlineSnapshot(`"test5:client:query-engine match2"`) - expect(stderrMockParams[2][0]).toMatchInlineSnapshot(`"test5:pool:query-engine:delete match3"`) - expect(stderrMockParams.length).toBe(3) - - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test4:client:query-engine:init match1"`) + expect(consoleWarnParams[1][0]).toMatchInlineSnapshot(`"test4:pool:query-engine:delete match3"`) + expect(consoleWarnParams.length).toBe(2) }) -test('with trailing wild cards and filter', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() +test('with trailing wild cards', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() + + process.env.DEBUG = 'test5:*:*' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test5:client:query-engine:init')('match1') + Debug('test5:client:query-engine')('match2') + Debug('test5:pool:query-engine:delete')('match3') + + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test5:client:query-engine:init match1"`) + expect(consoleWarnParams[1][0]).toMatchInlineSnapshot(`"test5:client:query-engine match2"`) + expect(consoleWarnParams[2][0]).toMatchInlineSnapshot(`"test5:pool:query-engine:delete match3"`) + expect(consoleWarnParams.length).toBe(3) +}) - process.env.DEBUG = 'test6:client:*' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test6:client:query-engine:init')('match1') - Debug('test6:client:query-engine')('match2') - Debug('test6:pool:query-engine:delete')('match3') +test('with trailing wild cards and filter', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test6:client:query-engine:init match1"`) - expect(stderrMockParams[1][0]).toMatchInlineSnapshot(`"test6:client:query-engine match2"`) - expect(stderrMockParams.length).toBe(2) + process.env.DEBUG = 'test6:client:*' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test6:client:query-engine:init')('match1') + Debug('test6:client:query-engine')('match2') + Debug('test6:pool:query-engine:delete')('match3') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test6:client:query-engine:init match1"`) + expect(consoleWarnParams[1][0]).toMatchInlineSnapshot(`"test6:client:query-engine match2"`) + expect(consoleWarnParams.length).toBe(2) }) -test('with multiple wild cards and exclusion filter', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test7:*:*,-test7:*:*:init' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test7:client:query-engine:init')('match1') - Debug('test7:client:query-engine')('match2') - Debug('test7:pool:query-engine:delete')('match3') +test('with multiple wild cards and exclusion filter', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test7:client:query-engine match2"`) - expect(stderrMockParams[1][0]).toMatchInlineSnapshot(`"test7:pool:query-engine:delete match3"`) - expect(stderrMockParams.length).toBe(2) + process.env.DEBUG = 'test7:*:*,-test7:*:*:init' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test7:client:query-engine:init')('match1') + Debug('test7:client:query-engine')('match2') + Debug('test7:pool:query-engine:delete')('match3') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test7:client:query-engine match2"`) + expect(consoleWarnParams[1][0]).toMatchInlineSnapshot(`"test7:pool:query-engine:delete match3"`) + expect(consoleWarnParams.length).toBe(2) }) -test('with multiple wild cards and multiple exclusion filters', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test8:*:*,-test8:*:*:init,-test8:pool:*' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test8:client:query-engine:init')('match1') - Debug('test8:client:query-engine')('match2') - Debug('test8:pool:query-engine:delete')('match3') +test('with multiple wild cards and multiple exclusion filters', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test8:client:query-engine match2"`) - expect(stderrMockParams.length).toBe(1) + process.env.DEBUG = 'test8:*:*,-test8:*:*:init,-test8:pool:*' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test8:client:query-engine:init')('match1') + Debug('test8:client:query-engine')('match2') + Debug('test8:pool:query-engine:delete')('match3') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test8:client:query-engine match2"`) + expect(consoleWarnParams.length).toBe(1) }) -test('truncation when no wildcard is used', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test9:client' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test9:client:query-engine:init')('match1') - Debug('test9:client:query-engine')('match2') - Debug('test9:pool:query-engine:delete')('match3') - Debug('test9:client')('match4') +test('truncation when no wildcard is used', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test9:client match4"`) - expect(stderrMockParams.length).toBe(1) + process.env.DEBUG = 'test9:client' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test9:client:query-engine:init')('match1') + Debug('test9:client:query-engine')('match2') + Debug('test9:pool:query-engine:delete')('match3') + Debug('test9:client')('match4') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test9:client match4"`) + expect(consoleWarnParams.length).toBe(1) }) -test('object serialization', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test10:client' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - const object = { a: 1, b: { c: {}, d: {} } } - object.b.c = object - object.b.d = [object] - Debug('test10:client')(object) - - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(` - "test10:client { - "a": 1, - "b": { - "c": "[Circular *]", - "d": [ - "[Circular *]" - ] - } - }" - `) - expect(stderrMockParams.length).toBe(1) - - stderrMock.mockRestore() - }) +test('object serialization', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() + + process.env.DEBUG = 'test10:client' + process.env.DEBUG_COLORS = 'false' + await importDebug() + const object = { a: 1, b: { c: {}, d: {} } } + object.b.c = object + object.b.d = [object] + Debug('test10:client')(object) + + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(` + "test10:client { + "a": 1, + "b": { + "c": "[Circular *]", + "d": [ + "[Circular *]" + ] + } + }" + `) + expect(consoleWarnParams.length).toBe(1) }) -test('millisecond timestamps', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() +test('millisecond timestamps', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - process.env.DEBUG = 'test11:client' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test11:client')('match1') + process.env.DEBUG = 'test11:client' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test11:client')('match1') - const stderrMockParams = stderrMock.mock.calls.map(mapper) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test11:client match1"`) - expect(stderrMockParams[0][1]?.match(/\+\d+ms/)).toBeTruthy() - expect(stderrMockParams.length).toBe(1) - - stderrMock.mockRestore() - }) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test11:client match1"`) + expect(consoleWarnParams[0][1]?.match(/\+\d+ms/)).toBeTruthy() + expect(consoleWarnParams.length).toBe(1) }) -test('wildcard can be used like a regex at the end', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test12:client*' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test12:client:query-engine:init')('match1') - Debug('test12:client:query-engine')('match2') - Debug('test12:pool:query-engine:delete')('match3') - Debug('test12:client')('match4') - - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test12:client:query-engine:init match1"`) - expect(stderrMockParams[1][0]).toMatchInlineSnapshot(`"test12:client:query-engine match2"`) - expect(stderrMockParams[2][0]).toMatchInlineSnapshot(`"test12:client match4"`) - expect(stderrMockParams.length).toBe(3) - - stderrMock.mockRestore() - }) +test('wildcard can be used like a regex at the end', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() + + process.env.DEBUG = 'test12:client*' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test12:client:query-engine:init')('match1') + Debug('test12:client:query-engine')('match2') + Debug('test12:pool:query-engine:delete')('match3') + Debug('test12:client')('match4') + + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test12:client:query-engine:init match1"`) + expect(consoleWarnParams[1][0]).toMatchInlineSnapshot(`"test12:client:query-engine match2"`) + expect(consoleWarnParams[2][0]).toMatchInlineSnapshot(`"test12:client match4"`) + expect(consoleWarnParams.length).toBe(3) }) -test('wildcard can be used like a regex in the middle', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() +test('wildcard can be used like a regex in the middle', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - process.env.DEBUG = 'test13:client*init' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test13:client:query-engine:init')('match1') - Debug('test13:client:query-engine')('match2') - Debug('test13:pool:query-engine:delete')('match3') - Debug('test13:client')('match4') + process.env.DEBUG = 'test13:client*init' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test13:client:query-engine:init')('match1') + Debug('test13:client:query-engine')('match2') + Debug('test13:pool:query-engine:delete')('match3') + Debug('test13:client')('match4') - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test13:client:query-engine:init match1"`) - expect(stderrMockParams.length).toBe(1) - - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test13:client:query-engine:init match1"`) + expect(consoleWarnParams.length).toBe(1) }) -test('can manage complex inclusions and exclusions', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test14:*:query-engine:*,-*init,*:result' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test14:client:query-engine:init')('match1') - Debug('test14:client:query-engine')('match2') - Debug('test14:pool:query-engine:delete')('match3') - Debug('test14:client')('match4') - Debug('test14:pool:query-engine:init')('match5') - Debug('test14:psl:init')('match6') - Debug('test14:psl:result')('match6') - - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams[0][0]).toMatchInlineSnapshot(`"test14:pool:query-engine:delete match3"`) - expect(stderrMockParams[1][0]).toMatchInlineSnapshot(`"test14:psl:result match6"`) - expect(stderrMockParams.length).toBe(2) - - stderrMock.mockRestore() - }) +test('can manage complex inclusions and exclusions', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() + + // Accepted alternatives: + // - Anything that starts with 'test14:', followed by any number of characters, then ':query-engine:', + // with any number of characters after that. + // - Anything that doesn't end with ':init'. + // - Anything that ends with ':result'. + process.env.DEBUG = 'test14:*:query-engine:*,-*init,*:result' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test14:client:query-engine:init')('match1') + Debug('test14:client:query-engine')('match2') + Debug('test14:pool:query-engine:delete')('match3') + Debug('test14:client')('match4') + Debug('test14:pool:query-engine:init')('match5') + Debug('test14:psl:init')('match6') + Debug('test14:psl:result')('match6') + Debug('AAAA:psl:result')('match6') + + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams[0][0]).toMatchInlineSnapshot(`"test14:pool:query-engine:delete match3"`) + expect(consoleWarnParams[1][0]).toMatchInlineSnapshot(`"test14:psl:result match6"`) + expect(consoleWarnParams[2][0]).toMatchInlineSnapshot(`"AAAA:psl:result match6"`) + expect(consoleWarnParams.length).toBe(3) }) -test('regex characters do not mess with matching', () => { - jest.isolateModules(() => { - const stderrMock = jest.spyOn(process.stderr, 'write').mockImplementation() - - process.env.DEBUG = 'test15:\\w+' - process.env.DEBUG_COLORS = 'false' - Debug = require('../index').default - Debug('test15:hello')('match1') +test('regex characters do not mess with matching', async () => { + const consoleWarn = jest.spyOn(console, 'warn').mockImplementation() - const stderrMockParams = stderrMock.mock.calls.map(mapper) - expect(stderrMockParams.length).toBe(0) + process.env.DEBUG = 'test15:\\w+' + process.env.DEBUG_COLORS = 'false' + await importDebug() + Debug('test15:hello')('match1') - stderrMock.mockRestore() - }) + const consoleWarnParams = consoleWarn.mock.calls.map(mapper) + expect(consoleWarnParams.length).toBe(0) }) // utility to to map the calls to the stderr mock this makes it easier to read // snapshots and separates time diffs from the message logs const mapper = (call: any[]) => { - const args = (call[0] as string).split(' ') - const time = args.pop() - - return [args.join(' '), time] + const [args, time] = call as [string, string] + return [args, time] } diff --git a/packages/debug/src/index.ts b/packages/debug/src/index.ts index 548c3cb15c86..a384e582f9ae 100644 --- a/packages/debug/src/index.ts +++ b/packages/debug/src/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-var */ import * as kleur from 'kleur/colors' import { bold } from 'kleur/colors' @@ -61,30 +60,12 @@ const topProps = { }, log: (...args: string[]) => { const [namespace, format, ...rest] = args - let logger: (...args: unknown[]) => void - - if ( - typeof require === 'function' && - typeof process !== 'undefined' && - typeof process.stderr !== 'undefined' && - typeof process.stderr.write === 'function' - ) { - logger = (...args: unknown[]) => { - // On react native util is not defined but the entire checks above pass - // that's why we need to catch the error - try { - const util = require(`${'util'}`) - process.stderr.write(util.format(...args) + '\n') - } catch (e) { - logger = console.warn ?? console.log - } - } - } else { - logger = console.warn ?? console.log - } + // Note: `console.warn` / `console.log` use `util.format` internally, so they can handle + // `printf`-style string interpolation. + const logWithFormatting = console.warn ?? console.log // console only formats first arg, concat ns+format - logger(`${namespace} ${format}`, ...rest) + logWithFormatting(`${namespace} ${format}`, ...rest) }, formatters: {}, // not implemented } diff --git a/packages/driver-adapter-utils/src/binder.ts b/packages/driver-adapter-utils/src/binder.ts index 8c9269f16fd9..d4e922039a14 100644 --- a/packages/driver-adapter-utils/src/binder.ts +++ b/packages/driver-adapter-utils/src/binder.ts @@ -1,5 +1,12 @@ import { err, Result } from './result' -import type { DriverAdapter, ErrorCapturingDriverAdapter, ErrorRecord, ErrorRegistry, Transaction } from './types' +import type { + DriverAdapter, + ErrorCapturingDriverAdapter, + ErrorRecord, + ErrorRegistry, + Transaction, + TransactionContext, +} from './types' class ErrorRegistryInternal implements ErrorRegistry { private registeredErrors: ErrorRecord[] = [] @@ -23,16 +30,17 @@ class ErrorRegistryInternal implements ErrorRegistry { export const bindAdapter = (adapter: DriverAdapter): ErrorCapturingDriverAdapter => { const errorRegistry = new ErrorRegistryInternal() - const startTransaction = wrapAsync(errorRegistry, adapter.startTransaction.bind(adapter)) + const createTransactionContext = wrapAsync(errorRegistry, adapter.transactionContext.bind(adapter)) + const boundAdapter: ErrorCapturingDriverAdapter = { adapterName: adapter.adapterName, errorRegistry, queryRaw: wrapAsync(errorRegistry, adapter.queryRaw.bind(adapter)), executeRaw: wrapAsync(errorRegistry, adapter.executeRaw.bind(adapter)), provider: adapter.provider, - startTransaction: async (...args) => { - const result = await startTransaction(...args) - return result.map((tx) => bindTransaction(errorRegistry, tx)) + transactionContext: async (...args) => { + const ctx = await createTransactionContext(...args) + return ctx.map((tx) => bindTransactionContext(errorRegistry, tx)) }, } @@ -43,6 +51,23 @@ export const bindAdapter = (adapter: DriverAdapter): ErrorCapturingDriverAdapter return boundAdapter } +// *.bind(ctx) is required to preserve the `this` context of functions whose +// execution is delegated to napi.rs. +const bindTransactionContext = (errorRegistry: ErrorRegistryInternal, ctx: TransactionContext): TransactionContext => { + const startTransaction = wrapAsync(errorRegistry, ctx.startTransaction.bind(ctx)) + + return { + adapterName: ctx.adapterName, + provider: ctx.provider, + queryRaw: wrapAsync(errorRegistry, ctx.queryRaw.bind(ctx)), + executeRaw: wrapAsync(errorRegistry, ctx.executeRaw.bind(ctx)), + startTransaction: async (...args) => { + const result = await startTransaction(...args) + return result.map((tx) => bindTransaction(errorRegistry, tx)) + }, + } +} + // *.bind(transaction) is required to preserve the `this` context of functions whose // execution is delegated to napi.rs. const bindTransaction = (errorRegistry: ErrorRegistryInternal, transaction: Transaction): Transaction => { diff --git a/packages/driver-adapter-utils/src/types.ts b/packages/driver-adapter-utils/src/types.ts index b4fde18c3d54..6d6e3e13ad42 100644 --- a/packages/driver-adapter-utils/src/types.ts +++ b/packages/driver-adapter-utils/src/types.ts @@ -28,9 +28,53 @@ export interface ResultSet { lastInsertId?: string } +/** + * Original `quaint::ValueType` enum tag from Prisma's `quaint`. + * Query arguments marked with this type are sanitized before being sent to the database. + * Notice while a query argument may be `null`, `ArgType` is guaranteed to be defined. + */ +export type ArgType = + // 32-bit signed integer. + | 'Int32' + // 64-bit signed integer. + | 'Int64' + // 32-bit floating point. + | 'Float' + // 64-bit floating point. + | 'Double' + // String value. + | 'Text' + // Database enum value. + | 'Enum' + // Database enum array (PostgreSQL specific). + | 'EnumArray' + // Bytes value. + | 'Bytes' + // Boolean value. + | 'Boolean' + // A single character. + | 'Char' + // An array value (PostgreSQL). + | 'Array' + // A numeric value. + | 'Numeric' + // A JSON value. + | 'Json' + // A XML value. + | 'Xml' + // An UUID value. + | 'Uuid' + // A datetime value. + | 'DateTime' + // A date value. + | 'Date' + // A time value. + | 'Time' + export type Query = { sql: string args: Array + argTypes: Array } export type Error = @@ -71,6 +115,8 @@ export type ConnectionInfo = { maxBindValues?: number } +export type Flavour = 'mysql' | 'postgres' | 'sqlite' + // Current list of official Prisma adapters // This list might get outdated over time. // It's only used for auto-completion. @@ -84,7 +130,7 @@ const officialPrismaAdapters = [ ] as const export interface Queryable { - readonly provider: 'mysql' | 'postgres' | 'sqlite' + readonly provider: Flavour readonly adapterName: (typeof officialPrismaAdapters)[number] | (string & {}) /** @@ -105,11 +151,18 @@ export interface Queryable { executeRaw(params: Query): Promise> } -export interface DriverAdapter extends Queryable { +export interface TransactionContext extends Queryable { /** * Starts new transaction. */ startTransaction(): Promise> +} + +export interface DriverAdapter extends Queryable { + /** + * Starts new transaction. + */ + transactionContext(): Promise> /** * Optional method that returns extra connection info diff --git a/packages/engines/package.json b/packages/engines/package.json index 879dddcf6a24..22436b90d221 100644 --- a/packages/engines/package.json +++ b/packages/engines/package.json @@ -12,9 +12,9 @@ "license": "Apache-2.0", "author": "Tim Suchanek ", "devDependencies": { - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "execa": "5.1.1", "jest": "29.7.0", @@ -22,7 +22,7 @@ }, "dependencies": { "@prisma/debug": "workspace:*", - "@prisma/engines-version": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/engines-version": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/fetch-engine": "workspace:*", "@prisma/get-platform": "workspace:*" }, diff --git a/packages/fetch-engine/package.json b/packages/fetch-engine/package.json index 72434b9bdf56..397437a28f58 100644 --- a/packages/fetch-engine/package.json +++ b/packages/fetch-engine/package.json @@ -15,9 +15,9 @@ "bugs": "https://github.com/prisma/prisma/issues", "enginesOverride": {}, "devDependencies": { - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "@types/progress": "2.0.7", "del": "6.1.1", @@ -26,7 +26,7 @@ "fs-extra": "11.1.1", "hasha": "5.2.2", "http-proxy-agent": "7.0.2", - "https-proxy-agent": "7.0.4", + "https-proxy-agent": "7.0.6", "jest": "29.7.0", "kleur": "4.1.5", "node-fetch": "3.3.2", @@ -43,7 +43,7 @@ }, "dependencies": { "@prisma/debug": "workspace:*", - "@prisma/engines-version": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/engines-version": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/get-platform": "workspace:*" }, "scripts": { diff --git a/packages/fetch-engine/src/utils.ts b/packages/fetch-engine/src/utils.ts index 8b3ebb54eb1c..a9a589de597f 100644 --- a/packages/fetch-engine/src/utils.ts +++ b/packages/fetch-engine/src/utils.ts @@ -86,13 +86,14 @@ export async function overwriteFile(sourcePath: string, targetPath: string) { // macOS Gatekeeper can sometimes complain // about incorrect binary signature and kill node process // https://openradar.appspot.com/FB8914243 - - // TODO: this is a temporary revert of https://github.com/prisma/prisma/pull/21439 - // To debug https://github.com/prisma/prisma/pull/21448 - // if (os.platform() === 'darwin') { - await removeFileIfExists(targetPath) - // } - await fs.promises.copyFile(sourcePath, targetPath) + if (os.platform() === 'darwin') { + await removeFileIfExists(targetPath) + await fs.promises.copyFile(sourcePath, targetPath) + } else { + let tempPath = `${targetPath}.tmp${process.pid}` + await fs.promises.copyFile(sourcePath, tempPath) + await fs.promises.rename(tempPath, targetPath) + } } async function removeFileIfExists(filePath: string) { diff --git a/packages/generator-helper/package.json b/packages/generator-helper/package.json index 3d828a03e788..c2196a7e1719 100644 --- a/packages/generator-helper/package.json +++ b/packages/generator-helper/package.json @@ -24,18 +24,18 @@ "prepublishOnly": "pnpm run build" }, "devDependencies": { - "@swc-node/register": "1.9.1", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@swc-node/register": "1.10.9", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", "@types/node": "18.19.31", - "esbuild": "0.21.4", + "esbuild": "0.24.2", "jest": "29.7.0", "jest-junit": "16.0.0", "ts-node": "10.9.2", "typescript": "5.4.5", "@types/cross-spawn": "6.0.6", - "cross-spawn": "7.0.3", + "cross-spawn": "7.0.6", "kleur": "4.1.5" }, "files": [ diff --git a/packages/generator-helper/src/dmmf.ts b/packages/generator-helper/src/dmmf.ts index 067529cbb135..21b41ea19048 100644 --- a/packages/generator-helper/src/dmmf.ts +++ b/packages/generator-helper/src/dmmf.ts @@ -2,6 +2,13 @@ export type ReadonlyDeep = { +readonly [K in keyof O]: ReadonlyDeep } +export function datamodelEnumToSchemaEnum(datamodelEnum: DMMF.DatamodelEnum): DMMF.SchemaEnum { + return { + name: datamodelEnum.name, + values: datamodelEnum.values.map((v) => v.name), + } +} + // eslint-disable-next-line @typescript-eslint/no-namespace export namespace DMMF { export type Document = ReadonlyDeep<{ @@ -44,6 +51,7 @@ export namespace DMMF { models: Model[] enums: DatamodelEnum[] types: Model[] + indexes: Index[] }> export type uniqueIndex = ReadonlyDeep<{ @@ -57,6 +65,7 @@ export namespace DMMF { export type Model = ReadonlyDeep<{ name: string dbName: string | null + schema: string | null fields: Field[] uniqueFields: string[][] uniqueIndexes: uniqueIndex[] @@ -85,23 +94,52 @@ export namespace DMMF { * BigInt, Boolean, Bytes, DateTime, Decimal, Float, Int, JSON, String, $ModelName */ type: string + /** + * Native database type, if specified. + * For example, `@db.VarChar(191)` is encoded as `['VarChar', ['191']]`, + * `@db.Text` is encoded as `['Text', []]`. + */ + nativeType?: [string, string[]] | null dbName?: string | null hasDefaultValue: boolean default?: FieldDefault | FieldDefaultScalar | FieldDefaultScalar[] relationFromFields?: string[] relationToFields?: string[] relationOnDelete?: string + relationOnUpdate?: string relationName?: string documentation?: string }> export type FieldDefault = ReadonlyDeep<{ name: string - args: any[] + args: Array }> export type FieldDefaultScalar = string | boolean | number + export type Index = ReadonlyDeep<{ + model: string + type: IndexType + isDefinedOnField: boolean + name?: string + dbName?: string + algorithm?: string + clustered?: boolean + fields: IndexField[] + }> + + export type IndexType = 'id' | 'normal' | 'unique' | 'fulltext' + + export type IndexField = ReadonlyDeep<{ + name: string + sortOrder?: SortOrder + length?: number + operatorClass?: string + }> + + export type SortOrder = 'asc' | 'desc' + export type Schema = ReadonlyDeep<{ rootQueryType?: string rootMutationType?: string @@ -210,6 +248,7 @@ export namespace DMMF { createManyAndReturn?: string | null update?: string | null updateMany?: string | null + updateManyAndReturn?: string | null upsert?: string | null delete?: string | null deleteMany?: string | null @@ -231,6 +270,7 @@ export namespace DMMF { createManyAndReturn = 'createManyAndReturn', update = 'update', updateMany = 'updateMany', + updateManyAndReturn = 'updateManyAndReturn', upsert = 'upsert', delete = 'delete', deleteMany = 'deleteMany', diff --git a/packages/generator-helper/src/types.ts b/packages/generator-helper/src/types.ts index ca4a977d472a..6de591151235 100644 --- a/packages/generator-helper/src/types.ts +++ b/packages/generator-helper/src/types.ts @@ -49,6 +49,7 @@ export interface GeneratorConfig { // TODO why is this not optional? previewFeatures: string[] envPaths?: EnvPaths + sourceFilePath: string } export interface EnvValue { @@ -68,16 +69,21 @@ export type ConnectorType = | 'sqlite' | 'postgresql' | 'postgres' // TODO: we could normalize postgres to postgresql this in engines to reduce the complexity? + | 'prisma+postgres' // Note: used for Prisma Postgres, managed by PDP | 'sqlserver' | 'cockroachdb' +export type ActiveConnectorType = Exclude + export interface DataSource { name: string provider: ConnectorType - activeProvider: ConnectorType + // In Rust, this comes from `Connector::provider_name()` + activeProvider: ActiveConnectorType url: EnvValue directUrl?: EnvValue schemas: string[] | [] + sourceFilePath: string } export type BinaryPaths = { @@ -109,6 +115,7 @@ export type GeneratorOptions = { noHints?: boolean allowNoModels?: boolean envPaths?: EnvPaths + typedSql?: SqlQueryOutput[] } export type EngineType = 'queryEngine' | 'libqueryEngine' | 'schemaEngine' @@ -125,3 +132,65 @@ export type GeneratorManifest = { version?: string requiresEngineVersion?: string } + +export type SqlQueryOutput = { + name: string + source: string + documentation: string | null + parameters: SqlQueryParameterOutput[] + resultColumns: SqlQueryColumnOutput[] +} + +export type SqlQueryParameterOutput = { + name: string + query: string + typ: QueryIntrospectionType + documentation: string | null + nullable: boolean +} + +export type SqlQueryColumnOutput = { + name: string + typ: QueryIntrospectionType + nullable: boolean +} + +// can refer to user-defined enums, so does not map to QueryIntrospectionType 1:1 +export type QueryIntrospectionType = QueryIntrospectionBuiltinType | (string & {}) + +// This must remain in sync with the `quaint::ColumnType` enum in the QueryEngine. +// ./quaint/src/connector/column_type.rs +export type QueryIntrospectionBuiltinType = + | 'int' + | 'bigint' + | 'float' + | 'double' + | 'string' + | 'enum' + | 'bytes' + | 'bool' + | 'char' + | 'decimal' + | 'json' + | 'xml' + | 'uuid' + | 'datetime' + | 'date' + | 'time' + | 'int-array' + | 'bigint-array' + | 'float-array' + | 'double-array' + | 'string-array' + | 'char-array' + | 'bytes-array' + | 'bool-array' + | 'decimal-array' + | 'json-array' + | 'xml-array' + | 'uuid-array' + | 'datetime-array' + | 'date-array' + | 'time-array' + | 'null' + | 'unknown' diff --git a/packages/get-platform/package.json b/packages/get-platform/package.json index 62be0255349d..bab1a12631f7 100644 --- a/packages/get-platform/package.json +++ b/packages/get-platform/package.json @@ -14,10 +14,10 @@ }, "bugs": "https://github.com/prisma/prisma/issues", "devDependencies": { - "@codspeed/benchmark.js-plugin": "3.1.0", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@codspeed/benchmark.js-plugin": "3.1.1", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "benchmark": "2.1.4", "jest": "29.7.0", @@ -31,7 +31,7 @@ "strip-ansi": "6.0.1", "tempy": "1.0.1", "terminal-link": "2.1.1", - "ts-pattern": "5.1.2" + "ts-pattern": "5.6.2" }, "dependencies": { "@prisma/debug": "workspace:*" diff --git a/packages/get-platform/src/getPlatform.ts b/packages/get-platform/src/getPlatform.ts index 03903881c03d..344e95f1611e 100644 --- a/packages/get-platform/src/getPlatform.ts +++ b/packages/get-platform/src/getPlatform.ts @@ -301,7 +301,7 @@ export function computeLibSSLSpecificPaths(args: ComputeLibSSLSpecificPathsParam .with({ familyDistro: 'musl' }, () => { /* Linux Alpine */ debug('Trying platform-specific paths for "alpine"') - return ['/lib'] + return ['/lib', '/usr/lib'] }) .with({ familyDistro: 'debian' }, ({ archFromUname }) => { /* Linux Debian, Ubuntu, etc */ @@ -372,7 +372,7 @@ export async function getSSLVersion(libsslSpecificPaths: string[]): Promise { - const spanContext: SpanContext = { - traceId: engineSpan.trace_id, - spanId: engineSpan.span_id, - traceFlags: TraceFlags.SAMPLED, - } - - const links = engineSpan.links?.map((link) => { - return { - context: { - traceId: link.trace_id, - spanId: link.span_id, - traceFlags: TraceFlags.SAMPLED, - }, - } - }) - - const span = new SpanConstructor( - tracer, - ROOT_CONTEXT, - engineSpan.name, - spanContext, - SpanKind.INTERNAL, - engineSpan.parent_span_id, - links, - engineSpan.start_time, - ) - - if (engineSpan.attributes) { - span.setAttributes(engineSpan.attributes) - } + dispatchEngineSpans(spans: EngineSpan[]): void { + const tracer = this.tracerProvider.getTracer('prisma') + const linkIds = new Map() + const roots = spans.filter((span) => span.parentId === null) - span.end(engineSpan.end_time) - }) + for (const root of roots) { + dispatchEngineSpan(tracer, root, spans, linkIds) + } } getActiveContext(): Context | undefined { @@ -97,7 +82,7 @@ export class ActiveTracingHelper implements TracingHelper { return callback() } - const tracer = trace.getTracer('prisma') + const tracer = this.tracerProvider.getTracer('prisma') const context = options.context ?? this.getActiveContext() const name = `prisma:client:${options.name}` // these spans will not be nested by default even in recursive calls @@ -113,6 +98,48 @@ export class ActiveTracingHelper implements TracingHelper { } } +function dispatchEngineSpan( + tracer: Tracer, + engineSpan: EngineSpan, + allSpans: EngineSpan[], + linkIds: Map, +) { + const spanOptions = { + attributes: engineSpan.attributes as Attributes, + kind: engineSpanKindToOtelSpanKind(engineSpan.kind), + startTime: engineSpan.startTime, + } satisfies SpanOptions + + tracer.startActiveSpan(engineSpan.name, spanOptions, (span) => { + linkIds.set(engineSpan.id, span.spanContext().spanId) + + if (engineSpan.links) { + span.addLinks( + engineSpan.links.flatMap((link) => { + const linkedId = linkIds.get(link) + if (!linkedId) { + return [] + } + return { + context: { + spanId: linkedId, + traceId: span.spanContext().traceId, + traceFlags: span.spanContext().traceFlags, + }, + } + }), + ) + } + + const children = allSpans.filter((s) => s.parentId === engineSpan.id) + for (const child of children) { + dispatchEngineSpan(tracer, child, allSpans, linkIds) + } + + span.end(engineSpan.endTime) + }) +} + function endSpan(span: Span, result: T): T { if (isPromiseLike(result)) { return result.then( diff --git a/packages/instrumentation/src/PrismaInstrumentation.ts b/packages/instrumentation/src/PrismaInstrumentation.ts index e526b6c458ae..b66a84a9a7ad 100644 --- a/packages/instrumentation/src/PrismaInstrumentation.ts +++ b/packages/instrumentation/src/PrismaInstrumentation.ts @@ -1,3 +1,4 @@ +import { trace, TracerProvider } from '@opentelemetry/api' import { InstrumentationBase, InstrumentationConfig, @@ -15,10 +16,16 @@ export interface PrismaInstrumentationConfig { type Config = PrismaInstrumentationConfig & InstrumentationConfig export class PrismaInstrumentation extends InstrumentationBase { + private tracerProvider: TracerProvider | undefined + constructor(config: Config = {}) { super(NAME, VERSION, config) } + setTracerProvider(tracerProvider: TracerProvider): void { + this.tracerProvider = tracerProvider + } + init() { const module = new InstrumentationNodeModuleDefinition(MODULE_NAME, [VERSION]) @@ -29,7 +36,10 @@ export class PrismaInstrumentation extends InstrumentationBase { const config = this._config as Config const globalValue: PrismaInstrumentationGlobalValue = { - helper: new ActiveTracingHelper({ traceMiddleware: config.middleware ?? false }), + helper: new ActiveTracingHelper({ + traceMiddleware: config.middleware ?? false, + tracerProvider: this.tracerProvider ?? trace.getTracerProvider(), + }), } global[GLOBAL_KEY] = globalValue diff --git a/packages/instrumentation/src/constants.ts b/packages/instrumentation/src/constants.ts index 3bc47de27813..cbf36c7c0afa 100644 --- a/packages/instrumentation/src/constants.ts +++ b/packages/instrumentation/src/constants.ts @@ -6,4 +6,4 @@ export const VERSION = version as string export const NAME = name as string -export const MODULE_NAME = 'prisma' +export const MODULE_NAME = '@prisma/client' diff --git a/packages/instrumentation/src/index.ts b/packages/instrumentation/src/index.ts index 5d5e05ac1d3f..e2aed55cb6c7 100644 --- a/packages/instrumentation/src/index.ts +++ b/packages/instrumentation/src/index.ts @@ -1 +1,2 @@ export { PrismaInstrumentation } from './PrismaInstrumentation' +export { registerInstrumentations } from '@opentelemetry/instrumentation' diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 008f9b75a958..d62360030260 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -16,21 +16,21 @@ "@prisma/internals": "workspace:*", "@prisma/migrate": "workspace:*", "@sindresorhus/slugify": "1.1.2", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", "@types/mssql": "9.1.5", "@types/node": "18.19.31", "@types/pg": "8.11.6", "@types/sqlite3": "3.1.11", "decimal.js": "10.4.3", - "esbuild": "0.21.4", + "esbuild": "0.24.2", "execa": "5.1.1", "fs-jetpack": "5.1.0", "jest": "29.7.0", "jest-junit": "16.0.0", - "mariadb": "3.3.0", - "mssql": "10.0.2", + "mariadb": "3.3.1", + "mssql": "11.0.1", "pg": "8.11.5", "sqlite-async": "1.2.0", "string-hash": "1.1.3", diff --git a/packages/internals/package.json b/packages/internals/package.json index 1f345e902ced..ad202132c28a 100644 --- a/packages/internals/package.json +++ b/packages/internals/package.json @@ -28,26 +28,29 @@ ], "devDependencies": { "@antfu/ni": "0.21.12", - "@opentelemetry/api": "1.8.0", + "@babel/helper-validator-identifier": "7.24.7", + "@opentelemetry/api": "1.9.0", "@swc/core": "1.2.204", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@swc/jest": "0.2.37", + "@types/babel__helper-validator-identifier": "7.15.2", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "@types/resolve": "1.20.6", "archiver": "6.0.2", "checkpoint-client": "1.1.33", "cli-truncate": "2.1.0", - "dotenv": "16.0.3", - "esbuild": "0.21.4", + "dotenv": "16.4.7", + "esbuild": "0.24.2", "escape-string-regexp": "4.0.0", "execa": "5.1.1", - "fast-glob": "3.3.2", + "fast-glob": "3.3.3", "find-up": "5.0.0", - "fp-ts": "2.16.6", + "fp-ts": "2.16.9", "fs-extra": "11.1.1", "fs-jetpack": "5.1.0", "global-dirs": "4.0.0", "globby": "11.1.0", + "identifier-regex": "1.0.0", "indent-string": "4.0.0", "is-windows": "1.0.2", "is-wsl": "3.1.0", @@ -62,7 +65,7 @@ "p-map": "4.0.0", "read-package-up": "11.0.0", "replace-string": "3.1.0", - "resolve": "1.22.8", + "resolve": "1.22.10", "string-width": "4.2.3", "strip-ansi": "6.0.1", "strip-indent": "3.0.0", @@ -71,7 +74,8 @@ "terminal-link": "2.1.1", "tmp": "0.2.3", "ts-node": "10.9.2", - "ts-pattern": "5.1.2", + "ts-pattern": "5.6.2", + "ts-toolbelt": "9.6.0", "typescript": "5.4.5", "yarn": "1.22.22" }, @@ -81,10 +85,18 @@ "@prisma/fetch-engine": "workspace:*", "@prisma/generator-helper": "workspace:*", "@prisma/get-platform": "workspace:*", - "@prisma/prisma-schema-wasm": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/prisma-schema-wasm": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/schema-files-loader": "workspace:*", "arg": "5.0.2", "prompts": "2.4.2" }, + "peerDependencies": { + "typescript": ">=5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + }, "sideEffects": false } diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/package.json deleted file mode 100644 index 65ffc19ac0f4..000000000000 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "conventional-path-workspaces", - "workspaces": [ - "packages/*" - ], - "private": true -} diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/a/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/a/package.json deleted file mode 100644 index 826fb9e007c3..000000000000 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/a/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "package-a", - "version": "0.0.0" -} diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/b/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/b/package.json deleted file mode 100644 index 5e230b265ceb..000000000000 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/b/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "package-b", - "version": "0.0.0" -} diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/no-schema-workspaces/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/no-schema-workspaces/package.json index 65ffc19ac0f4..3080d9140862 100644 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/no-schema-workspaces/package.json +++ b/packages/internals/src/__tests__/__fixtures__/getSchema/no-schema-workspaces/package.json @@ -1,5 +1,5 @@ { - "name": "conventional-path-workspaces", + "name": "no-schema-workspaces", "workspaces": [ "packages/*" ], diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/package.json deleted file mode 100644 index f2d695b4035b..000000000000 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "pkg-json-workspace-parent", - "workspaces": [ - "packages/*" - ], - "private": true, - "prisma": { - "schema": "./db/schema.prisma" - } -} diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/packages/a/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/packages/a/package.json deleted file mode 100644 index 826fb9e007c3..000000000000 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/packages/a/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "package-a", - "version": "0.0.0" -} diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/packages/b/package.json b/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/packages/b/package.json deleted file mode 100644 index 5e230b265ceb..000000000000 --- a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/packages/b/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "package-b", - "version": "0.0.0" -} diff --git a/packages/internals/src/__tests__/engine-commands/__snapshots__/getConfig.test.ts.snap b/packages/internals/src/__tests__/engine-commands/__snapshots__/getConfig.test.ts.snap index 397446e78340..03bba0183d55 100644 --- a/packages/internals/src/__tests__/engine-commands/__snapshots__/getConfig.test.ts.snap +++ b/packages/internals/src/__tests__/engine-commands/__snapshots__/getConfig.test.ts.snap @@ -12,7 +12,8 @@ exports[`getConfig datasource with env var - ignoreEnvVarErrors 1`] = ` "fromEnvVar": "SOMETHING-SOMETHING-1234", "value": null }, - "schemas": [] + "schemas": [], + "sourceFilePath": "schema.prisma" } ], "warnings": [] @@ -31,7 +32,8 @@ exports[`getConfig datasource with env var 1`] = ` "fromEnvVar": "TEST_POSTGRES_URI_FOR_DATASOURCE", "value": "postgres://user:password@something:5432/db" }, - "schemas": [] + "schemas": [], + "sourceFilePath": "schema.prisma" } ], "warnings": [] @@ -50,7 +52,8 @@ exports[`getConfig empty config 1`] = ` "fromEnvVar": null, "value": "file:../hello.db" }, - "schemas": [] + "schemas": [], + "sourceFilePath": "schema.prisma" } ], "warnings": [] @@ -75,7 +78,8 @@ exports[`getConfig with generator and datasource 1`] = ` "native": true } ], - "previewFeatures": [] + "previewFeatures": [], + "sourceFilePath": "schema.prisma" } ], "datasources": [ @@ -87,7 +91,8 @@ exports[`getConfig with generator and datasource 1`] = ` "fromEnvVar": null, "value": "file:dev.db" }, - "schemas": [] + "schemas": [], + "sourceFilePath": "schema.prisma" } ], "warnings": [] diff --git a/packages/internals/src/__tests__/engine-commands/__snapshots__/getDmmf.test.ts.snap b/packages/internals/src/__tests__/engine-commands/__snapshots__/getDmmf.test.ts.snap index 9073c335d811..35c4ea130b5a 100644 --- a/packages/internals/src/__tests__/engine-commands/__snapshots__/getDmmf.test.ts.snap +++ b/packages/internals/src/__tests__/engine-commands/__snapshots__/getDmmf.test.ts.snap @@ -4,6 +4,38 @@ exports[`getDMMF success @@id model 1`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "firstName", + }, + { + "name": "lastName", + }, + ], + "isDefinedOnField": false, + "model": "User1", + "name": "customName", + "type": "id", + }, + { + "fields": [ + { + "name": "firstName", + }, + { + "name": "lastName", + }, + { + "name": "isAdmin", + }, + ], + "isDefinedOnField": false, + "model": "User2", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -23,6 +55,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -36,6 +69,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "firstName", + "nativeType": null, "type": "String", }, { @@ -49,6 +83,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "lastName", + "nativeType": null, "type": "String", }, { @@ -63,6 +98,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "isAdmin", + "nativeType": null, "type": "Boolean", }, ], @@ -75,6 +111,7 @@ exports[`getDMMF success @@id model 1`] = ` ], "name": "customName", }, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -96,6 +133,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -109,6 +147,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "firstName", + "nativeType": null, "type": "String", }, { @@ -122,6 +161,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "lastName", + "nativeType": null, "type": "String", }, { @@ -136,6 +176,7 @@ exports[`getDMMF success @@id model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "isAdmin", + "nativeType": null, "type": "Boolean", }, ], @@ -149,6 +190,7 @@ exports[`getDMMF success @@id model 1`] = ` ], "name": null, }, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -172,6 +214,7 @@ exports[`getDMMF success @@id model 1`] = ` "groupBy": "groupByUser1", "model": "User1", "updateMany": "updateManyUser1", + "updateManyAndReturn": "updateManyUser1AndReturn", "updateOne": "updateOneUser1", "upsertOne": "upsertOneUser1", }, @@ -190,6 +233,7 @@ exports[`getDMMF success @@id model 1`] = ` "groupBy": "groupByUser2", "model": "User2", "updateMany": "updateManyUser2", + "updateManyAndReturn": "updateManyUser2AndReturn", "updateOne": "updateOneUser2", "upsertOne": "upsertOneUser2", }, @@ -5579,6 +5623,51 @@ exports[`getDMMF success @@id model 1`] = ` ], "name": "CreateManyUser1AndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "firstName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "lastName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "isAdmin", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Boolean", + }, + }, + ], + "name": "UpdateManyUser1AndReturnOutputType", + }, { "fields": [ { @@ -5624,6 +5713,51 @@ exports[`getDMMF success @@id model 1`] = ` ], "name": "CreateManyUser2AndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "firstName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "lastName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "isAdmin", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Boolean", + }, + }, + ], + "name": "UpdateManyUser2AndReturnOutputType", + }, ], "prisma": [ { @@ -6978,6 +7112,18 @@ exports[`getDMMF success @@id model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyUser1", @@ -6988,6 +7134,62 @@ exports[`getDMMF success @@id model 1`] = ` "type": "AffectedRowsOutput", }, }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User1UpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User1UncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User1WhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyUser1AndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyUser1AndReturnOutputType", + }, + }, { "args": [ { @@ -7003,6 +7205,18 @@ exports[`getDMMF success @@id model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyUser1", @@ -7296,6 +7510,18 @@ exports[`getDMMF success @@id model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyUser2", @@ -7306,6 +7532,62 @@ exports[`getDMMF success @@id model 1`] = ` "type": "AffectedRowsOutput", }, }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User2UpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User2UncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User2WhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyUser2AndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyUser2AndReturnOutputType", + }, + }, { "args": [ { @@ -7321,6 +7603,18 @@ exports[`getDMMF success @@id model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyUser2", @@ -8098,6 +8392,18 @@ exports[`getDMMF success @@id model 1`] = ` exports[`getDMMF success @@map model 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "email", + }, + ], + "isDefinedOnField": true, + "model": "User", + "type": "unique", + }, + ], "models": [ { "dbName": "users", @@ -8117,6 +8423,7 @@ exports[`getDMMF success @@map model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -8130,12 +8437,14 @@ exports[`getDMMF success @@map model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "email", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -8148,6 +8457,18 @@ exports[`getDMMF success @@map model 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "email", + }, + ], + "isDefinedOnField": true, + "model": "User", + "type": "unique", + }, + ], "models": [ { "dbName": "users", @@ -8167,6 +8488,7 @@ exports[`getDMMF success @@map model 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -8180,12 +8502,14 @@ exports[`getDMMF success @@map model 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "email", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -8209,6 +8533,7 @@ exports[`getDMMF success @@map model 2`] = ` "groupBy": "groupByUser", "model": "User", "updateMany": "updateManyUser", + "updateManyAndReturn": "updateManyUserAndReturn", "updateOne": "updateOneUser", "upsertOne": "upsertOneUser", }, @@ -11306,6 +11631,31 @@ exports[`getDMMF success @@map model 2`] = ` ], "name": "CreateManyUserAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "email", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + ], + "name": "UpdateManyUserAndReturnOutputType", + }, ], "prisma": [ { @@ -12129,6 +12479,18 @@ exports[`getDMMF success @@map model 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyUser", @@ -12139,6 +12501,62 @@ exports[`getDMMF success @@map model 2`] = ` "type": "AffectedRowsOutput", }, }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "UserUpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "UserUncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "UserWhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyUserAndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyUserAndReturnOutputType", + }, + }, { "args": [ { @@ -12154,6 +12572,18 @@ exports[`getDMMF success @@map model 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyUser", @@ -12517,6 +12947,70 @@ exports[`getDMMF success @@unique model 1`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "authorId", + }, + { + "name": "title", + }, + ], + "isDefinedOnField": false, + "model": "Post", + "type": "unique", + }, + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "User", + "type": "id", + }, + { + "fields": [ + { + "name": "email", + }, + ], + "isDefinedOnField": true, + "model": "User", + "type": "unique", + }, + { + "fields": [ + { + "name": "firstName", + }, + { + "name": "lastName", + }, + ], + "isDefinedOnField": false, + "model": "User1", + "type": "unique", + }, + { + "fields": [ + { + "name": "firstName", + }, + { + "name": "lastName", + }, + { + "name": "isAdmin", + }, + ], + "isDefinedOnField": false, + "model": "User2", + "type": "unique", + }, + ], "models": [ { "dbName": null, @@ -12536,6 +13030,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -12549,6 +13044,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "object", "name": "author", + "nativeType": null, "relationFromFields": [ "authorId", ], @@ -12569,6 +13065,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "authorId", + "nativeType": null, "type": "Int", }, { @@ -12582,6 +13079,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, { @@ -12596,12 +13094,14 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "published", + "nativeType": null, "type": "Boolean", }, ], "isGenerated": false, "name": "Post", "primaryKey": null, + "schema": null, "uniqueFields": [ [ "authorId", @@ -12636,6 +13136,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -12649,6 +13150,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "email", + "nativeType": null, "type": "String", }, { @@ -12662,6 +13164,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "object", "name": "posts", + "nativeType": null, "relationFromFields": [], "relationName": "PostToUser", "relationToFields": [], @@ -12671,6 +13174,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isGenerated": false, "name": "User", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -12692,6 +13196,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -12705,6 +13210,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "firstName", + "nativeType": null, "type": "String", }, { @@ -12718,6 +13224,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "lastName", + "nativeType": null, "type": "String", }, { @@ -12732,12 +13239,14 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "isAdmin", + "nativeType": null, "type": "Boolean", }, ], "isGenerated": false, "name": "User1", "primaryKey": null, + "schema": null, "uniqueFields": [ [ "firstName", @@ -12772,6 +13281,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -12785,6 +13295,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "firstName", + "nativeType": null, "type": "String", }, { @@ -12798,6 +13309,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "lastName", + "nativeType": null, "type": "String", }, { @@ -12812,12 +13324,14 @@ exports[`getDMMF success @@unique model 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "isAdmin", + "nativeType": null, "type": "Boolean", }, ], "isGenerated": false, "name": "User2", "primaryKey": null, + "schema": null, "uniqueFields": [ [ "firstName", @@ -12856,6 +13370,7 @@ exports[`getDMMF success @@unique model 1`] = ` "groupBy": "groupByPost", "model": "Post", "updateMany": "updateManyPost", + "updateManyAndReturn": "updateManyPostAndReturn", "updateOne": "updateOnePost", "upsertOne": "upsertOnePost", }, @@ -12874,6 +13389,7 @@ exports[`getDMMF success @@unique model 1`] = ` "groupBy": "groupByUser", "model": "User", "updateMany": "updateManyUser", + "updateManyAndReturn": "updateManyUserAndReturn", "updateOne": "updateOneUser", "upsertOne": "upsertOneUser", }, @@ -12892,6 +13408,7 @@ exports[`getDMMF success @@unique model 1`] = ` "groupBy": "groupByUser1", "model": "User1", "updateMany": "updateManyUser1", + "updateManyAndReturn": "updateManyUser1AndReturn", "updateOne": "updateOneUser1", "upsertOne": "upsertOneUser1", }, @@ -12910,6 +13427,7 @@ exports[`getDMMF success @@unique model 1`] = ` "groupBy": "groupByUser2", "model": "User2", "updateMany": "updateManyUser2", + "updateManyAndReturn": "updateManyUser2AndReturn", "updateOne": "updateOneUser2", "upsertOne": "upsertOneUser2", }, @@ -13377,7 +13895,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isList": false, "location": "inputObjectTypes", "namespace": "prisma", - "type": "UserRelationFilter", + "type": "UserScalarRelationFilter", }, { "isList": false, @@ -13621,7 +14139,7 @@ exports[`getDMMF success @@unique model 1`] = ` "isList": false, "location": "inputObjectTypes", "namespace": "prisma", - "type": "UserRelationFilter", + "type": "UserScalarRelationFilter", }, { "isList": false, @@ -17777,7 +18295,7 @@ exports[`getDMMF success @@unique model 1`] = ` "name": "isNot", }, ], - "name": "UserRelationFilter", + "name": "UserScalarRelationFilter", }, { "constraints": { @@ -22662,6 +23180,62 @@ exports[`getDMMF success @@unique model 1`] = ` ], "name": "CreateManyPostAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "authorId", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "title", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "published", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Boolean", + }, + }, + { + "args": [], + "isNullable": false, + "name": "author", + "outputType": { + "isList": false, + "location": "outputObjectTypes", + "namespace": "model", + "type": "User", + }, + }, + ], + "name": "UpdateManyPostAndReturnOutputType", + }, { "fields": [ { @@ -22687,6 +23261,31 @@ exports[`getDMMF success @@unique model 1`] = ` ], "name": "CreateManyUserAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "email", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + ], + "name": "UpdateManyUserAndReturnOutputType", + }, { "fields": [ { @@ -22732,6 +23331,51 @@ exports[`getDMMF success @@unique model 1`] = ` ], "name": "CreateManyUser1AndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "firstName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "lastName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "isAdmin", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Boolean", + }, + }, + ], + "name": "UpdateManyUser1AndReturnOutputType", + }, { "fields": [ { @@ -22777,6 +23421,51 @@ exports[`getDMMF success @@unique model 1`] = ` ], "name": "CreateManyUser2AndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "firstName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "lastName", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "isAdmin", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Boolean", + }, + }, + ], + "name": "UpdateManyUser2AndReturnOutputType", + }, ], "prisma": [ { @@ -25039,12 +25728,55 @@ exports[`getDMMF success @@unique model 1`] = ` }, ], "isNullable": false, - "name": "createManyPost", + "name": "createManyPost", + "outputType": { + "isList": false, + "location": "outputObjectTypes", + "namespace": "prisma", + "type": "AffectedRowsOutput", + }, + }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "PostCreateManyInput", + }, + { + "isList": true, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "PostCreateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Boolean", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "skipDuplicates", + }, + ], + "isNullable": false, + "name": "createManyPostAndReturn", "outputType": { - "isList": false, + "isList": true, "location": "outputObjectTypes", - "namespace": "prisma", - "type": "AffectedRowsOutput", + "namespace": "model", + "type": "CreateManyPostAndReturnOutputType", }, }, { @@ -25055,43 +25787,44 @@ exports[`getDMMF success @@unique model 1`] = ` "isList": false, "location": "inputObjectTypes", "namespace": "prisma", - "type": "PostCreateManyInput", - }, - { - "isList": true, - "location": "inputObjectTypes", - "namespace": "prisma", - "type": "PostCreateManyInput", + "type": "PostWhereUniqueInput", }, ], "isNullable": false, "isRequired": true, - "name": "data", - }, - { - "inputTypes": [ - { - "isList": false, - "location": "scalar", - "type": "Boolean", - }, - ], - "isNullable": false, - "isRequired": false, - "name": "skipDuplicates", + "name": "where", }, ], - "isNullable": false, - "name": "createManyPostAndReturn", + "isNullable": true, + "name": "deleteOnePost", "outputType": { - "isList": true, + "isList": false, "location": "outputObjectTypes", "namespace": "model", - "type": "CreateManyPostAndReturnOutputType", + "type": "Post", }, }, { "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "PostUpdateInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "PostUncheckedUpdateInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, { "inputTypes": [ { @@ -25107,7 +25840,7 @@ exports[`getDMMF success @@unique model 1`] = ` }, ], "isNullable": true, - "name": "deleteOnePost", + "name": "updateOnePost", "outputType": { "isList": false, "location": "outputObjectTypes", @@ -25123,13 +25856,13 @@ exports[`getDMMF success @@unique model 1`] = ` "isList": false, "location": "inputObjectTypes", "namespace": "prisma", - "type": "PostUpdateInput", + "type": "PostUpdateManyMutationInput", }, { "isList": false, "location": "inputObjectTypes", "namespace": "prisma", - "type": "PostUncheckedUpdateInput", + "type": "PostUncheckedUpdateManyInput", }, ], "isNullable": false, @@ -25142,21 +25875,33 @@ exports[`getDMMF success @@unique model 1`] = ` "isList": false, "location": "inputObjectTypes", "namespace": "prisma", - "type": "PostWhereUniqueInput", + "type": "PostWhereInput", }, ], "isNullable": false, - "isRequired": true, + "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], - "isNullable": true, - "name": "updateOnePost", + "isNullable": false, + "name": "updateManyPost", "outputType": { "isList": false, "location": "outputObjectTypes", - "namespace": "model", - "type": "Post", + "namespace": "prisma", + "type": "AffectedRowsOutput", }, }, { @@ -25193,14 +25938,26 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, - "name": "updateManyPost", + "name": "updateManyPostAndReturn", "outputType": { - "isList": false, + "isList": true, "location": "outputObjectTypes", - "namespace": "prisma", - "type": "AffectedRowsOutput", + "namespace": "model", + "type": "UpdateManyPostAndReturnOutputType", }, }, { @@ -25218,6 +25975,18 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyPost", @@ -25511,6 +26280,18 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyUser", @@ -25521,6 +26302,62 @@ exports[`getDMMF success @@unique model 1`] = ` "type": "AffectedRowsOutput", }, }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "UserUpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "UserUncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "UserWhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyUserAndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyUserAndReturnOutputType", + }, + }, { "args": [ { @@ -25536,6 +26373,18 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyUser", @@ -25829,6 +26678,18 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyUser1", @@ -25839,6 +26700,62 @@ exports[`getDMMF success @@unique model 1`] = ` "type": "AffectedRowsOutput", }, }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User1UpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User1UncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User1WhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyUser1AndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyUser1AndReturnOutputType", + }, + }, { "args": [ { @@ -25854,6 +26771,18 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyUser1", @@ -26147,6 +27076,18 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyUser2", @@ -26159,6 +27100,25 @@ exports[`getDMMF success @@unique model 1`] = ` }, { "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User2UpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User2UncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, { "inputTypes": [ { @@ -26172,6 +27132,55 @@ exports[`getDMMF success @@unique model 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyUser2AndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyUser2AndReturnOutputType", + }, + }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "User2WhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyUser2", @@ -27585,14 +28594,15 @@ exports[`getDMMF success @@unique model 1`] = ` } `; -exports[`getDMMF success big schema read via datamodel path 1`] = `153400956`; +exports[`getDMMF success big schema read via datamodel path 1`] = `161427180`; -exports[`getDMMF success chinook introspected schema 1`] = `979838`; +exports[`getDMMF success chinook introspected schema 1`] = `996036`; exports[`getDMMF success if a datamodel is provided, succeeds even when a non-existing datamodel path is given 2`] = ` { "datamodel": { "enums": [], + "indexes": [], "models": [], "types": [], }, @@ -27710,6 +28720,28 @@ exports[`getDMMF success multiple files 1`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "B", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -27725,6 +28757,7 @@ exports[`getDMMF success multiple files 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -27738,12 +28771,14 @@ exports[`getDMMF success multiple files 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -27761,6 +28796,7 @@ exports[`getDMMF success multiple files 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "String", }, { @@ -27774,12 +28810,14 @@ exports[`getDMMF success multiple files 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "title", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "B", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -27803,6 +28841,7 @@ exports[`getDMMF success multiple files 1`] = ` "groupBy": "groupByA", "model": "A", "updateMany": "updateManyA", + "updateManyAndReturn": "updateManyAAndReturn", "updateOne": "updateOneA", "upsertOne": "upsertOneA", }, @@ -27821,6 +28860,7 @@ exports[`getDMMF success multiple files 1`] = ` "groupBy": "groupByB", "model": "B", "updateMany": "updateManyB", + "updateManyAndReturn": "updateManyBAndReturn", "updateOne": "updateOneB", "upsertOne": "upsertOneB", }, @@ -31485,6 +32525,31 @@ exports[`getDMMF success multiple files 1`] = ` ], "name": "CreateManyAAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "name", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + ], + "name": "UpdateManyAAndReturnOutputType", + }, { "fields": [ { @@ -31510,6 +32575,31 @@ exports[`getDMMF success multiple files 1`] = ` ], "name": "CreateManyBAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + { + "args": [], + "isNullable": false, + "name": "title", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + ], + "name": "UpdateManyBAndReturnOutputType", + }, ], "prisma": [ { @@ -32840,6 +33930,18 @@ exports[`getDMMF success multiple files 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -32852,6 +33954,25 @@ exports[`getDMMF success multiple files 1`] = ` }, { "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AUpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AUncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, { "inputTypes": [ { @@ -32865,6 +33986,55 @@ exports[`getDMMF success multiple files 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyAAndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyAAndReturnOutputType", + }, + }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AWhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", @@ -33134,14 +34304,82 @@ exports[`getDMMF success multiple files 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyB", + "outputType": { + "isList": false, + "location": "outputObjectTypes", + "namespace": "prisma", + "type": "AffectedRowsOutput", + }, + }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "BUpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "BUncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "BWhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, - "name": "updateManyB", + "name": "updateManyBAndReturn", "outputType": { - "isList": false, + "isList": true, "location": "outputObjectTypes", - "namespace": "prisma", - "type": "AffectedRowsOutput", + "namespace": "model", + "type": "UpdateManyBAndReturnOutputType", }, }, { @@ -33159,6 +34397,18 @@ exports[`getDMMF success multiple files 1`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyB", @@ -33699,11 +34949,23 @@ exports[`getDMMF success multiple files 1`] = ` } `; -exports[`getDMMF success odoo introspected schema 1`] = `137207101`; +exports[`getDMMF success odoo introspected schema 1`] = `137890979`; exports[`getDMMF success simple model, mongodb 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -33720,6 +34982,7 @@ exports[`getDMMF success simple model, mongodb 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -33733,12 +34996,14 @@ exports[`getDMMF success simple model, mongodb 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -33751,6 +35016,18 @@ exports[`getDMMF success simple model, mongodb 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -33767,6 +35044,7 @@ exports[`getDMMF success simple model, mongodb 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -33780,12 +35058,14 @@ exports[`getDMMF success simple model, mongodb 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -37569,6 +38849,18 @@ exports[`getDMMF success simple model, mongodb 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -37594,6 +38886,18 @@ exports[`getDMMF success simple model, mongodb 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", @@ -37909,6 +39213,18 @@ exports[`getDMMF success simple model, mongodb 2`] = ` exports[`getDMMF success simple model, mysql 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -37924,6 +39240,7 @@ exports[`getDMMF success simple model, mysql 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -37937,12 +39254,14 @@ exports[`getDMMF success simple model, mysql 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -37955,6 +39274,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -37970,6 +39301,7 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -37983,12 +39315,14 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -38049,6 +39383,12 @@ exports[`getDMMF success simple model, mysql 2`] = ` "desc", ], }, + { + "name": "AOrderByRelevanceFieldEnum", + "values": [ + "name", + ], + }, ], }, "fieldRefTypes": { @@ -38296,6 +39636,19 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "name", }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AOrderByRelevanceInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "_relevance", + }, ], "name": "AOrderByWithRelationInput", }, @@ -39188,6 +40541,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "endsWith", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "String", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "search", + }, { "inputTypes": [ { @@ -39209,6 +40574,59 @@ exports[`getDMMF success simple model, mysql 2`] = ` ], "name": "StringFilter", }, + { + "constraints": { + "maxNumFields": null, + "minNumFields": null, + }, + "fields": [ + { + "inputTypes": [ + { + "isList": false, + "location": "enumTypes", + "namespace": "prisma", + "type": "AOrderByRelevanceFieldEnum", + }, + { + "isList": true, + "location": "enumTypes", + "namespace": "prisma", + "type": "AOrderByRelevanceFieldEnum", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "fields", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "enumTypes", + "namespace": "prisma", + "type": "SortOrder", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "sort", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "String", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "search", + }, + ], + "name": "AOrderByRelevanceInput", + }, { "constraints": { "maxNumFields": 1, @@ -39738,6 +41156,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "endsWith", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "String", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "search", + }, { "inputTypes": [ { @@ -40203,6 +41633,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "endsWith", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "String", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "search", + }, { "inputTypes": [ { @@ -40745,6 +42187,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "endsWith", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "String", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "search", + }, { "inputTypes": [ { @@ -41614,6 +43068,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -41639,6 +43105,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", @@ -42001,6 +43479,18 @@ exports[`getDMMF success simple model, mysql 2`] = ` exports[`getDMMF success simple model, no datasource 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -42016,6 +43506,7 @@ exports[`getDMMF success simple model, no datasource 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -42029,12 +43520,14 @@ exports[`getDMMF success simple model, no datasource 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -42047,6 +43540,18 @@ exports[`getDMMF success simple model, no datasource 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -42062,6 +43567,7 @@ exports[`getDMMF success simple model, no datasource 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -42075,12 +43581,14 @@ exports[`getDMMF success simple model, no datasource 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -45476,6 +46984,18 @@ exports[`getDMMF success simple model, no datasource 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -45501,6 +47021,18 @@ exports[`getDMMF success simple model, no datasource 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", @@ -45793,6 +47325,18 @@ exports[`getDMMF success simple model, no datasource 2`] = ` exports[`getDMMF success simple model, postgresql 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -45808,6 +47352,7 @@ exports[`getDMMF success simple model, postgresql 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -45821,12 +47366,14 @@ exports[`getDMMF success simple model, postgresql 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -45839,6 +47386,18 @@ exports[`getDMMF success simple model, postgresql 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -45854,6 +47413,7 @@ exports[`getDMMF success simple model, postgresql 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -45867,12 +47427,14 @@ exports[`getDMMF success simple model, postgresql 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -45896,6 +47458,7 @@ exports[`getDMMF success simple model, postgresql 2`] = ` "groupBy": "groupByA", "model": "A", "updateMany": "updateManyA", + "updateManyAndReturn": "updateManyAAndReturn", "updateOne": "updateOneA", "upsertOne": "upsertOneA", }, @@ -48993,6 +50556,31 @@ exports[`getDMMF success simple model, postgresql 2`] = ` ], "name": "CreateManyAAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "name", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + ], + "name": "UpdateManyAAndReturnOutputType", + }, ], "prisma": [ { @@ -49816,6 +51404,18 @@ exports[`getDMMF success simple model, postgresql 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -49826,6 +51426,62 @@ exports[`getDMMF success simple model, postgresql 2`] = ` "type": "AffectedRowsOutput", }, }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AUpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AUncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AWhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyAAndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyAAndReturnOutputType", + }, + }, { "args": [ { @@ -49841,6 +51497,18 @@ exports[`getDMMF success simple model, postgresql 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", @@ -50203,6 +51871,18 @@ exports[`getDMMF success simple model, postgresql 2`] = ` exports[`getDMMF success simple model, sql server 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -50218,6 +51898,7 @@ exports[`getDMMF success simple model, sql server 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -50231,12 +51912,14 @@ exports[`getDMMF success simple model, sql server 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -50249,6 +51932,18 @@ exports[`getDMMF success simple model, sql server 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -50264,6 +51959,7 @@ exports[`getDMMF success simple model, sql server 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -50277,12 +51973,14 @@ exports[`getDMMF success simple model, sql server 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -53897,6 +55595,18 @@ exports[`getDMMF success simple model, sql server 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -53922,6 +55632,18 @@ exports[`getDMMF success simple model, sql server 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", @@ -54284,6 +56006,18 @@ exports[`getDMMF success simple model, sql server 2`] = ` exports[`getDMMF success simple model, sqlite 1`] = ` { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -54299,6 +56033,7 @@ exports[`getDMMF success simple model, sqlite 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -54312,12 +56047,14 @@ exports[`getDMMF success simple model, sqlite 1`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -54330,6 +56067,18 @@ exports[`getDMMF success simple model, sqlite 2`] = ` { "datamodel": { "enums": [], + "indexes": [ + { + "fields": [ + { + "name": "id", + }, + ], + "isDefinedOnField": true, + "model": "A", + "type": "id", + }, + ], "models": [ { "dbName": null, @@ -54345,6 +56094,7 @@ exports[`getDMMF success simple model, sqlite 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "id", + "nativeType": null, "type": "Int", }, { @@ -54358,12 +56108,14 @@ exports[`getDMMF success simple model, sqlite 2`] = ` "isUpdatedAt": false, "kind": "scalar", "name": "name", + "nativeType": null, "type": "String", }, ], "isGenerated": false, "name": "A", "primaryKey": null, + "schema": null, "uniqueFields": [], "uniqueIndexes": [], }, @@ -54387,6 +56139,7 @@ exports[`getDMMF success simple model, sqlite 2`] = ` "groupBy": "groupByA", "model": "A", "updateMany": "updateManyA", + "updateManyAndReturn": "updateManyAAndReturn", "updateOne": "updateOneA", "upsertOne": "upsertOneA", }, @@ -57232,6 +58985,31 @@ exports[`getDMMF success simple model, sqlite 2`] = ` ], "name": "CreateManyAAndReturnOutputType", }, + { + "fields": [ + { + "args": [], + "isNullable": false, + "name": "id", + "outputType": { + "isList": false, + "location": "scalar", + "type": "Int", + }, + }, + { + "args": [], + "isNullable": false, + "name": "name", + "outputType": { + "isList": false, + "location": "scalar", + "type": "String", + }, + }, + ], + "name": "UpdateManyAAndReturnOutputType", + }, ], "prisma": [ { @@ -58031,6 +59809,18 @@ exports[`getDMMF success simple model, sqlite 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "updateManyA", @@ -58043,6 +59833,25 @@ exports[`getDMMF success simple model, sqlite 2`] = ` }, { "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AUpdateManyMutationInput", + }, + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AUncheckedUpdateManyInput", + }, + ], + "isNullable": false, + "isRequired": true, + "name": "data", + }, { "inputTypes": [ { @@ -58056,6 +59865,55 @@ exports[`getDMMF success simple model, sqlite 2`] = ` "isRequired": false, "name": "where", }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, + ], + "isNullable": false, + "name": "updateManyAAndReturn", + "outputType": { + "isList": true, + "location": "outputObjectTypes", + "namespace": "model", + "type": "UpdateManyAAndReturnOutputType", + }, + }, + { + "args": [ + { + "inputTypes": [ + { + "isList": false, + "location": "inputObjectTypes", + "namespace": "prisma", + "type": "AWhereInput", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "where", + }, + { + "inputTypes": [ + { + "isList": false, + "location": "scalar", + "type": "Int", + }, + ], + "isNullable": false, + "isRequired": false, + "name": "limit", + }, ], "isNullable": false, "name": "deleteManyA", diff --git a/packages/internals/src/__tests__/engine-commands/getConfig.test.ts b/packages/internals/src/__tests__/engine-commands/getConfig.test.ts index 6120f802763a..ea2872113081 100644 --- a/packages/internals/src/__tests__/engine-commands/getConfig.test.ts +++ b/packages/internals/src/__tests__/engine-commands/getConfig.test.ts @@ -133,7 +133,8 @@ describe('getConfig', () => { "native": true } ], - "previewFeatures": [] + "previewFeatures": [], + "sourceFilePath": "schema.prisma" } ], "datasources": [ @@ -145,7 +146,8 @@ describe('getConfig', () => { "fromEnvVar": null, "value": "file:../hello.db" }, - "schemas": [] + "schemas": [], + "sourceFilePath": "schema.prisma" } ], "warnings": [] @@ -192,7 +194,8 @@ describe('getConfig', () => { "native": true } ], - "previewFeatures": [] + "previewFeatures": [], + "sourceFilePath": "schema.prisma" } ], "datasources": [ @@ -204,7 +207,8 @@ describe('getConfig', () => { "fromEnvVar": null, "value": "file:../hello.db" }, - "schemas": [] + "schemas": [], + "sourceFilePath": "schema.prisma" } ], "warnings": [] diff --git a/packages/internals/src/__tests__/engine-commands/getDmmf.test.ts b/packages/internals/src/__tests__/engine-commands/getDmmf.test.ts index 9cd7232a02ee..729845e9eb47 100644 --- a/packages/internals/src/__tests__/engine-commands/getDmmf.test.ts +++ b/packages/internals/src/__tests__/engine-commands/getDmmf.test.ts @@ -268,8 +268,36 @@ describe('getDMMF', () => { 18 | posts Post[] 19 | posts Post[] | + error: Error validating model "User": At most one field must be marked as the id field with the \`@id\` attribute. + --> schema.prisma:10 + | + 9 | + 10 | model User { + 11 | id String @id @default(cuid()) + 12 | id String @id @default(cuid()) + 13 | name String + 14 | email String @unique + 15 | status String @default("") + 16 | permissions Permission @default() + 17 | permissions Permission @default("") + 18 | posts Post[] + 19 | posts Post[] + 20 | } + | + error: Argument "value" is missing. + --> schema.prisma:16 + | + 15 | status String @default("") + 16 | permissions Permission @default() + | + error: Error parsing attribute "@default": Expected an enum value, but found \`""\`. + --> schema.prisma:17 + | + 16 | permissions Permission @default() + 17 | permissions Permission @default("") + | - Validation Error Count: 3 + Validation Error Count: 6 [Context: getDmmf] Prisma CLI Version : 0.0.0" @@ -295,12 +323,13 @@ describe('getDMMF', () => { const dmmf = await getDMMF({ datamodel, datamodelPath: './404/it-does-not-exist' }) expect(dmmf.datamodel).toMatchInlineSnapshot(` - { - "enums": [], - "models": [], - "types": [], - } - `) + { + "enums": [], + "indexes": [], + "models": [], + "types": [], + } + `) expect(dmmf).toMatchSnapshot() }) diff --git a/packages/internals/src/__tests__/engine-commands/validate.test.ts b/packages/internals/src/__tests__/engine-commands/validate.test.ts index 4c1503f3c322..fe4368c43b4c 100644 --- a/packages/internals/src/__tests__/engine-commands/validate.test.ts +++ b/packages/internals/src/__tests__/engine-commands/validate.test.ts @@ -254,8 +254,36 @@ describe('validate', () => { 18 | posts Post[] 19 | posts Post[] | + error: Error validating model "User": At most one field must be marked as the id field with the \`@id\` attribute. + --> schema.prisma:10 + | + 9 | + 10 | model User { + 11 | id String @id @default(cuid()) + 12 | id String @id @default(cuid()) + 13 | name String + 14 | email String @unique + 15 | status String @default("") + 16 | permissions Permission @default() + 17 | permissions Permission @default("") + 18 | posts Post[] + 19 | posts Post[] + 20 | } + | + error: Argument "value" is missing. + --> schema.prisma:16 + | + 15 | status String @default("") + 16 | permissions Permission @default() + | + error: Error parsing attribute "@default": Expected an enum value, but found \`""\`. + --> schema.prisma:17 + | + 16 | permissions Permission @default() + 17 | permissions Permission @default("") + | - Validation Error Count: 3 + Validation Error Count: 6 [Context: validate] Prisma CLI Version : 0.0.0" @@ -354,8 +382,36 @@ describe('validate', () => { 19 | posts Post[] 20 | posts Post[] | + error: Error validating model "User": At most one field must be marked as the id field with the \`@id\` attribute. + --> schema.prisma:11 + | + 10 | + 11 | model User { + 12 | id String @id @default(cuid()) + 13 | id String @id @default(cuid()) + 14 | name String + 15 | email String @unique + 16 | status String @default("") + 17 | permissions Permission @default() + 18 | permissions Permission @default("") + 19 | posts Post[] + 20 | posts Post[] + 21 | } + | + error: Argument "value" is missing. + --> schema.prisma:17 + | + 16 | status String @default("") + 17 | permissions Permission @default() + | + error: Error parsing attribute "@default": Expected an enum value, but found \`""\`. + --> schema.prisma:18 + | + 17 | permissions Permission @default() + 18 | permissions Permission @default("") + | - Validation Error Count: 3 + Validation Error Count: 6 [Context: validate] Prisma CLI Version : 0.0.0" diff --git a/packages/internals/src/__tests__/getGenerators/getGenerators.test.ts b/packages/internals/src/__tests__/getGenerators/getGenerators.test.ts index 120340349f63..f63f4c5f7da7 100644 --- a/packages/internals/src/__tests__/getGenerators/getGenerators.test.ts +++ b/packages/internals/src/__tests__/getGenerators/getGenerators.test.ts @@ -25,6 +25,15 @@ if (process.platform === 'win32') { generatorPath += '.cmd' } +expect.addSnapshotSerializer({ + test: (val) => + val && typeof val === 'object' && typeof val['sourceFilePath'] === 'string' && path.isAbsolute(val.sourceFilePath), + serialize(val, config, indentation, depth, refs, printer) { + const newVal = { ...val, sourceFilePath: path.relative(__dirname, val.sourceFilePath) } + return printer(newVal, config, indentation, depth, refs) + }, +}) + describe('getGenerators', () => { test('basic', async () => { const aliases = { @@ -78,6 +87,7 @@ describe('getGenerators', () => { "name": "db", "provider": "sqlite", "schemas": [], + "sourceFilePath": "valid-minimal-schema.prisma", "url": { "fromEnvVar": null, "value": "file:./dev.db", @@ -103,6 +113,7 @@ describe('getGenerators', () => { "fromEnvVar": null, "value": "predefined-generator", }, + "sourceFilePath": "valid-minimal-schema.prisma", } `) @@ -161,6 +172,7 @@ describe('getGenerators', () => { "name": "db", "provider": "sqlite", "schemas": [], + "sourceFilePath": "valid-minimal-schema-binaryTargets.prisma", "url": { "fromEnvVar": null, "value": "file:./dev.db", @@ -187,6 +199,7 @@ describe('getGenerators', () => { "fromEnvVar": null, "value": "predefined-generator", }, + "sourceFilePath": "valid-minimal-schema-binaryTargets.prisma", } `) @@ -252,6 +265,7 @@ describe('getGenerators', () => { "name": "db", "provider": "sqlite", "schemas": [], + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", "url": { "fromEnvVar": null, "value": "file:./dev.db", @@ -278,6 +292,7 @@ describe('getGenerators', () => { "fromEnvVar": null, "value": "predefined-generator", }, + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", } `) @@ -343,6 +358,7 @@ describe('getGenerators', () => { "name": "db", "provider": "sqlite", "schemas": [], + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", "url": { "fromEnvVar": null, "value": "file:./dev.db", @@ -369,6 +385,7 @@ describe('getGenerators', () => { "fromEnvVar": null, "value": "predefined-generator", }, + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", } `) @@ -435,6 +452,7 @@ describe('getGenerators', () => { "name": "db", "provider": "sqlite", "schemas": [], + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", "url": { "fromEnvVar": null, "value": "file:./dev.db", @@ -476,6 +494,7 @@ describe('getGenerators', () => { "fromEnvVar": null, "value": "predefined-generator", }, + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", } `) @@ -541,6 +560,7 @@ describe('getGenerators', () => { "name": "db", "provider": "sqlite", "schemas": [], + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", "url": { "fromEnvVar": null, "value": "file:./dev.db", @@ -566,6 +586,7 @@ describe('getGenerators', () => { "fromEnvVar": null, "value": "predefined-generator", }, + "sourceFilePath": "valid-minimal-schema-binaryTargets-env-var.prisma", } `) diff --git a/packages/internals/src/__tests__/getSchema.test.ts b/packages/internals/src/__tests__/getSchema.test.ts index e714a86a434b..d06a5c5fcf02 100644 --- a/packages/internals/src/__tests__/getSchema.test.ts +++ b/packages/internals/src/__tests__/getSchema.test.ts @@ -148,20 +148,6 @@ it('throws error if explicit --schema arg is used and preview feature is not on' ) }) -it('finds the schema path in the root package.json of a yarn workspace from a child package', async () => { - const res = await testSchemaPath('pkg-json-workspace-parent/packages/a') - - expect(res).toMatchInlineSnapshot(`"src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/db/schema.prisma"`) -}) - -it('finds the conventional schema path with yarn workspaces', async () => { - const res = await testSchemaPath('conventional-path-workspaces') - - expect(res).toMatchInlineSnapshot( - `"src/__tests__/__fixtures__/getSchema/conventional-path-workspaces/packages/b/schema.prisma"`, - ) -}) - it('fails with no schema in workspaces', async () => { const res = await testSchemaPath('no-schema-workspaces') @@ -173,12 +159,6 @@ it('fails with no schema in workspaces', async () => { schema.prisma: file not found prisma/schema.prisma: file not found prisma/schema: directory not found - packages/a/schema.prisma: file not found - packages/a/prisma/schema.prisma: file not found - packages/a/prisma/schema: directory not found - packages/b/schema.prisma: file not found - packages/b/prisma/schema.prisma: file not found - packages/b/prisma/schema: directory not found See also https://pris.ly/d/prisma-schema-location] `) diff --git a/packages/internals/src/cli/checkUnsupportedDataProxy.ts b/packages/internals/src/cli/checkUnsupportedDataProxy.ts index ab09b823b085..3290aeced527 100644 --- a/packages/internals/src/cli/checkUnsupportedDataProxy.ts +++ b/packages/internals/src/cli/checkUnsupportedDataProxy.ts @@ -1,6 +1,6 @@ import fs from 'fs' import { green } from 'kleur/colors' -import { O } from 'ts-toolbelt' +import type { O } from 'ts-toolbelt' import { getConfig, getEffectiveUrl, getSchemaWithPath, link } from '..' import { resolveUrl } from '../engine-commands/getConfig' diff --git a/packages/internals/src/cli/getSchema.ts b/packages/internals/src/cli/getSchema.ts index 26d659e0aada..0225e58aa7d9 100644 --- a/packages/internals/src/cli/getSchema.ts +++ b/packages/internals/src/cli/getSchema.ts @@ -1,10 +1,9 @@ import { Debug } from '@prisma/debug' import { loadSchemaFiles, usesPrismaSchemaFolder } from '@prisma/schema-files-loader' -import execa from 'execa' import fs from 'fs' import { green } from 'kleur/colors' import path from 'path' -import { PackageJson, readPackageUp } from 'read-package-up' +import { readPackageUp } from 'read-package-up' import { promisify } from 'util' import { getConfig } from '../engine-commands' @@ -84,15 +83,6 @@ type PackageJsonLookupResult = } } -type YarnWorkspaceLookupResult = - | DefaultLookupResult - | { - ok: false - error: { - kind: 'Yarn1WorkspaceSchemaNotFound' - } - } - export type GetSchemaResult = { /** * A path from which schema was loaded @@ -276,15 +266,9 @@ async function getSchemaWithPathInternal( return defaultResult } - const yarnResult = await getSchemaFromYarn1Workspace(cwd, defaultResult.error.failures) - if (yarnResult.ok) { - return yarnResult - } - - const finalError = yarnResult.error.kind === 'Yarn1WorkspaceSchemaNotFound' ? defaultResult.error : yarnResult.error return { ok: false as const, - error: finalError, + error: defaultResult.error, } } @@ -384,61 +368,6 @@ export async function getSchemaFromPackageJson(cwd: string): Promise { - if (!process.env.npm_config_user_agent?.includes('yarn')) { - return { ok: false, error: { kind: 'Yarn1WorkspaceSchemaNotFound' } } - } - - let workspaces: Array<{ location: string }> - try { - const { stdout: version } = await execa.command('yarn --version', { - cwd, - }) - - if (version.startsWith('2')) { - return { ok: false, error: { kind: 'Yarn1WorkspaceSchemaNotFound' } } - } - const { stdout } = await execa.command('yarn workspaces info --json', { - cwd, - }) - const json = getJson(stdout) - workspaces = Object.values(json) - } catch { - return { ok: false, error: { kind: 'Yarn1WorkspaceSchemaNotFound' } } - } - - const workspaceRootDir = await findWorkspaceRoot(cwd) - - if (!workspaceRootDir) { - return { ok: false, error: { kind: 'Yarn1WorkspaceSchemaNotFound' } } - } - - // Iterate over the workspaces - for (const workspace of workspaces) { - const workspacePath = path.join(workspaceRootDir, workspace.location) - const workspaceSchema = await tryWorkspacePath(workspacePath, pastFailures) - - if (workspaceSchema.ok) { - return workspaceSchema - } - } - - const rootPathSchema = await tryWorkspacePath(workspaceRootDir, pastFailures) - return rootPathSchema -} - -async function tryWorkspacePath(cwd: string, pastFailures: DefaultLookupRuleFailure[]) { - const pkgJson = await getSchemaFromPackageJson(cwd) - if (pkgJson.ok) { - return pkgJson - } - - return getDefaultSchema(cwd, pastFailures) -} - async function getDefaultSchema(cwd: string, failures: DefaultLookupRuleFailure[] = []): Promise { const schemaPrisma: DefaultLookupRule = { schemaPath: { @@ -529,55 +458,3 @@ export async function getSchema(schemaPathFromArgs?: string): Promise { - let pkgJson = await isNearestPkgJsonWorkspaceRoot(cwd) - - if (!pkgJson) { - return null - } - - if (pkgJson.isRoot === true) { - return path.dirname(pkgJson.path) - } - - const pkgJsonParentDir = path.dirname(path.dirname(pkgJson.path)) - - pkgJson = await isNearestPkgJsonWorkspaceRoot(pkgJsonParentDir) - - if (!pkgJson || pkgJson.isRoot === false) { - return null - } - - return path.dirname(pkgJson.path) -} diff --git a/packages/internals/src/cli/getTypescriptVersion.ts b/packages/internals/src/cli/getTypescriptVersion.ts new file mode 100644 index 000000000000..9767868d0770 --- /dev/null +++ b/packages/internals/src/cli/getTypescriptVersion.ts @@ -0,0 +1,20 @@ +async function getProcessObject() { + try { + // On deno 2.X `process` is directly globally available but not in deno 1.X! + return await import('node:process') + } catch (_) { + return null + } +} + +export async function getTypescriptVersion(): Promise { + try { + // On node.js this will import the project defined typescript package. + // On bun this will import the bun bundled typescript package. + return (await import('typescript')).default.version + } catch (_) { + // On deno the dynamic import of typescript will fail but typescript is natively available and its version is available in process.versions. + // If none of this worked typescript is likely not installed / available. + return (await getProcessObject())?.versions.typescript || 'unknown' + } +} diff --git a/packages/internals/src/client/getClientEngineType.ts b/packages/internals/src/client/getClientEngineType.ts index 00e40638ac3a..3d0ca8556a8a 100644 --- a/packages/internals/src/client/getClientEngineType.ts +++ b/packages/internals/src/client/getClientEngineType.ts @@ -3,6 +3,7 @@ import type { GeneratorConfig } from '@prisma/generator-helper' export enum ClientEngineType { Library = 'library', Binary = 'binary', + Client = 'client', } export const DEFAULT_CLIENT_ENGINE_TYPE = ClientEngineType.Library @@ -14,6 +15,8 @@ export function getClientEngineType(generatorConfig?: GeneratorConfig): ClientEn return ClientEngineType.Library } else if (generatorConfig?.config.engineType === ClientEngineType.Binary) { return ClientEngineType.Binary + } else if (generatorConfig?.config.engineType === ClientEngineType.Client) { + return ClientEngineType.Client } else { return DEFAULT_CLIENT_ENGINE_TYPE } @@ -25,6 +28,8 @@ function getEngineTypeFromEnvVar() { return ClientEngineType.Library } else if (engineType === ClientEngineType.Binary) { return ClientEngineType.Binary + } else if (engineType === ClientEngineType.Client) { + return ClientEngineType.Client } else { return undefined } diff --git a/packages/internals/src/convertCredentials.ts b/packages/internals/src/convertCredentials.ts index 970dbaf85428..7ee8fb7ba31b 100644 --- a/packages/internals/src/convertCredentials.ts +++ b/packages/internals/src/convertCredentials.ts @@ -3,6 +3,7 @@ import path from 'path' import * as NodeURL from 'url' import type { DatabaseCredentials } from './types' +import { PRISMA_POSTGRES_PROTOCOL } from './utils/prismaPostgres' // opposite of uriToCredentials // only used for internal tests @@ -171,6 +172,7 @@ export function protocolToConnectorType(protocol: string): ConnectorType { switch (protocol) { case 'postgresql:': case 'postgres:': + case PRISMA_POSTGRES_PROTOCOL: return 'postgresql' case 'mongodb+srv:': case 'mongodb:': diff --git a/packages/internals/src/engine-commands/getDmmf.ts b/packages/internals/src/engine-commands/getDmmf.ts index 2b4360be451a..58d050dd2254 100644 --- a/packages/internals/src/engine-commands/getDmmf.ts +++ b/packages/internals/src/engine-commands/getDmmf.ts @@ -4,7 +4,7 @@ import * as E from 'fp-ts/Either' import { pipe } from 'fp-ts/lib/function' import * as TE from 'fp-ts/TaskEither' import fs from 'fs' -import { blue, bold, red } from 'kleur/colors' +import { bold, red } from 'kleur/colors' import { match } from 'ts-pattern' import { ErrorArea, getWasmError, isWasmPanic, RustPanic, WasmPanic } from '../panic' @@ -57,10 +57,6 @@ ${detailsHeader} ${message}` * Wasm'd version of `getDMMF`. */ export async function getDMMF(options: GetDMMFOptions): Promise { - // TODO: substitute this warning with `prismaSchemaWasm.lint()`. - // See https://github.com/prisma/prisma/issues/16538 - warnOnDeprecatedFeatureFlag(options.previewFeatures) - const debugErrorType = createDebugErrorType(debug, 'getDmmfWasm') debug(`Using getDmmf Wasm`) @@ -177,35 +173,3 @@ export async function getDMMF(options: GetDMMFOptions): Promise { throw error } - -// See also removedFlags at -// https://github.com/prisma/prisma/blob/main/packages/client/src/runtime/core/engine/BinaryEngine.ts -function warnOnDeprecatedFeatureFlag(previewFeatures?: string[]) { - const getMessage = (flag: string) => - `${blue(bold('info'))} The preview flag "${flag}" is not needed anymore, please remove it from your schema.prisma` - - const removedFeatureFlagMap = { - insensitiveFilters: getMessage('insensitiveFilters'), - atomicNumberOperations: getMessage('atomicNumberOperations'), - connectOrCreate: getMessage('connectOrCreate'), - transaction: getMessage('transaction'), - nApi: getMessage('nApi'), - transactionApi: getMessage('transactionApi'), - uncheckedScalarInputs: getMessage('uncheckedScalarInputs'), - nativeTypes: getMessage('nativeTypes'), - createMany: getMessage('createMany'), - groupBy: getMessage('groupBy'), - referentialActions: getMessage('referentialActions'), - microsoftSqlServer: getMessage('microsoftSqlServer'), - selectRelationCount: getMessage('selectRelationCount'), - orderByRelation: getMessage('orderByRelation'), - orderByAggregateGroup: getMessage('orderByAggregateGroup'), - } - - previewFeatures?.forEach((f) => { - const removedMessage = removedFeatureFlagMap[f] - if (removedMessage && !process.env.PRISMA_HIDE_PREVIEW_FLAG_WARNINGS) { - console.warn(removedMessage) - } - }) -} diff --git a/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/checkYarnVersion.ts b/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/checkYarnVersion.ts deleted file mode 100644 index f15a2633a15f..000000000000 --- a/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/checkYarnVersion.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { bold } from 'kleur/colors' - -import { logger } from '../../../..' -import { semverLt } from './semverLt' - -// TODO: Is this well tested? - -/** - * Warn, if yarn is older than 1.19.2 because Yarn used to remove all dot - * folders inside node_modules before. We use node_modules/.prisma/client - * directory as default location for generated Prisma Client. Changelog - * https://github.com/yarnpkg/yarn/blob/HEAD/CHANGELOG.md#1192 - * https://www.prisma.io/docs/reference/system-requirements#software-requirements - * // TODO Maybe we replace this with the "engines" field in package.json - */ -export function checkYarnVersion() { - if (process.env.npm_config_user_agent) { - const match = parseUserAgentString(process.env.npm_config_user_agent) - if (match) { - const { agent, major, minor, patch } = match - if (agent === 'yarn' && major === 1) { - const currentYarnVersion = `${major}.${minor}.${patch}` - const minYarnVersion = '1.19.2' - if (semverLt(currentYarnVersion, minYarnVersion)) { - logger.warn( - `Your ${bold('yarn')} has version ${currentYarnVersion}, which is outdated. Please update it to ${bold( - minYarnVersion, - )} or ${bold('newer')} in order to use Prisma.`, - ) - } - } - } - } -} - -function parseUserAgentString(str) { - const userAgentRegex = /(\w+)\/(\d+)\.(\d+)\.(\d+)/ - const match = userAgentRegex.exec(str) - if (match) { - const agent = match[1] - const major = parseInt(match[2]) - const minor = parseInt(match[3]) - const patch = parseInt(match[4]) - return { agent, major, minor, patch } - } - return null -} diff --git a/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/prismaClientResolver.ts b/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/prismaClientResolver.ts index a268e5d023ad..3722ea673755 100644 --- a/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/prismaClientResolver.ts +++ b/packages/internals/src/get-generators/generatorResolvers/prisma-client-js/prismaClientResolver.ts @@ -8,7 +8,6 @@ import { findPrismaClientDir } from './auto-installation/findPrismaClientDir' import { getPackageCmd } from './auto-installation/getPackageCmd' import { runPackageCmd } from './auto-installation/runPackageCmd' import { checkTypeScriptVersion } from './check-dependencies/checkTypeScriptVersion' -import { checkYarnVersion } from './check-dependencies/checkYarnVersion' import { isYarnUsed } from './check-dependencies/isYarnUsed' import { resolvePkg } from './check-dependencies/resolve' @@ -27,7 +26,6 @@ export async function prismaClientResolver(baseDir: string, version?: string) { debug('baseDir', baseDir) - checkYarnVersion() await checkTypeScriptVersion() if (!prismaClientDir && !process.env.PRISMA_GENERATE_SKIP_AUTOINSTALL) { @@ -78,10 +76,10 @@ export async function prismaClientResolver(baseDir: string, version?: string) { } if (!prismaCliDir) { - await runPackageCmd(projectRoot, 'add', `prisma@${version ?? 'latest'}`, '-D') + await runPackageCmd(projectRoot, 'add', `prisma@${version ?? 'latest'}`, '-D', '--silent') } - await runPackageCmd(projectRoot, 'add', `@prisma/client@${version ?? 'latest'}`) + await runPackageCmd(projectRoot, 'add', `@prisma/client@${version ?? 'latest'}`, '--silent') // resolvePkg has caching, so we trick it not to do it 👇 prismaClientDir = await findPrismaClientDir(path.join('.', baseDir)) diff --git a/packages/internals/src/get-generators/getGenerators.ts b/packages/internals/src/get-generators/getGenerators.ts index 4ad5e2cb8829..43dd182313d4 100644 --- a/packages/internals/src/get-generators/getGenerators.ts +++ b/packages/internals/src/get-generators/getGenerators.ts @@ -2,7 +2,13 @@ import Debug from '@prisma/debug' import { enginesVersion, getCliQueryEngineBinaryType } from '@prisma/engines' import type { DownloadOptions } from '@prisma/fetch-engine' import { download } from '@prisma/fetch-engine' -import type { BinaryTargetsEnvValue, EngineType, GeneratorConfig, GeneratorOptions } from '@prisma/generator-helper' +import type { + BinaryTargetsEnvValue, + EngineType, + GeneratorConfig, + GeneratorOptions, + SqlQueryOutput, +} from '@prisma/generator-helper' import type { BinaryTarget } from '@prisma/get-platform' import { binaryTargets, getBinaryTargetForCurrentPlatform } from '@prisma/get-platform' import { bold, gray, green, red, underline, yellow } from 'kleur/colors' @@ -54,7 +60,6 @@ export type GetGeneratorOptions = { cliVersion?: string version?: string printDownloadProgress?: boolean - baseDir?: string // useful in tests to resolve the base dir from which `output` is resolved overrideGenerators?: GeneratorConfig[] skipDownload?: boolean binaryPathsOverride?: BinaryPathsOverride @@ -62,6 +67,7 @@ export type GetGeneratorOptions = { postinstall?: boolean noEngine?: boolean allowNoModels?: boolean + typedSql?: SqlQueryOutput[] } /** * Makes sure that all generators have the binaries they deserve and returns a @@ -77,7 +83,6 @@ export async function getGenerators(options: GetGeneratorOptions): Promise { let generatorPath = parseEnvValue(generator.provider) let paths: GeneratorPaths | undefined + const baseDir = path.dirname(generator.sourceFilePath ?? schemaPath) // as of now mostly used by studio const providerValue = parseEnvValue(generator.provider) @@ -219,7 +226,7 @@ The generator needs to either define the \`defaultOutput\` path in the manifest } const datamodel = mergeSchemas({ schemas }) - const envPaths = await getEnvPaths(schemaPath) + const envPaths = await getEnvPaths(schemaPath, { cwd: generator.output.value! }) const options: GeneratorOptions = { datamodel, @@ -233,6 +240,7 @@ The generator needs to either define the \`defaultOutput\` path in the manifest noEngine, allowNoModels, envPaths, + typedSql, } // we set the options here a bit later after instantiating the Generator, diff --git a/packages/internals/src/index.ts b/packages/internals/src/index.ts index d817380674b9..84c051958aef 100644 --- a/packages/internals/src/index.ts +++ b/packages/internals/src/index.ts @@ -9,6 +9,7 @@ export { getSchemaWithPath, getSchemaWithPathOptional, } from './cli/getSchema' +export { getTypescriptVersion } from './cli/getTypescriptVersion' export { getCLIPathHash, getProjectHash } from './cli/hashes' export { unknownCommand } from './cli/Help' export { HelpError } from './cli/Help' @@ -65,6 +66,7 @@ export * as fsFunctional from './utils/fs-functional' export * as fsUtils from './utils/fs-utils' export { getCommandWithExecutor } from './utils/getCommandWithExecutor' export { getEnvPaths } from './utils/getEnvPaths' +export { getMigrateConfigDir } from './utils/getMigrateConfigDir' export { version } from './utils/getVersionFromPackageJson' export { handleLibraryLoadingErrors } from './utils/handleEngineLoadingErrors' export { handlePanic } from './utils/handlePanic' @@ -73,6 +75,7 @@ export { isCi } from './utils/isCi' export { isCurrentBinInstalledGlobally } from './utils/isCurrentBinInstalledGlobally' export { isInteractive } from './utils/isInteractive' export { isPromiseLike } from './utils/isPromiseLike' +export { isValidJsIdentifier } from './utils/isValidJsIdentifier' export { keyBy } from './utils/keyBy' export { link } from './utils/link' export { loadLibrary as load } from './utils/load' @@ -86,6 +89,7 @@ export { parseBinaryTargetsEnvValue, parseEnvValue } from './utils/parseEnvValue export { longestCommonPathPrefix, pathToPosix } from './utils/path' export { pick } from './utils/pick' export { printConfigWarnings } from './utils/printConfigWarnings' +export { isPrismaPostgres, PRISMA_POSTGRES_PROTOCOL, PRISMA_POSTGRES_PROVIDER } from './utils/prismaPostgres' export { debugMultipleSchemaPaths, debugMultipleSchemas, diff --git a/packages/internals/src/tracing/types.ts b/packages/internals/src/tracing/types.ts index edeebdef1317..190391245a53 100644 --- a/packages/internals/src/tracing/types.ts +++ b/packages/internals/src/tracing/types.ts @@ -15,27 +15,47 @@ export type ExtendedSpanOptions = SpanOptions & { context?: Context } -export type EngineSpanEvent = { - span: boolean - spans: EngineSpan[] -} +export type EngineSpanId = string + +export type HrTime = [number, number] + +export type EngineSpanKind = 'client' | 'internal' export type EngineSpan = { - span: boolean + id: EngineSpanId + parentId: string | null name: string - trace_id: string - span_id: string - parent_span_id: string - start_time: [number, number] - end_time: [number, number] - attributes?: Record - links?: { trace_id: string; span_id: string }[] + startTime: HrTime + endTime: HrTime + kind: EngineSpanKind + attributes?: Record + links?: EngineSpanId[] +} + +export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'query' + +export type EngineTraceEvent = { + spanId: EngineSpanId + target: string + level: LogLevel + timestamp: HrTime + attributes: Record & { + message?: string + query?: string + duration_ms?: number + params?: string + } +} + +export type EngineTrace = { + spans: EngineSpan[] + events: EngineTraceEvent[] } export interface TracingHelper { isEnabled(): boolean getTraceParent(context?: Context): string - createEngineSpan(engineSpanEvent: EngineSpanEvent): void + dispatchEngineSpans(spans: EngineSpan[]): void getActiveContext(): Context | undefined diff --git a/packages/internals/src/utils/getCommandWithExecutor.ts b/packages/internals/src/utils/getCommandWithExecutor.ts index cd4bbe8ef917..21b586a0d579 100644 --- a/packages/internals/src/utils/getCommandWithExecutor.ts +++ b/packages/internals/src/utils/getCommandWithExecutor.ts @@ -6,14 +6,10 @@ export function getCommandWithExecutor(command: string): string { // do nothing! return command } else { - // Example yarn 'yarn/1.22.4 npm/? node/v12.14.1 darwin x64' - const yarnUsed = process.env.npm_config_user_agent?.includes('yarn') // When running in npx, npm puts this package into a /_npx/ folder. Tested on Win, Mac, Linux const npxUsed = __dirname.includes('_npx') if (npxUsed) { return `npx ${command}` - } else if (yarnUsed) { - return `yarn ${command}` } else { return command } diff --git a/packages/internals/src/utils/getMigrateConfigDir.ts b/packages/internals/src/utils/getMigrateConfigDir.ts new file mode 100644 index 000000000000..f6554790d0b0 --- /dev/null +++ b/packages/internals/src/utils/getMigrateConfigDir.ts @@ -0,0 +1,11 @@ +import path from 'path' + +import type { ConfigMetaFormat } from '../engine-commands' + +export function getMigrateConfigDir(config: ConfigMetaFormat, schemaPath: string | undefined) { + const sourcePath = config?.datasources?.[0]?.sourceFilePath + if (sourcePath) { + return path.dirname(sourcePath) + } + return schemaPath ? path.dirname(schemaPath) : process.cwd() +} diff --git a/packages/internals/src/utils/isCurrentBinInstalledGlobally.ts b/packages/internals/src/utils/isCurrentBinInstalledGlobally.ts index 3c1ed0ef0f2a..463e1be576cd 100644 --- a/packages/internals/src/utils/isCurrentBinInstalledGlobally.ts +++ b/packages/internals/src/utils/isCurrentBinInstalledGlobally.ts @@ -2,20 +2,14 @@ import fs from 'fs' import globalDirectories from 'global-dirs' // returns if current prisma bin is installed globally -export function isCurrentBinInstalledGlobally(): 'npm' | 'yarn' | false { +export function isCurrentBinInstalledGlobally(): 'npm' | false { try { const realPrismaPath = fs.realpathSync(process.argv[1]) - const usingGlobalYarn = realPrismaPath.indexOf(globalDirectories.yarn.packages) === 0 const usingGlobalNpm = realPrismaPath.indexOf(fs.realpathSync(globalDirectories.npm.packages)) === 0 if (usingGlobalNpm) { return 'npm' } - if (usingGlobalYarn) { - return 'yarn' - } else { - false - } } catch (e) { // } diff --git a/packages/internals/src/utils/isValidJsIdentifier.ts b/packages/internals/src/utils/isValidJsIdentifier.ts new file mode 100644 index 000000000000..5d6483feacc3 --- /dev/null +++ b/packages/internals/src/utils/isValidJsIdentifier.ts @@ -0,0 +1,5 @@ +import { isIdentifierName } from '@babel/helper-validator-identifier' + +export function isValidJsIdentifier(str: string): boolean { + return isIdentifierName(str) +} diff --git a/packages/internals/src/utils/prismaPostgres.test.ts b/packages/internals/src/utils/prismaPostgres.test.ts new file mode 100644 index 000000000000..38b3371a70a1 --- /dev/null +++ b/packages/internals/src/utils/prismaPostgres.test.ts @@ -0,0 +1,15 @@ +import { isPrismaPostgres, PRISMA_POSTGRES_PROTOCOL } from './prismaPostgres' + +describe('isPrismaPostgres', () => { + test('returns false on invalid or non Prisma Postgres protocols', () => { + expect(isPrismaPostgres()).toBe(false) + expect(isPrismaPostgres('')).toBe(false) + expect(isPrismaPostgres('mysql://database.url/test')).toBe(false) + expect(isPrismaPostgres('prisma://database.url/test')).toBe(false) + }) + + test('returns true on valid Prisma Postgres protocols', () => { + expect(isPrismaPostgres('prisma+postgres://database.url/test')).toBe(true) + expect(isPrismaPostgres(`${PRISMA_POSTGRES_PROTOCOL}//database.url/test`)).toBe(true) + }) +}) diff --git a/packages/internals/src/utils/prismaPostgres.ts b/packages/internals/src/utils/prismaPostgres.ts new file mode 100644 index 000000000000..644d1d851683 --- /dev/null +++ b/packages/internals/src/utils/prismaPostgres.ts @@ -0,0 +1,7 @@ +export const PRISMA_POSTGRES_PROVIDER = 'prisma+postgres' + +export const PRISMA_POSTGRES_PROTOCOL = `${PRISMA_POSTGRES_PROVIDER}:` + +export function isPrismaPostgres(connectionString?: string) { + return connectionString?.startsWith(`${PRISMA_POSTGRES_PROTOCOL}//`) ?? false +} diff --git a/packages/internals/src/utils/toSchemasContainer.ts b/packages/internals/src/utils/toSchemasContainer.ts index 04055c49a223..860fd0e56653 100644 --- a/packages/internals/src/utils/toSchemasContainer.ts +++ b/packages/internals/src/utils/toSchemasContainer.ts @@ -1,7 +1,7 @@ -import path from 'path' - import { GetSchemaResult } from '../cli/getSchema' +import { ConfigMetaFormat } from '../engine-commands' import { MigrateTypes } from '../migrateTypes' +import { getMigrateConfigDir } from './getMigrateConfigDir' import { MultipleSchemas } from './schemaFileInput' export function toSchemasContainer(schemas: MultipleSchemas): MigrateTypes.SchemasContainer { @@ -10,10 +10,13 @@ export function toSchemasContainer(schemas: MultipleSchemas): MigrateTypes.Schem } } -export function toSchemasWithConfigDir(getSchemaResult: GetSchemaResult): MigrateTypes.SchemasWithConfigDir { +export function toSchemasWithConfigDir( + getSchemaResult: GetSchemaResult, + config: ConfigMetaFormat, +): MigrateTypes.SchemasWithConfigDir { return { files: multipleSchemasToSchemaContainers(getSchemaResult.schemas), - configDir: path.dirname(getSchemaResult.schemaPath), + configDir: getMigrateConfigDir(config, getSchemaResult.schemaPath), } } diff --git a/packages/migrate/package.json b/packages/migrate/package.json index d84a2957e333..d774f42df20f 100644 --- a/packages/migrate/package.json +++ b/packages/migrate/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "description": "This package is intended for Prisma's internal use", "main": "dist/index.js", - "types": "dist/index.d.ts", + "types": "dist/migrate/src/index.d.ts", "repository": { "type": "git", "url": "https://github.com/prisma/prisma.git", @@ -18,38 +18,37 @@ }, "devDependencies": { "@sindresorhus/slugify": "1.1.2", - "@swc/core": "1.5.25", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@swc/core": "1.10.9", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "@types/pg": "8.11.6", "@types/prompts": "2.4.9", "@types/sqlite3": "3.1.11", "arg": "5.0.2", - "esbuild": "0.21.4", + "esbuild": "0.24.2", "execa": "5.1.1", - "fp-ts": "2.16.6", + "fp-ts": "2.16.9", "fs-jetpack": "5.1.0", "get-stdin": "8.0.0", - "has-yarn": "2.1.0", "indent-string": "4.0.0", "jest": "29.7.0", "jest-junit": "16.0.0", "kleur": "4.1.5", "log-update": "4.0.0", - "mariadb": "3.3.0", + "mariadb": "3.3.1", "mock-stdin": "1.0.0", - "mongoose": "8.4.1", - "mssql": "10.0.2", + "mongoose": "8.9.5", + "mssql": "11.0.1", "ora": "5.4.1", "pg": "8.11.5", "pkg-up": "3.1.0", "strip-ansi": "6.0.1", "strip-indent": "3.0.0", "tempy": "1.0.1", - "ts-pattern": "5.1.2", + "ts-pattern": "5.6.2", "typescript": "5.4.5", - "wrangler": "3.60.0" + "wrangler": "3.91.0" }, "peerDependencies": { "@prisma/generator-helper": "*", @@ -57,7 +56,7 @@ }, "dependencies": { "@prisma/debug": "workspace:*", - "@prisma/engines-version": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/engines-version": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/generator-helper": "workspace:*", "@prisma/get-platform": "workspace:*", "@prisma/internals": "workspace:*", diff --git a/packages/migrate/src/Migrate.ts b/packages/migrate/src/Migrate.ts index 4f5dae55a802..013cb68c8054 100644 --- a/packages/migrate/src/Migrate.ts +++ b/packages/migrate/src/Migrate.ts @@ -4,6 +4,7 @@ import { getGeneratorSuccessMessage, type GetSchemaResult, getSchemaWithPath, + isPrismaPostgres, toSchemasContainer, } from '@prisma/internals' import { dim } from 'kleur/colors' @@ -12,6 +13,7 @@ import path from 'path' import { SchemaEngine } from './SchemaEngine' import type { EngineArgs, EngineResults } from './types' +import { DatasourceInfo } from './utils/ensureDatabaseExists' // TODO: `eval` is used so that the `version` field in package.json (resolved at compile-time) doesn't yield `0.0.0`. // We should mark this bit as `external` during the build, so that we can get rid of `eval` and still import the JSON we need at runtime. @@ -29,13 +31,11 @@ export class Migrate { this.schemaPath = path.resolve(process.cwd(), schemaPath) this.migrationsDirectoryPath = path.join(path.dirname(this.schemaPath), 'migrations') this.engine = new SchemaEngine({ - projectDir: path.dirname(this.schemaPath), schemaPath: this.schemaPath, enabledPreviewFeatures, }) } else { this.engine = new SchemaEngine({ - projectDir: process.cwd(), enabledPreviewFeatures, }) } @@ -137,9 +137,12 @@ export class Migrate { } } - public async tryToRunGenerate(): Promise { + public async tryToRunGenerate(datasourceInfo: DatasourceInfo): Promise { if (!this.schemaPath) throw new Error('this.schemaPath is undefined') + // Auto-append the `--no-engine` flag to the `prisma generate` command when a Prisma Postgres URL is used. + const skipEngines = isPrismaPostgres(datasourceInfo.url) + const message: string[] = [] process.stdout.write('\n') // empty line @@ -150,6 +153,7 @@ export class Migrate { printDownloadProgress: true, version: enginesVersion, cliVersion: packageJson.version, + noEngine: skipEngines, }) for (const generator of generators) { diff --git a/packages/migrate/src/SchemaEngine.ts b/packages/migrate/src/SchemaEngine.ts index 5e93392a32cf..146a2dcb4821 100644 --- a/packages/migrate/src/SchemaEngine.ts +++ b/packages/migrate/src/SchemaEngine.ts @@ -4,6 +4,8 @@ import Debug from '@prisma/debug' import { BinaryType, ErrorArea, + getConfig, + getMigrateConfigDir, getSchema, type MigrateTypes, relativizePathInPSLError, @@ -26,7 +28,6 @@ const debugStderr = Debug('prisma:schemaEngine:stderr') const debugStdin = Debug('prisma:schemaEngine:stdin') export interface SchemaEngineOptions { - projectDir: string schemaPath?: string debug?: boolean enabledPreviewFeatures?: string[] @@ -46,7 +47,6 @@ setClassName(EngineError, 'EngineError') let messageId = 1 export class SchemaEngine { - private projectDir: string private debug: boolean private child?: ChildProcess private schemaPath?: string @@ -65,8 +65,7 @@ export class SchemaEngine { // `isRunning` is set to true when the engine is initialized, and set to false when the engine is stopped public isRunning = false - constructor({ projectDir, debug = false, schemaPath, enabledPreviewFeatures }: SchemaEngineOptions) { - this.projectDir = projectDir + constructor({ debug = false, schemaPath, enabledPreviewFeatures }: SchemaEngineOptions) { this.schemaPath = schemaPath if (debug) { Debug.enable('SchemaEngine*') @@ -75,7 +74,6 @@ export class SchemaEngine { this.enabledPreviewFeatures = enabledPreviewFeatures } - /* eslint-disable @typescript-eslint/no-unsafe-return */ // // See JSON-RPC API definition: // https://prisma.github.io/prisma-engines/doc/migration_core/json_rpc/index.html @@ -262,7 +260,14 @@ export class SchemaEngine { return this.runCommand(this.getRPCPayload('schemaPush', args)) } - /* eslint-enable @typescript-eslint/no-unsafe-return */ + /** + * SQL introspection that powers TypedSQL feature + * @param args + * @returns + */ + public introspectSql(args: EngineArgs.IntrospectSqlParams): Promise { + return this.runCommand(this.getRPCPayload('introspectSql', args)) + } public stop(): void { if (this.child) { @@ -331,17 +336,19 @@ export class SchemaEngine { } private internalInit(): Promise { - // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor + // eslint-disable-next-line no-async-promise-executor return new Promise(async (resolve, reject) => { try { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const { PWD, ...processEnv } = process.env const binaryPath = await resolveBinary(BinaryType.SchemaEngineBinary) debugRpc('starting Schema engine with binary: ' + binaryPath) const args: string[] = [] + let projectDir: string = process.cwd() if (this.schemaPath) { const schema = await getSchema(this.schemaPath) + const config = await getConfig({ datamodel: schema }) + projectDir = getMigrateConfigDir(config, this.schemaPath) const schemaArgs = schema.flatMap(([path]) => ['-d', path]) args.push(...schemaArgs) } @@ -354,7 +361,7 @@ export class SchemaEngine { args.push(...['--enabled-preview-features', this.enabledPreviewFeatures.join(',')]) } this.child = spawn(binaryPath, args, { - cwd: this.projectDir, + cwd: projectDir, stdio: ['pipe', 'pipe', this.debug ? process.stderr : 'pipe'], env: { // The following environment variables can be overridden by the user. diff --git a/packages/migrate/src/__tests__/DbPull/__snapshots__/schema-folder.test.ts.snap b/packages/migrate/src/__tests__/DbPull/__snapshots__/schema-folder.test.ts.snap index 3a7411b41b34..88b49a65d44b 100644 --- a/packages/migrate/src/__tests__/DbPull/__snapshots__/schema-folder.test.ts.snap +++ b/packages/migrate/src/__tests__/DbPull/__snapshots__/schema-folder.test.ts.snap @@ -3,7 +3,7 @@ exports[`reintrospection - no changes 2`] = ` "Prisma schema loaded from prisma/schema -Datasource "my_db": SQLite database "dev.db" at "file:dev.db" +Datasource "my_db": SQLite database "dev.db" at "file:../dev.db" @@ -34,7 +34,7 @@ generator client { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } diff --git a/packages/migrate/src/__tests__/DbPull/schema-folder.test.ts b/packages/migrate/src/__tests__/DbPull/schema-folder.test.ts index 86b83c79a5c1..1e6e54cf34aa 100644 --- a/packages/migrate/src/__tests__/DbPull/schema-folder.test.ts +++ b/packages/migrate/src/__tests__/DbPull/schema-folder.test.ts @@ -55,7 +55,7 @@ test('reintrospection - no changes', async () => { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } @@ -95,7 +95,7 @@ test('reintrospection - new model', async () => { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } @@ -136,7 +136,7 @@ test('reintrospection - new model - existing introspected.prisma', async () => { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } @@ -184,7 +184,7 @@ test('reintrospection - new field', async () => { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } @@ -220,7 +220,7 @@ test('reintrospection - remove model', async () => { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } @@ -250,7 +250,7 @@ test('reintrospection - invalid schema with --force', async () => { datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } model Blog { diff --git a/packages/migrate/src/__tests__/DbPull/sqlite.test.ts b/packages/migrate/src/__tests__/DbPull/sqlite.test.ts index 79186cf8a0b0..b472ee8841ad 100644 --- a/packages/migrate/src/__tests__/DbPull/sqlite.test.ts +++ b/packages/migrate/src/__tests__/DbPull/sqlite.test.ts @@ -168,6 +168,47 @@ describe('common/sqlite', () => { `) }) + test('when both --url and --schema are used, --url is relative to schema', async () => { + ctx.fixture('empty-schema-db-subfolder') + const result = DbPull.new().parse(['--url=file:../db/dev.db', '--schema=schema/schema.prisma', '--print']) + await expect(result).resolves.toMatchInlineSnapshot(`""`) + expect(ctx.mocked['console.log'].mock.calls.join('\n').replace(/\d{2,3}ms/, 'XXms')).toMatchInlineSnapshot(`""`) + + expect(captureStdout.getCapturedText().join('\n')).toMatchInlineSnapshot(` + "datasource db { + provider = "sqlite" + url = "file:../db/dev.db" + } + + model Post { + authorId Int + content String? + createdAt DateTime @default(now()) + id Int @id @default(autoincrement()) + published Boolean @default(false) + title String + User User @relation(fields: [authorId], references: [id], onDelete: Cascade) + } + + model Profile { + bio String? + id Int @id @default(autoincrement()) + userId Int @unique(map: "Profile.userId") + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + } + + model User { + email String @unique(map: "User.email") + id Int @id @default(autoincrement()) + name String? + Post Post[] + Profile Profile? + } + + " + `) + }) + test('basic introspection with invalid --url - empty host', async () => { const introspect = new DbPull() const result = introspect.parse(['--print', '--url', 'postgresql://root:prisma@/prisma']) diff --git a/packages/migrate/src/__tests__/DbPush.test.ts b/packages/migrate/src/__tests__/DbPush.test.ts index 45f0ac1e4de5..ceede4d1eb9c 100644 --- a/packages/migrate/src/__tests__/DbPush.test.ts +++ b/packages/migrate/src/__tests__/DbPush.test.ts @@ -1,5 +1,4 @@ // describeIf is making eslint unhappy about the test names -/* eslint-disable jest/no-identical-title */ import { jestConsoleContext, jestContext } from '@prisma/get-platform' import path from 'path' @@ -113,9 +112,9 @@ describe('push', () => { await expect(result).resolves.toMatchInlineSnapshot(`""`) expect(removeRocketEmoji(captureStdout.getCapturedText().join(''))).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema - Datasource "my_db": SQLite database "dev.db" at "file:dev.db" + Datasource "my_db": SQLite database "dev.db" at "file:../dev.db" - SQLite database dev.db created at file:dev.db + SQLite database dev.db created at file:../dev.db Your database is now in sync with your Prisma schema. Done in XXXms " diff --git a/packages/migrate/src/__tests__/MigrateDev.test.ts b/packages/migrate/src/__tests__/MigrateDev.test.ts index 39c74a25a87c..333b2bc8a776 100644 --- a/packages/migrate/src/__tests__/MigrateDev.test.ts +++ b/packages/migrate/src/__tests__/MigrateDev.test.ts @@ -201,9 +201,9 @@ describe('sqlite', () => { expect(captureStdout.getCapturedText().join('')).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema - Datasource "my_db": SQLite database "dev.db" at "file:dev.db" + Datasource "my_db": SQLite database "dev.db" at "file:../dev.db" - SQLite database dev.db created at file:dev.db + SQLite database dev.db created at file:../dev.db Applying migration \`20201231000000_first\` diff --git a/packages/migrate/src/__tests__/MigrateResolve.test.ts b/packages/migrate/src/__tests__/MigrateResolve.test.ts index 65d7ce535218..d5f79e0522b2 100644 --- a/packages/migrate/src/__tests__/MigrateResolve.test.ts +++ b/packages/migrate/src/__tests__/MigrateResolve.test.ts @@ -122,7 +122,7 @@ describe('sqlite', () => { await expect(result).resolves.toMatchInlineSnapshot(`""`) expect(captureStdout.getCapturedText().join('')).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema - Datasource "my_db": SQLite database "dev.db" at "file:dev.db" + Datasource "my_db": SQLite database "dev.db" at "file:../dev.db" Migration 20201231000000_init marked as applied. " diff --git a/packages/migrate/src/__tests__/MigrateStatus.test.ts b/packages/migrate/src/__tests__/MigrateStatus.test.ts index 72248d0c24a0..1174fd2acd36 100644 --- a/packages/migrate/src/__tests__/MigrateStatus.test.ts +++ b/packages/migrate/src/__tests__/MigrateStatus.test.ts @@ -136,7 +136,7 @@ describe('sqlite', () => { expect(captureStdout.getCapturedText().join('')).toMatchInlineSnapshot(` "Prisma schema loaded from prisma/schema - Datasource "my_db": SQLite database "dev.db" at "file:dev.db" + Datasource "my_db": SQLite database "dev.db" at "file:../dev.db" 1 migration found in prisma/migrations diff --git a/packages/migrate/src/__tests__/ensureDatabaseExists.test.ts b/packages/migrate/src/__tests__/ensureDatabaseExists.test.ts index c6d155afe988..1e027f98a06b 100644 --- a/packages/migrate/src/__tests__/ensureDatabaseExists.test.ts +++ b/packages/migrate/src/__tests__/ensureDatabaseExists.test.ts @@ -16,7 +16,7 @@ it('can create database - sqlite - folder', async () => { ctx.fixture('schema-folder-sqlite') const { schemaPath } = (await getSchemaWithPath())! const result = ensureDatabaseExists('create', schemaPath) - await expect(result).resolves.toMatchInlineSnapshot(`"SQLite database dev.db created at file:dev.db"`) + await expect(result).resolves.toMatchInlineSnapshot(`"SQLite database dev.db created at file:../dev.db"`) }) // // Would need logic to be reproducible for testing other databases diff --git a/packages/migrate/src/__tests__/fixtures/empty-schema-db-subfolder/db/dev.db b/packages/migrate/src/__tests__/fixtures/empty-schema-db-subfolder/db/dev.db new file mode 100644 index 000000000000..0ec2d0fc8675 Binary files /dev/null and b/packages/migrate/src/__tests__/fixtures/empty-schema-db-subfolder/db/dev.db differ diff --git a/packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/db/schema.prisma b/packages/migrate/src/__tests__/fixtures/empty-schema-db-subfolder/schema/schema.prisma similarity index 100% rename from packages/internals/src/__tests__/__fixtures__/getSchema/pkg-json-workspace-parent/db/schema.prisma rename to packages/migrate/src/__tests__/fixtures/empty-schema-db-subfolder/schema/schema.prisma diff --git a/packages/migrate/src/__tests__/fixtures/introspect/tsconfig.json b/packages/migrate/src/__tests__/fixtures/introspect/tsconfig.json index c47266a1ed15..16f9504bb536 100644 --- a/packages/migrate/src/__tests__/fixtures/introspect/tsconfig.json +++ b/packages/migrate/src/__tests__/fixtures/introspect/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "target": "ES2021" /* Specify ECMAScript target version */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "strict": true /* Enable all strict type-checking options. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, diff --git a/packages/migrate/src/__tests__/fixtures/introspection-folder-invalid/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/introspection-folder-invalid/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/introspection-folder-invalid/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/introspection-folder-invalid/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/introspection-folder-new-field/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/introspection-folder-new-field/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/introspection-folder-new-field/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/introspection-folder-new-field/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model-with-introspected/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model-with-introspected/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model-with-introspected/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model-with-introspected/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/introspection-folder-new-model/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/introspection-folder-remove-model/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/introspection-folder-remove-model/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/introspection-folder-remove-model/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/introspection-folder-remove-model/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/introspection-folder/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/introspection-folder/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/introspection-folder/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/introspection-folder/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-db-exists/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-db-exists/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-db-exists/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-db-exists/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-migration-failed/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-migration-failed/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-migration-failed/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite-migration-failed/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite/prisma/schema/config.prisma b/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite/prisma/schema/config.prisma index 4d0587fcd545..336cdef99acc 100644 --- a/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite/prisma/schema/config.prisma +++ b/packages/migrate/src/__tests__/fixtures/schema-folder-sqlite/prisma/schema/config.prisma @@ -1,6 +1,6 @@ datasource my_db { provider = "sqlite" - url = "file:dev.db" + url = "file:../dev.db" } generator client { diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-custom-ts-node/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-custom-ts-node/package.json index 34e153f6fdfe..433c38b1a691 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-custom-ts-node/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-custom-ts-node/package.json @@ -6,6 +6,6 @@ }, "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" } } diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-js-extra-args/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-js-extra-args/package.json index e70b58395af3..c97e1224bfc6 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-js-extra-args/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-js-extra-args/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" }, "prisma": { "seed": "node prisma/seed.js --my-custom-arg-from-config-1 my-value --my-custom-arg-from-config-2=my-value -y" diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-js/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-js/package.json index cf192500865e..c8f6b1fc1433 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-js/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-js/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" }, "prisma": { "seed": "node prisma/seed.js" diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy-custom-ts-node/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy-custom-ts-node/package.json index 34e153f6fdfe..433c38b1a691 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy-custom-ts-node/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy-custom-ts-node/package.json @@ -6,6 +6,6 @@ }, "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" } } diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy/package.json index 9be088210e66..c688093acea7 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-legacy/package.json @@ -3,6 +3,6 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" } } diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-sh/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-sh/package.json index 8aec006a2ca3..5403420adc97 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-sh/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-sh/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" }, "prisma": { "seed": "./prisma/seed.sh" diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts-esm/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts-esm/package.json index 9843b275cad4..fa8d1208c5b2 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts-esm/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts-esm/package.json @@ -4,7 +4,7 @@ "license": "MIT", "type": "module", "devDependencies": { - "@types/node": "16.18.96", + "@types/node": "18.11.9", "ts-node": "10.9.2", "typescript": "5.4.5" }, diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts/package.json index bdf08db27aeb..e278da9a5aa7 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite-ts/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" }, "prisma": { "seed": "ts-node prisma/seed.ts" diff --git a/packages/migrate/src/__tests__/fixtures/seed-sqlite/package.json b/packages/migrate/src/__tests__/fixtures/seed-sqlite/package.json index 9be088210e66..c688093acea7 100644 --- a/packages/migrate/src/__tests__/fixtures/seed-sqlite/package.json +++ b/packages/migrate/src/__tests__/fixtures/seed-sqlite/package.json @@ -3,6 +3,6 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@types/node": "16.18.96" + "@types/node": "18.11.9" } } diff --git a/packages/migrate/src/__tests__/handlePanic.migrate.test.ts b/packages/migrate/src/__tests__/handlePanic.migrate.test.ts index 185c87669929..bd35ef88d842 100644 --- a/packages/migrate/src/__tests__/handlePanic.migrate.test.ts +++ b/packages/migrate/src/__tests__/handlePanic.migrate.test.ts @@ -1,4 +1,4 @@ -import { handlePanic, isCi, RustPanic } from '@prisma/internals' +import { handlePanic, isCi, RustPanic, toSchemasContainer } from '@prisma/internals' import fs from 'fs' import { ensureDir } from 'fs-extra' import { stdin } from 'mock-stdin' @@ -33,7 +33,7 @@ const oldProcessCwd = process.cwd async function writeFiles( root: string, files: { - [name: string]: any // eslint-disable-line @typescript-eslint/no-explicit-any + [name: string]: any }, ): Promise { for (const name in files) { @@ -79,7 +79,6 @@ describe('handlePanic migrate', () => { datasource my_db { provider = "sqlite" url = "file:./db/db_file.db" - default = true } model User { @@ -100,7 +99,7 @@ describe('handlePanic migrate', () => { migrationsDirectoryPath: migrate.migrationsDirectoryPath!, migrationName: 'setup', draft: false, - prismaSchema: migrate.getPrismaSchema(), + schema: toSchemasContainer((await migrate.getPrismaSchema()).schemas), }) } catch (err) { // No to send error report @@ -143,7 +142,6 @@ describe('handlePanic migrate', () => { datasource my_db { provider = "sqlite" url = "file:./db/db_file.db" - default = true } model User { @@ -161,7 +159,7 @@ describe('handlePanic migrate', () => { migrationsDirectoryPath: migrate.migrationsDirectoryPath!, migrationName: 'setup', draft: false, - prismaSchema: migrate.getPrismaSchema(), + schema: toSchemasContainer((await migrate.getPrismaSchema()).schemas), }) } catch (e) { const error = e as RustPanic diff --git a/packages/migrate/src/__tests__/utils/unixSocket.test.ts b/packages/migrate/src/__tests__/utils/unixSocket.test.ts new file mode 100644 index 000000000000..175737099feb --- /dev/null +++ b/packages/migrate/src/__tests__/utils/unixSocket.test.ts @@ -0,0 +1,79 @@ +import { getSocketFromDatabaseCredentials } from '../../utils/unixSocket' + +describe('utils', () => { + describe('unixSocket', () => { + it('detects absolute paths', () => { + expect( + getSocketFromDatabaseCredentials({ + type: 'mysql', + host: 'localhost', + port: 3306, + socket: '/var/run/my-instance.sock', + }), + ).toBe('/var/run/my-instance.sock') + }) + + it('detects relative paths', () => { + expect( + getSocketFromDatabaseCredentials({ + type: 'mysql', + host: 'localhost', + port: 3306, + socket: './my-instance.sock', + }), + ).toBe('./my-instance.sock') + + expect( + getSocketFromDatabaseCredentials({ + type: 'mysql', + host: 'localhost', + port: 3306, + socket: '../my-instance.sock', + }), + ).toBe('../my-instance.sock') + }) + + it('detects a socket path provided as host for postresql', () => { + expect( + getSocketFromDatabaseCredentials({ + type: 'postgresql', + host: '/var/run/my-instance.sock', + }), + ).toBe('/var/run/my-instance.sock') + }) + + it('does not confuse a host as a socket', () => { + expect( + getSocketFromDatabaseCredentials({ + type: 'postgresql', + host: 'localhost', + port: 5432, + }), + ).toBe(null) + + expect( + getSocketFromDatabaseCredentials({ + type: 'postgresql', + host: 'my.very_long.domain-001.name', + port: 5432, + }), + ).toBe(null) + + expect( + getSocketFromDatabaseCredentials({ + type: 'postgresql', + host: '111.222.333.444', + port: 5432, + }), + ).toBe(null) + + expect( + getSocketFromDatabaseCredentials({ + type: 'postgresql', + host: '0000:1111:2222:3333:4444:5555:6666:7777', + port: 5432, + }), + ).toBe(null) + }) + }) +}) diff --git a/packages/migrate/src/commands/DbDrop.ts b/packages/migrate/src/commands/DbDrop.ts index e05cfa15d0d3..7e8d27bcedde 100644 --- a/packages/migrate/src/commands/DbDrop.ts +++ b/packages/migrate/src/commands/DbDrop.ts @@ -5,7 +5,6 @@ import { Command, dropDatabase, format, - getSchemaDir, HelpError, isError, link, @@ -88,8 +87,6 @@ ${bold('Examples')} const datasourceInfo = await getDatasourceInfo({ schemaPath, throwIfEnvError: true }) printDatasource({ datasourceInfo }) - const schemaDir = (await getSchemaDir(schemaPath))! - process.stdout.write('\n') // empty line if (!args['--force']) { @@ -116,7 +113,7 @@ ${bold('Examples')} } // Url exists because we set `throwIfEnvErrors: true` in `getDatasourceInfo` - if (await dropDatabase(datasourceInfo.url!, schemaDir)) { + if (await dropDatabase(datasourceInfo.url!, datasourceInfo.configDir!)) { return `${process.platform === 'win32' ? '' : '🚀 '}The ${datasourceInfo.prettyProvider} database "${ datasourceInfo.dbName }" from "${datasourceInfo.dbLocation}" was successfully dropped.\n` diff --git a/packages/migrate/src/commands/DbExecute.ts b/packages/migrate/src/commands/DbExecute.ts index a645780ce9f8..63729648980d 100644 --- a/packages/migrate/src/commands/DbExecute.ts +++ b/packages/migrate/src/commands/DbExecute.ts @@ -4,6 +4,7 @@ import { Command, format, getCommandWithExecutor, + getConfig, getSchemaWithPath, HelpError, isError, @@ -166,11 +167,12 @@ See \`${green(getCommandWithExecutor('prisma db execute -h'))}\``, // validate that schema file exists // throws an error if it doesn't const schemaWithPath = (await getSchemaWithPath(args['--schema']))! + const config = await getConfig({ datamodel: schemaWithPath.schemas }) // Execute command(s) to url from schema datasourceType = { tag: 'schema', - ...toSchemasWithConfigDir(schemaWithPath), + ...toSchemasWithConfigDir(schemaWithPath, config), } } diff --git a/packages/migrate/src/commands/DbPull.ts b/packages/migrate/src/commands/DbPull.ts index 623fcdd226af..098f64310841 100644 --- a/packages/migrate/src/commands/DbPull.ts +++ b/packages/migrate/src/commands/DbPull.ts @@ -299,7 +299,6 @@ Some information will be lost (relations, comments, mapped fields, @ignore...), } const engine = new SchemaEngine({ - projectDir: schemaPath ? path.dirname(schemaPath) : process.cwd(), schemaPath: schemaPath ?? undefined, }) diff --git a/packages/migrate/src/commands/DbPush.ts b/packages/migrate/src/commands/DbPush.ts index c21f43a482b4..58e65709d28b 100644 --- a/packages/migrate/src/commands/DbPush.ts +++ b/packages/migrate/src/commands/DbPush.ts @@ -262,7 +262,7 @@ ${bold(red('All data will be lost.'))} // Run if not skipped if (!process.env.PRISMA_MIGRATE_SKIP_GENERATE && !args['--skip-generate']) { - await migrate.tryToRunGenerate() + await migrate.tryToRunGenerate(datasourceInfo) } return `` diff --git a/packages/migrate/src/commands/MigrateDev.ts b/packages/migrate/src/commands/MigrateDev.ts index 0f899b22b903..f6c0d9e0ed35 100644 --- a/packages/migrate/src/commands/MigrateDev.ts +++ b/packages/migrate/src/commands/MigrateDev.ts @@ -298,7 +298,7 @@ ${green('Your database is now in sync with your schema.')}\n`, // Run if not skipped if (!process.env.PRISMA_MIGRATE_SKIP_GENERATE && !args['--skip-generate']) { - await migrate.tryToRunGenerate() + await migrate.tryToRunGenerate(datasourceInfo) process.stdout.write('\n') // empty line } diff --git a/packages/migrate/src/commands/MigrateDiff.ts b/packages/migrate/src/commands/MigrateDiff.ts index 68f7b53b8149..937d65b68772 100644 --- a/packages/migrate/src/commands/MigrateDiff.ts +++ b/packages/migrate/src/commands/MigrateDiff.ts @@ -4,6 +4,7 @@ import { checkUnsupportedDataProxy, Command, format, + getConfig, HelpError, isError, link, @@ -229,9 +230,10 @@ ${bold('Examples')} const schema = await getSchemaWithPath(path.resolve(args['--from-schema-datasource']), { argumentName: '--from-schema-datasource', }) + const config = await getConfig({ datamodel: schema.schemas }) from = { tag: 'schemaDatasource', - ...toSchemasWithConfigDir(schema), + ...toSchemasWithConfigDir(schema, config), } } else if (args['--from-schema-datamodel']) { const schema = await getSchemaWithPath(path.resolve(args['--from-schema-datamodel']), { @@ -270,9 +272,10 @@ ${bold('Examples')} const schema = await getSchemaWithPath(path.resolve(args['--to-schema-datasource']), { argumentName: '--to-schema-datasource', }) + const config = await getConfig({ datamodel: schema.schemas }) to = { tag: 'schemaDatasource', - ...toSchemasWithConfigDir(schema), + ...toSchemasWithConfigDir(schema, config), } } else if (args['--to-schema-datamodel']) { const schema = await getSchemaWithPath(path.resolve(args['--to-schema-datamodel']), { diff --git a/packages/migrate/src/commands/MigrateReset.ts b/packages/migrate/src/commands/MigrateReset.ts index a5f8814e0fae..0b2a7e4460fd 100644 --- a/packages/migrate/src/commands/MigrateReset.ts +++ b/packages/migrate/src/commands/MigrateReset.ts @@ -77,8 +77,8 @@ ${bold('Examples')} await loadEnvFile({ schemaPath: args['--schema'], printMessage: true }) const { schemaPath } = (await getSchemaPathAndPrint(args['--schema']))! - - printDatasource({ datasourceInfo: await getDatasourceInfo({ schemaPath }) }) + const datasourceInfo = await getDatasourceInfo({ schemaPath }) + printDatasource({ datasourceInfo }) // Automatically create the database if it doesn't exist const wasDbCreated = await ensureDatabaseExists('create', schemaPath) @@ -135,7 +135,7 @@ The following migration(s) have been applied:\n\n${printFilesFromMigrationIds('m // Run if not skipped if (!process.env.PRISMA_MIGRATE_SKIP_GENERATE && !args['--skip-generate']) { - await migrate.tryToRunGenerate() + await migrate.tryToRunGenerate(datasourceInfo) } // Run if not skipped diff --git a/packages/migrate/src/index.ts b/packages/migrate/src/index.ts index 2ec17f181535..6ac3110eb05c 100644 --- a/packages/migrate/src/index.ts +++ b/packages/migrate/src/index.ts @@ -17,3 +17,9 @@ export * from './types' export { default as byline } from './utils/byline' export { getDatabaseVersionSafe } from './utils/getDatabaseVersionSafe' export { getSchemaPathAndPrint, printSchemaLoadedMessage } from './utils/getSchemaPathAndPrint' +export { + introspectSql, + type IntrospectSqlError, + type IntrospectSqlInput, + type IntrospectSqlResult, +} from './utils/introspectSql' diff --git a/packages/migrate/src/types.ts b/packages/migrate/src/types.ts index eccc57dcc2c4..74fbba45fa61 100644 --- a/packages/migrate/src/types.ts +++ b/packages/migrate/src/types.ts @@ -3,6 +3,7 @@ // // https://www.jsonrpc.org/specification +import type { SqlQueryOutput } from '@prisma/generator-helper' import type { MigrateTypes } from '@prisma/internals' import type { IntrospectionViewDefinition } from './views/handleViewsIO' @@ -216,6 +217,16 @@ export namespace EngineArgs { schema: MigrateTypes.SchemasContainer force: boolean } + + export interface IntrospectSqlParams { + url: string + queries: SqlQueryInput[] + } + + export interface SqlQueryInput { + name: string + source: string + } } // eslint-disable-next-line @typescript-eslint/no-namespace @@ -283,6 +294,10 @@ export namespace EngineResults { warnings: string[] unexecutable: string[] } + + export interface IntrospectSqlOutput { + queries: SqlQueryOutput[] + } } export interface FileMap { diff --git a/packages/migrate/src/utils/ensureDatabaseExists.ts b/packages/migrate/src/utils/ensureDatabaseExists.ts index 9403f95ee252..342ac7812db8 100644 --- a/packages/migrate/src/utils/ensureDatabaseExists.ts +++ b/packages/migrate/src/utils/ensureDatabaseExists.ts @@ -4,16 +4,25 @@ import { createDatabase, getConfig, getEffectiveUrl, + getMigrateConfigDir, getSchema, - getSchemaDir, + PRISMA_POSTGRES_PROVIDER, uriToCredentials, } from '@prisma/internals' import { bold } from 'kleur/colors' import { ConnectorType } from './printDatasources' +import { getSocketFromDatabaseCredentials } from './unixSocket' export type MigrateAction = 'create' | 'apply' | 'unapply' | 'dev' | 'push' -export type PrettyProvider = 'MySQL' | 'PostgreSQL' | 'SQLite' | 'SQL Server' | 'CockroachDB' | 'MongoDB' +export type PrettyProvider = + | 'MySQL' + | 'PostgreSQL' + | 'Prisma Postgres' + | 'SQLite' + | 'SQL Server' + | 'CockroachDB' + | 'MongoDB' // TODO: extract functions in their own files? @@ -25,6 +34,7 @@ export type DatasourceInfo = { dbName?: string // database name schema?: string // database schema (!= multiSchema, can be found in the connection string like `?schema=myschema`) schemas?: string[] // database schemas from the datasource (multiSchema preview feature) + configDir?: string } // TODO: sometimes this function is called with a `schemaPath`, even though the schema(s) have already been read from disk. @@ -60,6 +70,7 @@ export async function getDatasourceInfo({ url: undefined, schema: undefined, schemas: undefined, + configDir: undefined, } } @@ -76,6 +87,7 @@ export async function getDatasourceInfo({ url: url || undefined, schema: undefined, schemas: firstDatasource.schemas, + configDir: getMigrateConfigDir(config, schemaPath), } } @@ -100,6 +112,7 @@ export async function getDatasourceInfo({ url, schema, schemas: firstDatasource.schemas, + configDir: getMigrateConfigDir(config, schemaPath), } // Default to `postgres` database name for PostgreSQL @@ -118,6 +131,7 @@ export async function getDatasourceInfo({ url, schema: undefined, schemas: firstDatasource.schemas, + configDir: getMigrateConfigDir(config, schemaPath), } } } @@ -134,7 +148,7 @@ export async function ensureCanConnectToDatabase(schemaPath?: string): Promise { + const schema = await getSchemaWithPath(schemaPath) + const config = await getConfig({ datamodel: schema.schemas }) + if (!supportedProviders.includes(config.datasources?.[0]?.activeProvider)) { + throw new Error(`Typed SQL is supported only for ${supportedProviders.join(', ')} providers`) + } + if (!isTypedSqlEnabled(config)) { + throw new Error(`\`typedSql\` preview feature needs to be enabled in ${schema.schemaPath}`) + } + + const firstDatasource = config.datasources[0] + if (!firstDatasource) { + throw new Error(`Could not find datasource in schema ${schema.schemaPath}`) + } + const url = getEffectiveUrl(firstDatasource).value + if (!url) { + throw new Error(`Could not get url from datasource ${firstDatasource.name} in ${schema.schemaPath}`) + } + + const schemaEngine = new SchemaEngine({ schemaPath: schema.schemaPath }) + const results: SqlQueryOutput[] = [] + const errors: IntrospectSqlError[] = [] + try { + for (const query of queries) { + const queryResult = await introspectSingleQuery(schemaEngine, url, query) + if (queryResult.ok) { + results.push(queryResult.result) + } else { + errors.push(queryResult.error) + } + } + } finally { + schemaEngine.stop() + } + + if (errors.length > 0) { + return { ok: false, errors } + } + return { ok: true, queries: results } +} + +// engine is capabale of introspecting queries as a batch, but we need to map them back to files they defined in, so, +// for now, we sending them in one by one +async function introspectSingleQuery( + schemaEngine: SchemaEngine, + url: string, + query: IntrospectSqlInput, +): Promise { + try { + const result = await schemaEngine.introspectSql({ + url, + queries: [query], + }) + const queryResult = result.queries[0] + if (!queryResult) { + return { + ok: false, + error: { + fileName: query.fileName, + message: 'Invalid response from schema engine', + }, + } + } + return { + ok: true, + result: queryResult, + } + } catch (error) { + return { + ok: false, + error: { + fileName: query.fileName, + message: String(error), + }, + } + } +} + +function isTypedSqlEnabled(config: ConfigMetaFormat) { + return config.generators.some((gen) => gen?.previewFeatures?.includes('typedSql')) +} diff --git a/packages/migrate/src/utils/printDatasources.ts b/packages/migrate/src/utils/printDatasources.ts index 00db572178b8..c01ec039f974 100644 --- a/packages/migrate/src/utils/printDatasources.ts +++ b/packages/migrate/src/utils/printDatasources.ts @@ -1,7 +1,8 @@ // This is copied from prisma-client-js/runtime/utils. It needs to be moved into a separate package +import type { ConnectorType } from '@prisma/generator-helper' import indent from 'indent-string' -export type ConnectorType = 'mysql' | 'mongodb' | 'sqlite' | 'postgresql' | 'postgres' | 'sqlserver' | 'cockroachdb' +export type { ConnectorType } export interface GeneratorConfig { name: string diff --git a/packages/migrate/src/utils/seed.ts b/packages/migrate/src/utils/seed.ts index 9cadc18ccf45..4226ff02ee68 100644 --- a/packages/migrate/src/utils/seed.ts +++ b/packages/migrate/src/utils/seed.ts @@ -2,7 +2,6 @@ import Debug from '@prisma/debug' import { getPrismaConfigFromPackageJson, link, logger } from '@prisma/internals' import execa from 'execa' import fs from 'fs' -import hasYarn from 'has-yarn' import { bold, green, italic, red, yellow } from 'kleur/colors' import path from 'path' import pkgUp from 'pkg-up' @@ -27,7 +26,7 @@ export async function verifySeedConfigAndReturnMessage(schemaPath: string | null } // If new "seed" config is not set, help user to set it - const packageManager = hasYarn() ? 'yarn add -D' : 'npm i -D' + const packageManager = 'npm i -D' let message = `${red( 'To configure seeding in your project you need to add a "prisma.seed" property in your package.json with the command to execute it:', diff --git a/packages/migrate/src/utils/unixSocket.ts b/packages/migrate/src/utils/unixSocket.ts new file mode 100644 index 000000000000..0efdac544b9b --- /dev/null +++ b/packages/migrate/src/utils/unixSocket.ts @@ -0,0 +1,33 @@ +import { DatabaseCredentials } from '@prisma/internals' + +/** + * match a string that looks like a unix file path + * implicit relative paths are ignored due to their ambiguity with hostnames + * (.e.g my-database-socket can both be a hostname and a file path missing the ./ prefix) + * + * example 1: an explicit relative path in the same directory + * ./sockets/my-database-socket + * + * example 2: an explicit relative path in a parent directory + * ../sockets/my-database-socket + * + * example 3: an absolute path + * /sockets/my-database-socket + * + * ? for more info: https://regex101.com/r/p9md3l/1 + */ +const simpleUnixPathPattern = /^\.{0,2}\// + +export function getSocketFromDatabaseCredentials(credentials: DatabaseCredentials): string | null { + if (['postgres', 'postgresql', 'cockroachdb'].includes(credentials.type)) { + const host = credentials.host + + if (typeof host === 'string' && simpleUnixPathPattern.test(host)) { + return host + } + + return null + } + + return credentials.socket ?? null +} diff --git a/packages/nextjs-monorepo-workaround-plugin/package.json b/packages/nextjs-monorepo-workaround-plugin/package.json index ab6e16d36949..a0db77dce398 100644 --- a/packages/nextjs-monorepo-workaround-plugin/package.json +++ b/packages/nextjs-monorepo-workaround-plugin/package.json @@ -28,6 +28,6 @@ "homepage": "https://www.prisma.io", "bugs": "https://github.com/prisma/prisma/issues", "devDependencies": { - "webpack": "5.91.0" + "webpack": "5.92.1" } } diff --git a/packages/pg-worker/package.json b/packages/pg-worker/package.json index 4175a1dcc4e7..5dfa85e2fe4a 100644 --- a/packages/pg-worker/package.json +++ b/packages/pg-worker/package.json @@ -15,11 +15,11 @@ }, "bugs": "https://github.com/prisma/prisma/issues", "devDependencies": { - "@types/jest": "29.5.12", + "@types/jest": "29.5.14", "@types/node": "18.19.31", "pg": "8.11.5", "pg-cloudflare": "1.1.1", - "esbuild": "0.21.4", + "esbuild": "0.24.2", "jest": "29.7.0", "jest-junit": "16.0.0", "typescript": "5.4.5" diff --git a/packages/schema-files-loader/package.json b/packages/schema-files-loader/package.json index eb39d459f880..f31f9b4e9237 100644 --- a/packages/schema-files-loader/package.json +++ b/packages/schema-files-loader/package.json @@ -22,7 +22,7 @@ ], "sideEffects": false, "dependencies": { - "@prisma/prisma-schema-wasm": "5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1", + "@prisma/prisma-schema-wasm": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "fs-extra": "11.1.1" }, "devDependencies": { diff --git a/packages/schema-files-loader/src/__fixtures__/empty-schema/schema.prisma b/packages/schema-files-loader/src/__fixtures__/empty-schema/schema.prisma new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/schema-files-loader/src/loadRelatedSchemaFiles.test.ts b/packages/schema-files-loader/src/loadRelatedSchemaFiles.test.ts index 5a0cd3ddfae8..9413562ce94e 100644 --- a/packages/schema-files-loader/src/loadRelatedSchemaFiles.test.ts +++ b/packages/schema-files-loader/src/loadRelatedSchemaFiles.test.ts @@ -33,3 +33,9 @@ test('invalid schema and feature enabled', async () => { loadedFile('related-feature-invalid-schema', 'b.prisma'), ]) }) + +test('empty prisma schema should load', async () => { + const files = await loadRelatedSchemaFiles(fixturePath('empty-schema', 'schema.prisma')) + + expect(files).toEqual([loadedFile('empty-schema', 'schema.prisma')]) +}) diff --git a/packages/schema-files-loader/src/loadRelatedSchemaFiles.ts b/packages/schema-files-loader/src/loadRelatedSchemaFiles.ts index 7cba4dcb3e6f..fad5759fe249 100644 --- a/packages/schema-files-loader/src/loadRelatedSchemaFiles.ts +++ b/packages/schema-files-loader/src/loadRelatedSchemaFiles.ts @@ -31,7 +31,7 @@ export async function loadRelatedSchemaFiles( async function singleFile(filePath: string, filesResolver: FilesResolver): Promise { const contents = await filesResolver.getFileContents(filePath) - if (!contents) { + if (contents === undefined) { return [] } return [[filePath, contents]] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6afb95b1af9..62d867773473 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: false @@ -9,17 +9,17 @@ importers: .: devDependencies: '@eslint/compat': - specifier: 1.0.3 - version: 1.0.3 + specifier: 1.2.5 + version: 1.2.5(eslint@9.5.0) '@eslint/eslintrc': specifier: 3.1.0 version: 3.1.0 '@eslint/js': - specifier: 9.4.0 - version: 9.4.0 + specifier: 9.5.0 + version: 9.5.0 '@microsoft/api-extractor': - specifier: 7.47.0 - version: 7.47.0(@types/node@20.12.7) + specifier: 7.48.1 + version: 7.48.1(@types/node@20.12.7) '@prisma/engines': specifier: workspace:* version: link:packages/engines @@ -30,8 +30,8 @@ importers: specifier: 9.0.0 version: 9.0.0(size-limit@9.0.0) '@slack/webhook': - specifier: 7.0.2 - version: 7.0.2 + specifier: 7.0.4 + version: 7.0.4 '@types/benchmark': specifier: 2.1.5 version: 2.1.5 @@ -42,8 +42,8 @@ importers: specifier: 0.0.39 version: 0.0.39 '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 20.12.7 version: 20.12.7 @@ -54,14 +54,14 @@ importers: specifier: 1.20.6 version: 1.20.6 '@typescript-eslint/eslint-plugin': - specifier: 7.13.0 - version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@9.4.0)(typescript@5.4.5) + specifier: 7.15.0 + version: 7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: 7.13.0 - version: 7.13.0(eslint@9.4.0)(typescript@5.4.5) + specifier: 7.15.0 + version: 7.15.0(eslint@9.5.0)(typescript@5.4.5) '@typescript-eslint/utils': - specifier: 7.13.0 - version: 7.13.0(eslint@9.4.0)(typescript@5.4.5) + specifier: 7.15.0 + version: 7.15.0(eslint@9.5.0)(typescript@5.4.5) arg: specifier: 5.0.2 version: 5.0.2 @@ -78,38 +78,38 @@ importers: specifier: 2.5.1 version: 2.5.1 dotenv-cli: - specifier: 7.4.2 - version: 7.4.2 + specifier: 7.4.4 + version: 7.4.4 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 esbuild-register: - specifier: 3.5.0 - version: 3.5.0(esbuild@0.21.4) + specifier: 3.6.0 + version: 3.6.0(esbuild@0.24.2) eslint: - specifier: 9.4.0 - version: 9.4.0 + specifier: 9.5.0 + version: 9.5.0 eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@9.4.0) + version: 9.1.0(eslint@9.5.0) eslint-plugin-eslint-comments: specifier: 3.2.0 - version: 3.2.0(eslint@9.4.0) + version: 3.2.0(eslint@9.5.0) eslint-plugin-import: specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.13.0)(eslint@9.4.0) + version: 2.29.1(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0) eslint-plugin-jest: - specifier: 28.5.0 - version: 28.5.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@9.4.0)(typescript@5.4.5) + specifier: 28.10.0 + version: 28.10.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5) eslint-plugin-local-rules: specifier: 2.0.1 version: 2.0.1 eslint-plugin-prettier: specifier: 4.2.1 - version: 4.2.1(eslint-config-prettier@9.1.0)(eslint@9.4.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@9.1.0(eslint@9.5.0))(eslint@9.5.0)(prettier@2.8.8) eslint-plugin-simple-import-sort: - specifier: 12.1.0 - version: 12.1.0(eslint@9.4.0) + specifier: 12.1.1 + version: 12.1.1(eslint@9.5.0) execa: specifier: 5.1.1 version: 5.1.1 @@ -120,8 +120,8 @@ importers: specifier: 11.1.1 version: 11.1.1 globals: - specifier: 15.4.0 - version: 15.4.0 + specifier: 15.13.0 + version: 15.13.0 globby: specifier: 11.1.0 version: 11.1.0 @@ -129,11 +129,11 @@ importers: specifier: 0.0.9 version: 0.0.9 husky: - specifier: 9.0.11 - version: 9.0.11 + specifier: 9.1.7 + version: 9.1.7 is-ci: - specifier: 3.0.1 - version: 3.0.1 + specifier: 4.1.0 + version: 4.1.0 jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -141,8 +141,8 @@ importers: specifier: 4.1.5 version: 4.1.5 lint-staged: - specifier: 15.2.5 - version: 15.2.5 + specifier: 15.2.10 + version: 15.2.10 p-map: specifier: 4.0.0 version: 4.0.0 @@ -165,14 +165,14 @@ importers: specifier: 0.14.1 version: 0.14.1 resolve: - specifier: 1.22.8 - version: 1.22.8 + specifier: 1.22.10 + version: 1.22.10 safe-buffer: specifier: 5.2.1 version: 5.2.1 semver: - specifier: 7.6.2 - version: 7.6.2 + specifier: 7.6.3 + version: 7.6.3 size-limit: specifier: 9.0.0 version: 9.0.0 @@ -180,20 +180,20 @@ importers: specifier: 2.5.0 version: 2.5.0 spdx-license-ids: - specifier: 3.0.18 - version: 3.0.18 + specifier: 3.0.21 + version: 3.0.21 staged-git-files: specifier: 1.3.0 version: 1.3.0 ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5) ts-toolbelt: specifier: 9.6.0 version: 9.6.0 tsx: - specifier: 4.15.1 - version: 4.15.1 + specifier: 4.15.6 + version: 4.15.6 typescript: specifier: 5.4.5 version: 5.4.5 @@ -210,8 +210,8 @@ importers: packages/adapter-d1: dependencies: '@cloudflare/workers-types': - specifier: 4.20240605.0 - version: 4.20240605.0 + specifier: 4.20240614.0 + version: 4.20240614.0 '@prisma/driver-adapter-utils': specifier: workspace:* version: link:../driver-adapter-utils @@ -226,8 +226,8 @@ importers: version: 0.5.0 devDependencies: '@libsql/client': - specifier: 0.6.2 - version: 0.6.2 + specifier: 0.8.0 + version: 0.8.0 packages/adapter-neon: dependencies: @@ -239,17 +239,17 @@ importers: version: 3.0.2 devDependencies: '@neondatabase/serverless': - specifier: 0.9.3 - version: 0.9.3 + specifier: 0.10.2 + version: 0.10.2 '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -264,17 +264,17 @@ importers: version: 3.0.2 devDependencies: '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/pg': specifier: 8.11.6 version: 8.11.6 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -295,14 +295,14 @@ importers: specifier: workspace:* version: link:../pg-worker '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -317,29 +317,29 @@ importers: specifier: 1.18.0 version: 1.18.0 '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 undici: - specifier: 5.28.4 - version: 5.28.4 + specifier: 7.2.3 + version: 7.2.3 packages/bundle-size: dependencies: '@libsql/client': - specifier: 0.6.2 - version: 0.6.2 + specifier: 0.8.0 + version: 0.8.0 '@neondatabase/serverless': - specifier: 0.9.3 - version: 0.9.3 + specifier: 0.10.2 + version: 0.10.2 '@planetscale/database': specifier: 1.18.0 version: 1.18.0 @@ -374,17 +374,17 @@ importers: specifier: workspace:* version: link:../cli wrangler: - specifier: 3.60.0 - version: 3.60.0(@cloudflare/workers-types@4.20240605.0) + specifier: 3.91.0 + version: 3.91.0(@cloudflare/workers-types@4.20240614.0) packages/bundled-js-drivers: dependencies: '@libsql/client': - specifier: 0.6.2 - version: 0.6.2 + specifier: 0.8.0 + version: 0.8.0 '@neondatabase/serverless': - specifier: 0.9.3 - version: 0.9.3 + specifier: 0.10.2 + version: 0.10.2 '@planetscale/database': specifier: 1.18.0 version: 1.18.0 @@ -400,7 +400,17 @@ importers: '@prisma/engines': specifier: workspace:* version: link:../engines + optionalDependencies: + fsevents: + specifier: 2.3.3 + version: 2.3.3 devDependencies: + '@antfu/ni': + specifier: 0.21.12 + version: 0.21.12 + '@inquirer/prompts': + specifier: 5.0.5 + version: 5.0.5 '@prisma/client': specifier: workspace:* version: link:../client @@ -426,17 +436,17 @@ importers: specifier: 0.9.5 version: 0.9.5 '@prisma/studio': - specifier: 0.501.0 - version: 0.501.0 + specifier: 0.505.0 + version: 0.505.0 '@prisma/studio-server': - specifier: 0.501.0 - version: 0.501.0(@prisma/client@packages+client)(@prisma/internals@packages+internals) + specifier: 0.505.0 + version: 0.505.0(@prisma/client@packages+client)(@prisma/internals@packages+internals)(encoding@0.1.13) '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/debug': specifier: 4.1.12 version: 4.1.12 @@ -444,8 +454,8 @@ importers: specifier: 9.0.13 version: 9.0.13 '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 @@ -457,22 +467,25 @@ importers: version: 3.0.1 checkpoint-client: specifier: 1.1.33 - version: 1.1.33 + version: 1.1.33(encoding@0.1.13) + chokidar: + specifier: 3.6.0 + version: 3.6.0 debug: - specifier: 4.3.5 - version: 4.3.5 + specifier: 4.3.7 + version: 4.3.7 dotenv: - specifier: 16.0.3 - version: 16.0.3 + specifier: 16.4.7 + version: 16.4.7 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 execa: specifier: 5.1.1 version: 5.1.1 fast-glob: - specifier: 3.3.2 - version: 3.3.2 + specifier: 3.3.3 + version: 3.3.3 fs-extra: specifier: 11.1.1 version: 11.1.1 @@ -487,7 +500,7 @@ importers: version: 4.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -522,8 +535,8 @@ importers: specifier: 6.0.1 version: 6.0.1 ts-pattern: - specifier: 5.1.2 - version: 5.1.2 + specifier: 5.6.2 + version: 5.6.2 typescript: specifier: 5.4.5 version: 5.4.5 @@ -537,17 +550,17 @@ importers: packages/client: devDependencies: '@cloudflare/workers-types': - specifier: 4.20240605.0 - version: 4.20240605.0 + specifier: 4.20240614.0 + version: 4.20240614.0 '@codspeed/benchmark.js-plugin': - specifier: 3.1.0 - version: 3.1.0(benchmark@2.1.4) + specifier: 3.1.1 + version: 3.1.1(benchmark@2.1.4) '@faker-js/faker': specifier: 8.4.1 version: 8.4.1 '@fast-check/jest': - specifier: 1.8.2 - version: 1.8.2(@jest/globals@29.7.0) + specifier: 2.0.3 + version: 2.0.3(@jest/expect@29.7.0)(@jest/globals@29.7.0) '@inquirer/prompts': specifier: 5.0.5 version: 5.0.5 @@ -561,29 +574,29 @@ importers: specifier: 29.7.0 version: 29.7.0 '@libsql/client': - specifier: 0.6.2 - version: 0.6.2 + specifier: 0.8.0 + version: 0.8.0 '@neondatabase/serverless': - specifier: 0.9.3 - version: 0.9.3 + specifier: 0.10.2 + version: 0.10.2 '@opentelemetry/api': - specifier: 1.8.0 - version: 1.8.0 + specifier: 1.9.0 + version: 1.9.0 '@opentelemetry/context-async-hooks': - specifier: 1.24.1 - version: 1.24.1(@opentelemetry/api@1.8.0) + specifier: 1.29.0 + version: 1.29.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': - specifier: 0.51.1 - version: 0.51.1(@opentelemetry/api@1.8.0) + specifier: 0.56.0 + version: 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': - specifier: 1.24.1 - version: 1.24.1(@opentelemetry/api@1.8.0) + specifier: 1.29.0 + version: 1.29.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': - specifier: 1.24.1 - version: 1.24.1(@opentelemetry/api@1.8.0) + specifier: 1.29.0 + version: 1.29.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': - specifier: 1.24.1 - version: 1.24.1 + specifier: 1.28.0 + version: 1.28.0 '@planetscale/database': specifier: 1.18.0 version: 1.18.0 @@ -615,8 +628,8 @@ importers: specifier: workspace:* version: link:../engines '@prisma/engines-version': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@prisma/fetch-engine': specifier: workspace:* version: link:../fetch-engine @@ -641,21 +654,24 @@ importers: '@prisma/pg-worker': specifier: workspace:* version: link:../pg-worker + '@prisma/query-compiler-wasm': + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@prisma/query-engine-wasm': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@snaplet/copycat': specifier: 0.17.3 version: 0.17.3 '@swc-node/register': - specifier: 1.9.1 - version: 1.9.1(@swc/core@1.5.25)(typescript@5.4.5) + specifier: 1.10.9 + version: 1.10.9(@swc/core@1.10.9)(@swc/types@0.1.17)(typescript@5.4.5) '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@timsuchanek/copy': specifier: 1.4.5 version: 1.4.5 @@ -666,8 +682,8 @@ importers: specifier: 9.0.13 version: 9.0.13 '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/js-levenshtein': specifier: 1.1.3 version: 1.1.3 @@ -699,8 +715,8 @@ importers: specifier: 2.2.1 version: 2.2.1 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 execa: specifier: 5.1.1 version: 5.1.1 @@ -724,16 +740,16 @@ importers: version: 4.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-extended: specifier: 4.0.2 - version: 4.0.2(jest@29.7.0) + version: 4.0.2(jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5))) jest-junit: specifier: 16.0.0 version: 16.0.0 jest-serializer-ansi-escapes: - specifier: 3.0.0 - version: 3.0.0 + specifier: 4.0.0 + version: 4.0.0 jest-snapshot: specifier: 29.7.0 version: 29.7.0 @@ -747,14 +763,14 @@ importers: specifier: 2.0.6 version: 2.0.6 mariadb: - specifier: 3.3.0 - version: 3.3.0 + specifier: 3.3.1 + version: 3.3.1 memfs: - specifier: 4.9.2 - version: 4.9.2 + specifier: 4.15.0 + version: 4.15.0 mssql: - specifier: 10.0.2 - version: 10.0.2 + specifier: 11.0.1 + version: 11.0.1 new-github-issue-url: specifier: 0.2.1 version: 0.2.1 @@ -774,14 +790,14 @@ importers: specifier: 8.0.0 version: 8.0.0 resolve: - specifier: 1.22.8 - version: 1.22.8 + specifier: 1.22.10 + version: 1.22.10 rimraf: specifier: 3.0.2 version: 3.0.2 simple-statistics: - specifier: 7.8.3 - version: 7.8.3 + specifier: 7.8.7 + version: 7.8.7 sort-keys: specifier: 4.2.0 version: 4.2.0 @@ -802,22 +818,22 @@ importers: version: 3.0.0 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.5.25)(@types/node@18.19.31)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5) ts-pattern: - specifier: 5.1.2 - version: 5.1.2 + specifier: 5.6.2 + version: 5.6.2 tsd: - specifier: 0.31.0 - version: 0.31.0 + specifier: 0.31.2 + version: 0.31.2 typescript: specifier: 5.4.5 version: 5.4.5 undici: - specifier: 5.28.4 - version: 5.28.4 + specifier: 7.2.3 + version: 7.2.3 wrangler: - specifier: 3.60.0 - version: 3.60.0(@cloudflare/workers-types@4.20240605.0) + specifier: 3.91.0 + version: 3.91.0(@cloudflare/workers-types@4.20240614.0) zx: specifier: 7.2.3 version: 7.2.3 @@ -825,17 +841,17 @@ importers: packages/debug: devDependencies: '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -861,8 +877,8 @@ importers: specifier: workspace:* version: link:../debug '@prisma/engines-version': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@prisma/fetch-engine': specifier: workspace:* version: link:../fetch-engine @@ -871,14 +887,14 @@ importers: version: link:../get-platform devDependencies: '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 @@ -887,7 +903,7 @@ importers: version: 5.1.1 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) typescript: specifier: 5.4.5 version: 5.4.5 @@ -898,21 +914,21 @@ importers: specifier: workspace:* version: link:../debug '@prisma/engines-version': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@prisma/get-platform': specifier: workspace:* version: link:../get-platform devDependencies: '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 @@ -938,11 +954,11 @@ importers: specifier: 7.0.2 version: 7.0.2 https-proxy-agent: - specifier: 7.0.4 - version: 7.0.4 + specifier: 7.0.6 + version: 7.0.6 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) kleur: specifier: 4.1.5 version: 4.1.5 @@ -987,32 +1003,32 @@ importers: version: link:../debug devDependencies: '@swc-node/register': - specifier: 1.9.1 - version: 1.9.1(@swc/core@1.5.25)(typescript@5.4.5) + specifier: 1.10.9 + version: 1.10.9(@swc/core@1.10.9)(@swc/types@0.1.17)(typescript@5.4.5) '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/cross-spawn': specifier: 6.0.6 version: 6.0.6 '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 cross-spawn: - specifier: 7.0.3 - version: 7.0.3 + specifier: 7.0.6 + version: 7.0.6 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1021,7 +1037,7 @@ importers: version: 4.1.5 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.5.25)(@types/node@18.19.31)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -1033,17 +1049,17 @@ importers: version: link:../debug devDependencies: '@codspeed/benchmark.js-plugin': - specifier: 3.1.0 - version: 3.1.0(benchmark@2.1.4) + specifier: 3.1.1 + version: 3.1.1(benchmark@2.1.4) '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 @@ -1061,7 +1077,7 @@ importers: version: 5.1.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1081,39 +1097,36 @@ importers: specifier: 2.1.1 version: 2.1.1 ts-pattern: - specifier: 5.1.2 - version: 5.1.2 + specifier: 5.6.2 + version: 5.6.2 typescript: specifier: 5.4.5 version: 5.4.5 packages/instrumentation: dependencies: - '@opentelemetry/api': - specifier: ^1.8 - version: 1.8.0 '@opentelemetry/instrumentation': - specifier: ^0.49 || ^0.50 || ^0.51 || ^0.52.0 - version: 0.51.1(@opentelemetry/api@1.8.0) - '@opentelemetry/sdk-trace-base': - specifier: ^1.22 - version: 1.24.1(@opentelemetry/api@1.8.0) + specifier: ^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0 + version: 0.56.0(@opentelemetry/api@1.9.0) devDependencies: + '@opentelemetry/api': + specifier: 1.9.0 + version: 1.9.0 '@prisma/internals': specifier: workspace:* version: link:../internals '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1136,14 +1149,14 @@ importers: specifier: 1.1.2 version: 1.1.2 '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/mssql': specifier: 9.1.5 version: 9.1.5 @@ -1160,8 +1173,8 @@ importers: specifier: 10.4.3 version: 10.4.3 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 execa: specifier: 5.1.1 version: 5.1.1 @@ -1170,22 +1183,22 @@ importers: version: 5.1.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 mariadb: - specifier: 3.3.0 - version: 3.3.0 + specifier: 3.3.1 + version: 3.3.1 mssql: - specifier: 10.0.2 - version: 10.0.2 + specifier: 11.0.1 + version: 11.0.1 pg: specifier: 8.11.5 version: 8.11.5 sqlite-async: specifier: 1.2.0 - version: 1.2.0 + version: 1.2.0(encoding@0.1.13) string-hash: specifier: 1.1.3 version: 1.1.3 @@ -1197,7 +1210,7 @@ importers: version: 1.0.1 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.5.25)(@types/node@18.19.31)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -1223,8 +1236,8 @@ importers: specifier: workspace:* version: link:../get-platform '@prisma/prisma-schema-wasm': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@prisma/schema-files-loader': specifier: workspace:* version: link:../schema-files-loader @@ -1238,18 +1251,24 @@ importers: '@antfu/ni': specifier: 0.21.12 version: 0.21.12 + '@babel/helper-validator-identifier': + specifier: 7.24.7 + version: 7.24.7 '@opentelemetry/api': - specifier: 1.8.0 - version: 1.8.0 + specifier: 1.9.0 + version: 1.9.0 '@swc/core': specifier: 1.2.204 version: 1.2.204 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.2.204) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.2.204) + '@types/babel__helper-validator-identifier': + specifier: 7.15.2 + version: 7.15.2 '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 @@ -1261,16 +1280,16 @@ importers: version: 6.0.2 checkpoint-client: specifier: 1.1.33 - version: 1.1.33 + version: 1.1.33(encoding@0.1.13) cli-truncate: specifier: 2.1.0 version: 2.1.0 dotenv: - specifier: 16.0.3 - version: 16.0.3 + specifier: 16.4.7 + version: 16.4.7 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 escape-string-regexp: specifier: 4.0.0 version: 4.0.0 @@ -1278,14 +1297,14 @@ importers: specifier: 5.1.1 version: 5.1.1 fast-glob: - specifier: 3.3.2 - version: 3.3.2 + specifier: 3.3.3 + version: 3.3.3 find-up: specifier: 5.0.0 version: 5.0.0 fp-ts: - specifier: 2.16.6 - version: 2.16.6 + specifier: 2.16.9 + version: 2.16.9 fs-extra: specifier: 11.1.1 version: 11.1.1 @@ -1298,6 +1317,9 @@ importers: globby: specifier: 11.1.0 version: 11.1.0 + identifier-regex: + specifier: 1.0.0 + version: 1.0.0 indent-string: specifier: 4.0.0 version: 4.0.0 @@ -1309,7 +1331,7 @@ importers: version: 3.1.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1341,8 +1363,8 @@ importers: specifier: 3.1.0 version: 3.1.0 resolve: - specifier: 1.22.8 - version: 1.22.8 + specifier: 1.22.10 + version: 1.22.10 string-width: specifier: 4.2.3 version: 4.2.3 @@ -1368,8 +1390,11 @@ importers: specifier: 10.9.2 version: 10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5) ts-pattern: - specifier: 5.1.2 - version: 5.1.2 + specifier: 5.6.2 + version: 5.6.2 + ts-toolbelt: + specifier: 9.6.0 + version: 9.6.0 typescript: specifier: 5.4.5 version: 5.4.5 @@ -1383,8 +1408,8 @@ importers: specifier: workspace:* version: link:../debug '@prisma/engines-version': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 '@prisma/generator-helper': specifier: workspace:* version: link:../generator-helper @@ -1402,14 +1427,14 @@ importers: specifier: 1.1.2 version: 1.1.2 '@swc/core': - specifier: 1.5.25 - version: 1.5.25 + specifier: 1.10.9 + version: 1.10.9 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.5.25) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.10.9) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 @@ -1426,29 +1451,26 @@ importers: specifier: 5.0.2 version: 5.0.2 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 execa: specifier: 5.1.1 version: 5.1.1 fp-ts: - specifier: 2.16.6 - version: 2.16.6 + specifier: 2.16.9 + version: 2.16.9 fs-jetpack: specifier: 5.1.0 version: 5.1.0 get-stdin: specifier: 8.0.0 version: 8.0.0 - has-yarn: - specifier: 2.1.0 - version: 2.1.0 indent-string: specifier: 4.0.0 version: 4.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1459,17 +1481,17 @@ importers: specifier: 4.0.0 version: 4.0.0 mariadb: - specifier: 3.3.0 - version: 3.3.0 + specifier: 3.3.1 + version: 3.3.1 mock-stdin: specifier: 1.0.0 version: 1.0.0 mongoose: - specifier: 8.4.1 - version: 8.4.1 + specifier: 8.9.5 + version: 8.9.5(socks@2.7.1) mssql: - specifier: 10.0.2 - version: 10.0.2 + specifier: 11.0.1 + version: 11.0.1 ora: specifier: 5.4.1 version: 5.4.1 @@ -1489,20 +1511,20 @@ importers: specifier: 1.0.1 version: 1.0.1 ts-pattern: - specifier: 5.1.2 - version: 5.1.2 + specifier: 5.6.2 + version: 5.6.2 typescript: specifier: 5.4.5 version: 5.4.5 wrangler: - specifier: 3.60.0 - version: 3.60.0(@cloudflare/workers-types@4.20240605.0) + specifier: 3.91.0 + version: 3.91.0(@cloudflare/workers-types@4.20240614.0) packages/nextjs-monorepo-workaround-plugin: devDependencies: webpack: - specifier: 5.91.0 - version: 5.91.0(esbuild@0.21.4) + specifier: 5.92.1 + version: 5.92.1(@swc/core@1.10.9)(esbuild@0.24.2) packages/pg-worker: dependencies: @@ -1511,17 +1533,17 @@ importers: version: 8.11.6 devDependencies: '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.14 + version: 29.5.14 '@types/node': specifier: 18.19.31 version: 18.19.31 esbuild: - specifier: 0.21.4 - version: 0.21.4 + specifier: 0.24.2 + version: 0.24.2 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + version: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1538,1097 +1560,827 @@ importers: packages/schema-files-loader: dependencies: '@prisma/prisma-schema-wasm': - specifier: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 - version: 5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1 + specifier: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 + version: 6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0 fs-extra: specifier: 11.1.1 version: 11.1.1 devDependencies: jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true - /@ampproject/remapping@2.2.0: + '@ampproject/remapping@2.2.0': resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.22 - dev: true - /@antfu/ni@0.21.12: + '@antfu/ni@0.21.12': resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==} hasBin: true - dev: true - /@azure/abort-controller@1.1.0: + '@azure/abort-controller@1.1.0': resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - /@azure/core-auth@1.4.0: - resolution: {integrity: sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==} - engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - tslib: 2.6.2 - dev: true + '@azure/abort-controller@2.1.2': + resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} + engines: {node: '>=18.0.0'} - /@azure/core-client@1.6.1: - resolution: {integrity: sha512-mZ1MSKhZBYoV8GAWceA+PEJFWV2VpdNSpxxcj1wjIAOi00ykRuIQChT99xlQGZWLY3/NApWhSImlFwsmCEs4vA==} - engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.4.0 - '@azure/core-rest-pipeline': 1.9.2 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.1.1 - '@azure/logger': 1.0.3 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color - dev: true + '@azure/core-auth@1.7.2': + resolution: {integrity: sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==} + engines: {node: '>=18.0.0'} + + '@azure/core-client@1.9.2': + resolution: {integrity: sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==} + engines: {node: '>=18.0.0'} - /@azure/core-http-compat@1.3.0: + '@azure/core-http-compat@1.3.0': resolution: {integrity: sha512-ZN9avruqbQ5TxopzG3ih3KRy52n8OAbitX3fnZT5go4hzu0J+KVPSzkL+Wt3hpJpdG8WIfg1sBD1tWkgUdEpBA==} engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-client': 1.6.1 - '@azure/core-rest-pipeline': 1.9.2 - transitivePeerDependencies: - - supports-color - dev: true - /@azure/core-lro@2.4.0: + '@azure/core-lro@2.4.0': resolution: {integrity: sha512-F65+rYkll1dpw3RGm8/SSiSj+/QkMeYDanzS/QKlM1dmuneVyXbO46C88V1MRHluLGdMP6qfD3vDRYALn0z0tQ==} engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/logger': 1.0.3 - tslib: 2.6.2 - dev: true - /@azure/core-paging@1.3.0: + '@azure/core-paging@1.3.0': resolution: {integrity: sha512-H6Tg9eBm0brHqLy0OSAGzxIh1t4UL8eZVrSUMJ60Ra9cwq2pOskFqVpz2pYoHDsBY1jZ4V/P8LRGb5D5pmC6rg==} engines: {node: '>=12.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - /@azure/core-rest-pipeline@1.9.2: + '@azure/core-rest-pipeline@1.9.2': resolution: {integrity: sha512-8rXI6ircjenaLp+PkOFpo37tQ1PQfztZkfVj97BIF3RPxHAsoVSgkJtu3IK/bUEWcb7HzXSoyBe06M7ODRkRyw==} engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.4.0 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.1.1 - '@azure/logger': 1.0.3 - form-data: 4.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - tslib: 2.6.2 - uuid: 8.3.2 - transitivePeerDependencies: - - supports-color - dev: true - /@azure/core-tracing@1.0.1: + '@azure/core-tracing@1.0.1': resolution: {integrity: sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==} engines: {node: '>=12.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - /@azure/core-util@1.1.1: - resolution: {integrity: sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==} - engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - tslib: 2.6.2 - dev: true + '@azure/core-util@1.9.0': + resolution: {integrity: sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==} + engines: {node: '>=18.0.0'} - /@azure/identity@2.1.0: - resolution: {integrity: sha512-BPDz1sK7Ul9t0l9YKLEa8PHqWU4iCfhGJ+ELJl6c8CP3TpJt2urNCbm0ZHsthmxRsYoMPbz2Dvzj30zXZVmAFw==} - engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.4.0 - '@azure/core-client': 1.6.1 - '@azure/core-rest-pipeline': 1.9.2 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.1.1 - '@azure/logger': 1.0.3 - '@azure/msal-browser': 2.30.0 - '@azure/msal-common': 7.6.0 - '@azure/msal-node': 1.14.2 - events: 3.3.0 - jws: 4.0.0 - open: 8.4.0 - stoppable: 1.1.0 - tslib: 2.6.2 - uuid: 8.3.2 - transitivePeerDependencies: - - supports-color - dev: true + '@azure/identity@4.3.0': + resolution: {integrity: sha512-LHZ58/RsIpIWa4hrrE2YuJ/vzG1Jv9f774RfTTAVDZDriubvJ0/S5u4pnw4akJDlS0TiJb6VMphmVUFsWmgodQ==} + engines: {node: '>=18.0.0'} - /@azure/keyvault-keys@4.6.0: + '@azure/keyvault-keys@4.6.0': resolution: {integrity: sha512-0112LegxeR03L8J4k+q6HwBVvrpd9y+oInG0FG3NaHXN7YUubVBon/eb5jFI6edGrvNigpxSR0XIsprFXdkzCQ==} engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.4.0 - '@azure/core-client': 1.6.1 - '@azure/core-http-compat': 1.3.0 - '@azure/core-lro': 2.4.0 - '@azure/core-paging': 1.3.0 - '@azure/core-rest-pipeline': 1.9.2 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.1.1 - '@azure/logger': 1.0.3 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color - dev: true - /@azure/logger@1.0.3: + '@azure/logger@1.0.3': resolution: {integrity: sha512-aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g==} engines: {node: '>=12.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - /@azure/msal-browser@2.30.0: - resolution: {integrity: sha512-4Y9+rjJiTFP7KEmuq1btmIrBgk0ImNyKsXj6A6NHZALd1X0M6W7L7kxpH6F+d1tEkMv8bYnZdn7IcauXbL8Llw==} + '@azure/msal-browser@3.17.0': + resolution: {integrity: sha512-csccKXmW2z7EkZ0I3yAoW/offQt+JECdTIV/KrnRoZyM7wCSsQWODpwod8ZhYy7iOyamcHApR9uCh0oD1M+0/A==} engines: {node: '>=0.8.0'} - deprecated: A newer major version of this library is available. Please upgrade to the latest available version. - dependencies: - '@azure/msal-common': 7.6.0 - dev: true - /@azure/msal-common@7.6.0: - resolution: {integrity: sha512-XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==} + '@azure/msal-common@14.12.0': + resolution: {integrity: sha512-IDDXmzfdwmDkv4SSmMEyAniJf6fDu3FJ7ncOjlxkDuT85uSnLEhZi3fGZpoR7T4XZpOMx9teM9GXBgrfJgyeBw==} engines: {node: '>=0.8.0'} - dev: true - /@azure/msal-node@1.14.2: - resolution: {integrity: sha512-t3whVhhLdZVVeDEtUPD2Wqfa8BDi3EDMnpWp8dbuRW0GhUpikBfs4AQU0Fe6P9zS87n9LpmUTLrIcPEEuzkvfA==} - engines: {node: 10 || 12 || 14 || 16 || 18} - deprecated: A newer major version of this library is available. Please upgrade to the latest available version. - dependencies: - '@azure/msal-common': 7.6.0 - jsonwebtoken: 8.5.1 - uuid: 8.3.2 - dev: true + '@azure/msal-node@2.9.2': + resolution: {integrity: sha512-8tvi6Cos3m+0KmRbPjgkySXi+UQU/QiuVRFnrxIwt5xZlEEFa69O04RTaNESGgImyBBlYbo2mfE8/U8Bbdk1WQ==} + engines: {node: '>=16'} - /@babel/code-frame@7.21.4: + '@babel/code-frame@7.21.4': resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - /@babel/code-frame@7.23.5: + '@babel/code-frame@7.23.5': resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - dev: true - /@babel/compat-data@7.21.7: + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.21.7': resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.21.8: + '@babel/core@7.21.8': resolution: {integrity: sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-module-transforms': 7.21.5 - '@babel/helpers': 7.21.5 - '@babel/parser': 7.21.8 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 - convert-source-map: 1.9.0 - debug: 4.3.5 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator@7.21.5: + '@babel/generator@7.21.5': resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.22 - jsesc: 2.5.2 - dev: true - /@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.8): + '@babel/generator@7.26.5': + resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.21.5': resolution: {integrity: sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.22.2 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - /@babel/helper-environment-visitor@7.21.5: + '@babel/helper-environment-visitor@7.21.5': resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==} engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.5 - dev: true - - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/helper-module-imports@7.21.4: + '@babel/helper-module-imports@7.21.4': resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/helper-module-transforms@7.21.5: + '@babel/helper-module-transforms@7.21.5': resolution: {integrity: sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.21.5 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-plugin-utils@7.19.0: + '@babel/helper-plugin-utils@7.19.0': resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-simple-access@7.21.5: + '@babel/helper-simple-access@7.21.5': resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/helper-split-export-declaration@7.18.6: + '@babel/helper-split-export-declaration@7.18.6': resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/helper-string-parser@7.21.5: + '@babel/helper-string-parser@7.21.5': resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-option@7.21.0: + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.21.0': resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helpers@7.21.5: + '@babel/helpers@7.21.5': resolution: {integrity: sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/highlight@7.18.6: + '@babel/highlight@7.18.6': resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/highlight@7.23.4: + '@babel/highlight@7.23.4': resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/parser@7.21.8: + '@babel/parser@7.21.8': resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.8): + '@babel/parser@7.26.5': + resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.8): + '@babel/plugin-syntax-bigint@7.8.3': resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8): + '@babel/plugin-syntax-class-properties@7.12.13': resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.8): + '@babel/plugin-syntax-import-meta@7.10.4': resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.8): + '@babel/plugin-syntax-json-strings@7.8.3': resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.8): + '@babel/plugin-syntax-jsx@7.18.6': resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.8): + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.8): + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.8): + '@babel/plugin-syntax-numeric-separator@7.10.4': resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.8): + '@babel/plugin-syntax-object-rest-spread@7.8.3': resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.8): + '@babel/plugin-syntax-optional-catch-binding@7.8.3': resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.8): + '@babel/plugin-syntax-optional-chaining@7.8.3': resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.8): + '@babel/plugin-syntax-top-level-await@7.14.5': resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.21.8): + '@babel/plugin-syntax-typescript@7.18.6': resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/template@7.20.7: + '@babel/template@7.20.7': resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 - dev: true - /@babel/traverse@7.21.5: - resolution: {integrity: sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.5': + resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 - '@babel/helper-environment-visitor': 7.21.5 - '@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.21.8 - '@babel/types': 7.21.5 - debug: 4.3.5 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/types@7.21.5: + '@babel/types@7.21.5': resolution: {integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.21.5 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@bcoe/v8-coverage@0.2.3: + '@babel/types@7.26.5': + resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@cloudflare/kv-asset-handler@0.3.2: - resolution: {integrity: sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==} + '@cloudflare/kv-asset-handler@0.3.4': + resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} - dependencies: - mime: 3.0.0 - /@cloudflare/workerd-darwin-64@1.20240605.0: - resolution: {integrity: sha512-6V4Uze6jEM1mPBdPO6AevPwAOG2s+auEG1vPzZilwbrpn3BbYklEpQqcAZj05uUXaM6rnffnXerW8X8Fc8l4qQ==} + '@cloudflare/workerd-darwin-64@1.20241106.1': + resolution: {integrity: sha512-zxvaToi1m0qzAScrxFt7UvFVqU8DxrCO2CinM1yQkv5no7pA1HolpIrwZ0xOhR3ny64Is2s/J6BrRjpO5dM9Zw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@cloudflare/workerd-darwin-arm64@1.20240605.0: - resolution: {integrity: sha512-ZNxjVSeMYUhTfVlrMsVjpN5eHA2kq3+S7ZMsGu5l44ZqFrDygsFDoc9C4anJVUEIHGFUB9LMu4ZTdS5S80hvPQ==} + '@cloudflare/workerd-darwin-arm64@1.20241106.1': + resolution: {integrity: sha512-j3dg/42D/bPgfNP3cRUBxF+4waCKO/5YKwXNj+lnVOwHxDu+ne5pFw9TIkKYcWTcwn0ZUkbNZNM5rhJqRn4xbg==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@cloudflare/workerd-linux-64@1.20240605.0: - resolution: {integrity: sha512-zqOWDrYEudW5JCcU8lxCFQ96UHJJHrM+uvGaRS4u5nJaEgMr2z7u9I2286+l1R3JWvJdqj9ehGuHQvZkaTADxw==} + '@cloudflare/workerd-linux-64@1.20241106.1': + resolution: {integrity: sha512-Ih+Ye8E1DMBXcKrJktGfGztFqHKaX1CeByqshmTbODnWKHt6O65ax3oTecUwyC0+abuyraOpAtdhHNpFMhUkmw==} engines: {node: '>=16'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@cloudflare/workerd-linux-arm64@1.20240605.0: - resolution: {integrity: sha512-qFTVNem7bMsU9P1dXUi+kb8EdU5aag1I9RQq6ZLS/zfiJ0a/UasihwQG8lrzT7k9x80VnpyCekNmd625qsVZjQ==} + '@cloudflare/workerd-linux-arm64@1.20241106.1': + resolution: {integrity: sha512-mdQFPk4+14Yywn7n1xIzI+6olWM8Ybz10R7H3h+rk0XulMumCWUCy1CzIDauOx6GyIcSgKIibYMssVHZR30ObA==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@cloudflare/workerd-windows-64@1.20240605.0: - resolution: {integrity: sha512-s0U7d52ALQtb0enbHJ/AXmy+pyBQVoTIaAdAApy/PWrMiAnb8iJhf7A35pRTYfty5SUf7EX9BAPcKmeh+t3N5g==} + '@cloudflare/workerd-windows-64@1.20241106.1': + resolution: {integrity: sha512-4rtcss31E/Rb/PeFocZfr+B9i1MdrkhsTBWizh8siNR4KMmkslU2xs2wPaH1z8+ErxkOsHrKRa5EPLh5rIiFeg==} engines: {node: '>=16'} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@cloudflare/workers-types@4.20240605.0: - resolution: {integrity: sha512-zJw4Q6CnkaQ5JZmHRkNiSs5GfiRgUIUL8BIHPQkd2XUHZkIBv9M9yc0LKEwMYGpCFC+oSOltet6c9RjP9uQ99g==} + '@cloudflare/workers-shared@0.9.0': + resolution: {integrity: sha512-eP6Ir45uPbKnpADVzUCtkRUYxYxjB1Ew6n/whTJvHu8H4m93USHAceCMm736VBZdlxuhXXUjEP3fCUxKPn+cfw==} + engines: {node: '>=16.7.0'} - /@codspeed/benchmark.js-plugin@3.1.0(benchmark@2.1.4): - resolution: {integrity: sha512-PHF/QJ3WzTEX9nyhq6EHPA/pkHfMCW0FtfmJvl1qQSt0yIqpM4f0iBIfowua1AzbyD+Pd6iOPvlLHqO7ziLc+Q==} + '@cloudflare/workers-types@4.20240614.0': + resolution: {integrity: sha512-fnV3uXD1Hpq5EWnY7XYb+smPcjzIoUFiZpTSV/Tk8qKL3H+w6IqcngZwXQBZ/2U/DwYkDilXHW3FfPhnyD7FZA==} + + '@codspeed/benchmark.js-plugin@3.1.1': + resolution: {integrity: sha512-L0CWavJTUD01coFyl+HksdmkW4knzpX+8xiG+9nasH7bSGZzdd5ijf9fc6yTa9BBF/uc7GQKQEyyQ3VnHA34jw==} peerDependencies: benchmark: ^2.1.0 - dependencies: - '@codspeed/core': 3.1.0 - benchmark: 2.1.4 - lodash: 4.17.21 - stack-trace: 1.0.0-pre2 - transitivePeerDependencies: - - debug - dev: true - /@codspeed/core@3.1.0: - resolution: {integrity: sha512-oYd7X46QhnRkgRbZkqAoX9i3Fwm17FpunK4Ee5RdrvRYR0Xr93ewH8/O5g6uyTPDOOqDEv1v2KRYtWhVgN+2VQ==} - dependencies: - axios: 1.6.1 - find-up: 6.3.0 - form-data: 4.0.0 - node-gyp-build: 4.6.0 - transitivePeerDependencies: - - debug - dev: true + '@codspeed/core@3.1.1': + resolution: {integrity: sha512-ONhERVDAtkm0nc+FYPivDozoMOlNUP2BWRBFDJYATGA18Iap5Kd2mZ1/Lwz54RB5+g+3YDOpsvotHa4hd3Q+7Q==} - /@cspotcode/source-map-support@0.8.1: + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - /@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19): + '@emnapi/core@1.3.1': + resolution: {integrity: sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==} + + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + + '@emnapi/wasi-threads@1.0.1': + resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} + + '@esbuild-plugins/node-globals-polyfill@0.2.3': resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} peerDependencies: esbuild: '*' - dependencies: - esbuild: 0.17.19 - /@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19): + '@esbuild-plugins/node-modules-polyfill@0.2.2': resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} peerDependencies: esbuild: '*' - dependencies: - esbuild: 0.17.19 - escape-string-regexp: 4.0.0 - rollup-plugin-node-polyfills: 0.2.1 - /@esbuild/aix-ppc64@0.21.4: - resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.17.19: + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm64@0.21.4: - resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.17.19: + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm@0.21.4: - resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.17.19: + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-x64@0.21.4: - resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.17.19: + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-arm64@0.21.4: - resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.17.19: + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-x64@0.21.4: - resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.17.19: + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-arm64@0.21.4: - resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.17.19: + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-x64@0.21.4: - resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.17.19: + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm64@0.21.4: - resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.17.19: + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm@0.21.4: - resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.17.19: + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ia32@0.21.4: - resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.17.19: + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-loong64@0.21.4: - resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.17.19: + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-mips64el@0.21.4: - resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.17.19: + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ppc64@0.21.4: - resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.17.19: + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-riscv64@0.21.4: - resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.17.19: + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-s390x@0.21.4: - resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.17.19: + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-x64@0.21.4: - resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.17.19: + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - optional: true - /@esbuild/netbsd-x64@0.21.4: - resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.17.19: + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - optional: true - /@esbuild/openbsd-x64@0.21.4: - resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.17.19: + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - optional: true - /@esbuild/sunos-x64@0.21.4: - resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.17.19: + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-arm64@0.21.4: - resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.17.19: + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-ia32@0.21.4: - resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.17.19: + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-x64@0.21.4: - resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.4.0): + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 9.4.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.10.0: + '@eslint-community/regexpp@4.10.0': resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/compat@1.0.3: - resolution: {integrity: sha512-9RaroPQaU2+SDcWav1YfuipwqnHccoiXZdUsicRQsQ/vH2wkEmRVcj344GapG/FnCeZRtqj0n6PshI+s9xkkAQ==} + '@eslint/compat@1.2.5': + resolution: {integrity: sha512-5iuG/StT+7OfvhoBHPlmxkPA9om6aDUFgmD4+mWKAGsYt4vCe8rypneG03AuseyRHBmcCLXQtIH5S26tIoggLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true - /@eslint/config-array@0.15.1: - resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==} + '@eslint/config-array@0.16.0': + resolution: {integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - '@eslint/object-schema': 2.1.3 - debug: 4.3.5 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/eslintrc@3.1.0: + '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.5 - espree: 10.0.1 - globals: 14.0.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@9.4.0: - resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} + '@eslint/js@9.5.0': + resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /@eslint/object-schema@2.1.3: - resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==} + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /@faker-js/faker@8.4.1: + '@faker-js/faker@8.4.1': resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} - dev: true - /@fast-check/jest@1.8.2(@jest/globals@29.7.0): - resolution: {integrity: sha512-+UgQKZ0og0olUZXWgZ5Zcw42eN+3OB0Nfw0CU9OnlHBhHFnd8xppUYviX5HriAyUsAko1t/li5LZ9mSIIakmhg==} + '@fast-check/jest@2.0.3': + resolution: {integrity: sha512-3bRtz5kmM2GyLSm9qkDEepeulPaMWZMjjXhOl1G6TCuIghDCPN75pKi2FjXVhkRjTZc6TlMjrcX4f0rTGwM2bQ==} peerDependencies: '@fast-check/worker': '>=0.0.7 <0.5.0' '@jest/expect': '>=28.0.0' @@ -2638,177 +2390,83 @@ packages: optional: true '@jest/expect': optional: true - dependencies: - '@jest/globals': 29.7.0 - fast-check: 3.3.0 - dev: true - /@fastify/busboy@2.0.0: + '@fastify/busboy@2.0.0': resolution: {integrity: sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==} engines: {node: '>=14'} - /@gar/promisify@1.1.3: + '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - requiresBuild: true - dev: true - optional: true - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true - /@humanwhocodes/retry@0.3.0: + '@humanwhocodes/retry@0.3.0': resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} - dev: true - /@inquirer/checkbox@2.3.5: + '@inquirer/checkbox@2.3.5': resolution: {integrity: sha512-3V0OSykTkE/38GG1DhxRGLBmqefgzRg2EK5A375zz+XEvIWfAHcac31e+zlBDPypRHxhmXc/Oh6v9eOPbH3nAg==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/figures': 1.0.3 - '@inquirer/type': 1.3.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - dev: true - /@inquirer/confirm@3.1.9: + '@inquirer/confirm@3.1.9': resolution: {integrity: sha512-UF09aejxCi4Xqm6N/jJAiFXArXfi9al52AFaSD+2uIHnhZGtd1d6lIGTRMPouVSJxbGEi+HkOWSYaiEY/+szUw==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/type': 1.3.3 - dev: true - /@inquirer/core@8.2.2: + '@inquirer/core@8.2.2': resolution: {integrity: sha512-K8SuNX45jEFlX3EBJpu9B+S2TISzMPGXZIuJ9ME924SqbdW6Pt6fIkKvXg7mOEOKJ4WxpQsxj0UTfcL/A434Ww==} engines: {node: '>=18'} - dependencies: - '@inquirer/figures': 1.0.3 - '@inquirer/type': 1.3.3 - '@types/mute-stream': 0.0.4 - '@types/node': 20.14.1 - '@types/wrap-ansi': 3.0.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-spinners: 2.9.2 - cli-width: 4.1.0 - mute-stream: 1.0.0 - signal-exit: 4.1.0 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: true - /@inquirer/editor@2.1.9: + '@inquirer/editor@2.1.9': resolution: {integrity: sha512-5xCD7CoCh993YqXcsZPt45qkE3gl+03Yfv9vmAkptRi4nrzaUDmyhgBzndKdRG8SrKbQLBmOtztnRLGxvG/ahg==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/type': 1.3.3 - external-editor: 3.1.0 - dev: true - /@inquirer/expand@2.1.9: + '@inquirer/expand@2.1.9': resolution: {integrity: sha512-ymnR8qu2ie/3JpOeyZ3QSGJ+ai8qqtjBwopxLjzIZm7mZVKT6SV1sURzijkOLRgGUHwPemOfYX5biqXuqhpoBg==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/type': 1.3.3 - chalk: 4.1.2 - dev: true - /@inquirer/figures@1.0.3: + '@inquirer/figures@1.0.3': resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==} engines: {node: '>=18'} - dev: true - /@inquirer/input@2.1.9: + '@inquirer/input@2.1.9': resolution: {integrity: sha512-1xTCHmIe48x9CG1+8glAHrVVdH+QfYhzgBUbgyoVpp5NovnXgRcjSn/SNulepxf9Ol8HDq3gzw3ZCAUr+h1Eyg==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/type': 1.3.3 - dev: true - /@inquirer/password@2.1.9: + '@inquirer/password@2.1.9': resolution: {integrity: sha512-QPtVcT12Fkn0TyuZJelR7QOtc5l1d/6pB5EfkHOivTzC6QTFxRCHl+Gx7Q3E2U/kgJeCCmDov6itDFggk9nkgA==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/type': 1.3.3 - ansi-escapes: 4.3.2 - dev: true - /@inquirer/prompts@5.0.5: + '@inquirer/prompts@5.0.5': resolution: {integrity: sha512-LV2XZzc8ls4zhUzYNSpsXcnA8djOptY4G01lFzp3Bey6E1oiZMzIU25N9cb5AOwNz6pqDXpjLwRFQmLQ8h6PaQ==} engines: {node: '>=18'} - dependencies: - '@inquirer/checkbox': 2.3.5 - '@inquirer/confirm': 3.1.9 - '@inquirer/editor': 2.1.9 - '@inquirer/expand': 2.1.9 - '@inquirer/input': 2.1.9 - '@inquirer/password': 2.1.9 - '@inquirer/rawlist': 2.1.9 - '@inquirer/select': 2.3.5 - dev: true - /@inquirer/rawlist@2.1.9: + '@inquirer/rawlist@2.1.9': resolution: {integrity: sha512-GuMmfa/v1ZJqEWSkUx1hMxzs5/0DCUP0S8IicV/wu8QrbjfBOh+7mIQgtsvh8IJ3sRkRcQ+9wh9CE9jiYqyMgw==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/type': 1.3.3 - chalk: 4.1.2 - dev: true - /@inquirer/select@2.3.5: + '@inquirer/select@2.3.5': resolution: {integrity: sha512-IyBj8oEtmdF2Gx4FJTPtEya37MD6s0KATKsHqgmls0lK7EQbhYSq9GQlcFq6cBsYe/cgQ0Fg2cCqYYPi/d/fxQ==} engines: {node: '>=18'} - dependencies: - '@inquirer/core': 8.2.2 - '@inquirer/figures': 1.0.3 - '@inquirer/type': 1.3.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - dev: true - /@inquirer/type@1.3.3: + '@inquirer/type@1.3.3': resolution: {integrity: sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==} engines: {node: '>=18'} - dev: true - /@istanbuljs/load-nyc-config@1.1.0: + '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - /@istanbuljs/schema@0.1.3: + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - dev: true - /@jest/console@29.7.0: + '@jest/console@29.7.0': resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.12.7 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - dev: true - /@jest/core@29.7.0(ts-node@10.9.2): + '@jest/core@29.7.0': resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2816,100 +2474,32 @@ packages: peerDependenciesMeta: node-notifier: optional: true - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.12.7 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /@jest/create-cache-key-function@29.7.0: + '@jest/create-cache-key-function@29.7.0': resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - dev: true - /@jest/environment@29.7.0: + '@jest/environment@29.7.0': resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.12.7 - jest-mock: 29.7.0 - dev: true - /@jest/expect-utils@29.7.0: + '@jest/expect-utils@29.7.0': resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - dev: true - /@jest/expect@29.7.0: + '@jest/expect@29.7.0': resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/fake-timers@29.7.0: + '@jest/fake-timers@29.7.0': resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.0.2 - '@types/node': 20.12.7 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - /@jest/globals@29.7.0: + '@jest/globals@29.7.0': resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/reporters@29.7.0: + '@jest/reporters@29.7.0': resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2917,1317 +2507,778 @@ packages: peerDependenciesMeta: node-notifier: optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.22 - '@types/node': 20.12.7 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 6.0.0 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/schemas@29.6.3: + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@29.6.3: + '@jest/source-map@29.6.3': resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.22 - callsites: 3.1.0 - graceful-fs: 4.2.11 - dev: true - /@jest/test-result@29.7.0: + '@jest/test-result@29.7.0': resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - /@jest/test-sequencer@29.7.0: + '@jest/test-sequencer@29.7.0': resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.10 - jest-haste-map: 29.7.0 - slash: 3.0.0 - dev: true - /@jest/transform@29.7.0: + '@jest/transform@29.7.0': resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.21.8 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.22 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - micromatch: 4.0.6 - pirates: 4.0.6 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/types@29.6.3: + '@jest/types@29.6.3': resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.12.7 - '@types/yargs': 17.0.13 - chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.1.1: + '@jridgewell/gen-mapping@0.1.1': resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@jridgewell/gen-mapping@0.3.2: + '@jridgewell/gen-mapping@0.3.2': resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.22 - dev: true - /@jridgewell/resolve-uri@3.1.0: + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.0': resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.1.2': resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/source-map@0.3.5: + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.5': resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} - dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.22 - dev: true - /@jridgewell/sourcemap-codec@1.4.14: + '@jridgewell/sourcemap-codec@1.4.14': resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping@0.3.22: + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.22': resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@jridgewell/trace-mapping@0.3.9: + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - /@js-joda/core@5.5.3: - resolution: {integrity: sha512-7dqNYwG8gCt4hfg5PKgM7xLEcgSBcx/UgC92OMnhMmvAnq11QzDFPrxUkNR/u5kn17WWLZ8beZ4A3Qrz4pZcmQ==} - dev: true + '@js-joda/core@5.6.3': + resolution: {integrity: sha512-T1rRxzdqkEXcou0ZprN1q9yDRlvzCPLqmlNt5IIsGBzoEVgLCCYrKEwc84+TvsXuAc95VAZwtWD2zVsKPY4bcA==} - /@jsonjoy.com/base64@1.1.1(tslib@2.6.2): + '@jsonjoy.com/base64@1.1.1': resolution: {integrity: sha512-LnFjVChaGY8cZVMwAIMjvA1XwQjZ/zIXHyh28IyJkyNkzof4Dkm1+KN9UIm3lHhREH4vs7XwZ0NpkZKnwOtEfg==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - dependencies: - tslib: 2.6.2 - dev: true - /@jsonjoy.com/json-pack@1.0.3(tslib@2.6.2): + '@jsonjoy.com/json-pack@1.0.3': resolution: {integrity: sha512-Q0SPAdmK6s5Fe3e1kcNvwNyk6e2+CxM8XZdGbf4abZG7nUO05KSie3/iX29loTBuY+75uVP6RixDSPVpotfzmQ==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - dependencies: - '@jsonjoy.com/base64': 1.1.1(tslib@2.6.2) - '@jsonjoy.com/util': 1.1.2(tslib@2.6.2) - hyperdyperid: 1.2.0 - thingies: 1.21.0(tslib@2.6.2) - tslib: 2.6.2 - dev: true - /@jsonjoy.com/util@1.1.2(tslib@2.6.2): - resolution: {integrity: sha512-HOGa9wtE6LEz2I5mMQ2pMSjth85PmD71kPbsecs02nEUq3/Kw0wRK3gmZn5BCEB8mFLXByqPxjHgApoMwIPMKQ==} + '@jsonjoy.com/util@1.5.0': + resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - dependencies: - tslib: 2.6.2 - dev: true - /@libsql/client@0.6.2: - resolution: {integrity: sha512-xRNfRLv/dOCbV4qd+M0baQwGmvuZpMd2wG2UAPs8XmcdaPvu5ErkcaeITkxlm3hDEJVabQM1cFhMBxsugWW9fQ==} - dependencies: - '@libsql/core': 0.6.2 - '@libsql/hrana-client': 0.6.0 - js-base64: 3.7.5 - libsql: 0.3.10 - transitivePeerDependencies: - - bufferutil - - utf-8-validate + '@libsql/client@0.8.0': + resolution: {integrity: sha512-ncx6p2wsaZtCAbRJCIkaTO14ya18qFYLJ1yTm5zHgwd9mlcvgenG4imSgJy2zNrKJkeyr1wzD+80jNqI7nCYoA==} - /@libsql/core@0.6.2: - resolution: {integrity: sha512-c2P4M+4u/4b2L02A0KjggO3UW51rGkhxr/7fzJO0fEAqsqrWGxuNj2YtRkina/oxfYvAof6xjp8RucNoIV/Odw==} - dependencies: - js-base64: 3.7.5 + '@libsql/core@0.8.0': + resolution: {integrity: sha512-Bqs7bKfUNwm8NTLfKPbI4WME+3BTEBeDZTec0b9XZQ9hvjM4YlGXKKCuIDm8ECUYx4Mb1Gc0X14pm2/4r6ImdA==} - /@libsql/darwin-arm64@0.3.10: + '@libsql/darwin-arm64@0.3.10': resolution: {integrity: sha512-RaexEFfPAFogd6dJlqkpCkTxdr6K14Z0286lodIJ8Ny77mWuWyBkWKxf70OYWXXAMxMJFUW+6al1F3/Osf/pTg==} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@libsql/darwin-x64@0.3.10: + '@libsql/darwin-x64@0.3.10': resolution: {integrity: sha512-SNVN6n4qNUdMW1fJMFmx4qn4n5RnXsxjFbczpkzG/V7m/5VeTFt1chhGcrahTHCr3+K6eRJWJUEQHRGqjBwPkw==} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@libsql/hrana-client@0.6.0: - resolution: {integrity: sha512-k+fqzdjqg3IvWfKmVJK5StsbjeTcyNAXFelUbXbGNz3yH1gEVT9mZ6kmhsIXP30ZSyVV0AE1Gi25p82mxC9hwg==} - dependencies: - '@libsql/isomorphic-fetch': 0.2.1 - '@libsql/isomorphic-ws': 0.1.5 - js-base64: 3.7.5 - node-fetch: 3.3.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate + '@libsql/hrana-client@0.6.2': + resolution: {integrity: sha512-MWxgD7mXLNf9FXXiM0bc90wCjZSpErWKr5mGza7ERy2FJNNMXd7JIOv+DepBA1FQTIfI8TFO4/QDYgaQC0goNw==} - /@libsql/isomorphic-fetch@0.2.1: + '@libsql/isomorphic-fetch@0.2.1': resolution: {integrity: sha512-Sv07QP1Aw8A5OOrmKgRUBKe2fFhF2hpGJhtHe3d1aRnTESZCGkn//0zDycMKTGamVWb3oLYRroOsCV8Ukes9GA==} - /@libsql/isomorphic-ws@0.1.5: + '@libsql/isomorphic-ws@0.1.5': resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - dependencies: - '@types/ws': 8.5.6 - ws: 8.14.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - /@libsql/linux-arm64-gnu@0.3.10: + '@libsql/linux-arm64-gnu@0.3.10': resolution: {integrity: sha512-2uXpi9d8qtyIOr7pyG4a88j6YXgemyIHEs2Wbp+PPletlCIPsFS+E7IQHbz8VwTohchOzcokGUm1Bc5QC+A7wg==} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@libsql/linux-arm64-musl@0.3.10: + '@libsql/linux-arm64-musl@0.3.10': resolution: {integrity: sha512-72SN1FUavLvzHddCS861ynSpQndcW5oLGKA3U8CyMfgIZIwJAPc7+48Uj1plW00htXBx4GBpcntFp68KKIx3YQ==} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@libsql/linux-x64-gnu@0.3.10: + '@libsql/linux-x64-gnu@0.3.10': resolution: {integrity: sha512-hXyNqVRi7ONuyWZ1SX6setxL0QaQ7InyS3bHLupsi9s7NpOGD5vcpTaYicJOqmIIm+6kt8vJfmo7ZxlarIHy7Q==} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@libsql/linux-x64-musl@0.3.10: + '@libsql/linux-x64-musl@0.3.10': resolution: {integrity: sha512-kNmIRxomVwt9S+cLyYS497F/3gXFF4r8wW12YSBQgxG75JYft07AHVd8J7HINg+oqRkLzT0s+mVX5dM6nk68EQ==} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@libsql/win32-x64-msvc@0.3.10: + '@libsql/win32-x64-msvc@0.3.10': resolution: {integrity: sha512-c/6rjdtGULKrJkLgfLobFefObfOtxjXGmCfPxv6pr0epPCeUEssfDbDIeEH9fQUgzogIMWEHwT8so52UJ/iT1Q==} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@mapbox/node-pre-gyp@1.0.10: + '@mapbox/node-pre-gyp@1.0.10': resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} hasBin: true - dependencies: - detect-libc: 2.0.2 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.7.0 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.6.2 - tar: 6.1.14 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@microsoft/api-extractor-model@7.29.2(@types/node@20.12.7): - resolution: {integrity: sha512-hAYajOjQan3uslhKJRwvvHIdLJ+ZByKqdSsJ/dgHFxPtEbdKpzMDO8zuW4K5gkSMYl5D0LbNwxkhxr51P2zsmw==} - dependencies: - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.4.1(@types/node@20.12.7) - transitivePeerDependencies: - - '@types/node' - dev: true + '@microsoft/api-extractor-model@7.30.1': + resolution: {integrity: sha512-CTS2PlASJHxVY8hqHORVb1HdECWOEMcMnM6/kDkPr0RZapAFSIHhg9D4jxuE8g+OWYHtPc10LCpmde5pylTRlA==} - /@microsoft/api-extractor@7.47.0(@types/node@20.12.7): - resolution: {integrity: sha512-LT8yvcWNf76EpDC+8/ArTVSYePvuDQ+YbAUrsTcpg3ptiZ93HIcMCozP/JOxDt+rrsFfFHcpfoselKfPyRI0GQ==} + '@microsoft/api-extractor@7.48.1': + resolution: {integrity: sha512-HN9Osa1WxqLM66RaqB5nPAadx+nTIQmY/XtkFdaJvusjG8Tus++QqZtD7KPZDSkhEMGHsYeSyeU8qUzCDUXPjg==} hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.29.2(@types/node@20.12.7) - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.4.1(@types/node@20.12.7) - '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.13.0(@types/node@20.12.7) - '@rushstack/ts-command-line': 4.22.0(@types/node@20.12.7) - lodash: 4.17.21 - minimatch: 3.0.8 - resolve: 1.22.8 - semver: 7.5.4 - source-map: 0.6.1 - typescript: 5.4.2 - transitivePeerDependencies: - - '@types/node' - dev: true - /@microsoft/tsdoc-config@0.17.0: - resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} - dependencies: - '@microsoft/tsdoc': 0.15.0 - ajv: 8.12.0 - jju: 1.4.0 - resolve: 1.22.8 - dev: true + '@microsoft/tsdoc-config@0.17.1': + resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==} - /@microsoft/tsdoc@0.15.0: - resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} - dev: true + '@microsoft/tsdoc@0.15.1': + resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} - /@mongodb-js/saslprep@1.1.5: - resolution: {integrity: sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==} - dependencies: - sparse-bitfield: 3.0.3 - dev: true + '@mongodb-js/saslprep@1.1.9': + resolution: {integrity: sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==} - /@neon-rs/load@0.0.4: + '@napi-rs/wasm-runtime@0.2.5': + resolution: {integrity: sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==} + + '@neon-rs/load@0.0.4': resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} - requiresBuild: true - /@neondatabase/serverless@0.9.3: - resolution: {integrity: sha512-6ZBK8asl2Z3+ADEaELvbaVVGVlmY1oAzkxxZfpmXPKFuJhbDN+5fU3zYBamsahS/Ch1zE+CVWB3R+8QEI2LMSw==} - dependencies: - '@types/pg': 8.11.6 + '@neondatabase/serverless@0.10.2': + resolution: {integrity: sha512-XaIMQ9fXDPWLiShfsg+YJQvmMMIyVQB7J3jnirckyoDxN7YIATyzXBThpUeFJqBUkbFJQ0e5PCxXTpK2rG4WbQ==} - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - /@npmcli/fs@1.1.1: + '@npmcli/fs@1.1.1': resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - requiresBuild: true - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.2 - dev: true - optional: true - /@npmcli/move-file@1.1.2: + '@npmcli/move-file@1.1.2': resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} engines: {node: '>=10'} deprecated: This functionality has been moved to @npmcli/fs - requiresBuild: true - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - optional: true - /@opentelemetry/api-logs@0.51.1: - resolution: {integrity: sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA==} + '@opentelemetry/api-logs@0.56.0': + resolution: {integrity: sha512-Wr39+94UNNG3Ei9nv3pHd4AJ63gq5nSemMRpCd8fPwDL9rN3vK26lzxfH27mw16XzOSO+TpyQwBAMaLxaPWG0g==} engines: {node: '>=14'} - dependencies: - '@opentelemetry/api': 1.8.0 - /@opentelemetry/api@1.8.0: - resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - /@opentelemetry/context-async-hooks@1.24.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-R5r6DO4kgEOVBxFXhXjwospLQkv+sYxwCfjvoZBe7Zm6KKXAV9kDSJhi/D1BweowdZmO+sdbENLs374gER8hpQ==} + '@opentelemetry/context-async-hooks@1.29.0': + resolution: {integrity: sha512-TKT91jcFXgHyIDF1lgJF3BHGIakn6x0Xp7Tq3zoS3TMPzT9IlP0xEavWP8C1zGjU9UmZP2VR1tJhW9Az1A3w8Q==} engines: {node: '>=14'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.8.0 - dev: true + '@opentelemetry/api': '>=1.0.0 <1.10.0' - /@opentelemetry/core@1.24.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg==} + '@opentelemetry/core@1.29.0': + resolution: {integrity: sha512-gmT7vAreXl0DTHD2rVZcw3+l2g84+5XiHIqdBUxXbExymPCvSsGOpiwMmn8nkiJur28STV31wnhIDrzWDPzjfA==} engines: {node: '>=14'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/api': '>=1.0.0 <1.10.0' - /@opentelemetry/instrumentation@0.51.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w==} + '@opentelemetry/instrumentation@0.56.0': + resolution: {integrity: sha512-2KkGBKE+FPXU1F0zKww+stnlUxUTlBvLCiWdP63Z9sqXYeNI/ziNzsxAp4LAdUcTQmXjw1IWgvm5CAb/BHy99w==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/api-logs': 0.51.1 - '@types/shimmer': 1.0.2 - import-in-the-middle: 1.7.4 - require-in-the-middle: 7.2.0 - semver: 7.6.1 - shimmer: 1.2.1 - transitivePeerDependencies: - - supports-color - /@opentelemetry/resources@1.24.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-cyv0MwAaPF7O86x5hk3NNgenMObeejZFLJJDVuSeSMIsknlsj3oOZzRv3qSzlwYomXsICfBeFFlxwHQte5mGXQ==} + '@opentelemetry/resources@1.29.0': + resolution: {integrity: sha512-s7mLXuHZE7RQr1wwweGcaRp3Q4UJJ0wazeGlc/N5/XSe6UyXfsh1UQGMADYeg7YwD+cEdMtU1yJAUXdnFzYzyQ==} engines: {node: '>=14'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) - '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/api': '>=1.0.0 <1.10.0' - /@opentelemetry/sdk-trace-base@1.24.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-zz+N423IcySgjihl2NfjBf0qw1RWe11XIAWVrTNOSSI6dtSPJiVom2zipFB2AEEtJWpv0Iz6DY6+TjnyTV5pWg==} + '@opentelemetry/sdk-trace-base@1.29.0': + resolution: {integrity: sha512-hEOpAYLKXF3wGJpXOtWsxEtqBgde0SCv+w+jvr3/UusR4ll3QrENEGnSl1WDCyRrpqOQ5NCNOvZch9UFVa7MnQ==} engines: {node: '>=14'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.9.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) - '@opentelemetry/resources': 1.24.1(@opentelemetry/api@1.8.0) - '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/api': '>=1.0.0 <1.10.0' - /@opentelemetry/semantic-conventions@1.24.1: - resolution: {integrity: sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw==} + '@opentelemetry/semantic-conventions@1.28.0': + resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} engines: {node: '>=14'} - /@planetscale/database@1.18.0: + '@oxc-resolver/binding-darwin-arm64@1.10.2': + resolution: {integrity: sha512-aOCZYXqmFL+2sXlaVkYbAOtICGGeTFtmdul8OimQfOXHJods6YHJ2nR6+rEeBcJzaXyXPP18ne1IsEc4AYL1IA==} + cpu: [arm64] + os: [darwin] + + '@oxc-resolver/binding-darwin-x64@1.10.2': + resolution: {integrity: sha512-6WD7lHGkoduFZfUgnC2suKOlqttQRKxWsiVXiiGPu3mfXvQAhMd/gekuH1t8vOhFlPJduaww15n5UB0bSjCK+w==} + cpu: [x64] + os: [darwin] + + '@oxc-resolver/binding-freebsd-x64@1.10.2': + resolution: {integrity: sha512-nEqHWx/Ot5p7Mafj8qH6vFlLSvHjECxAcZwhnAMqRuQu1NgXC/QM3emkdhVGy7QJgsxZbHpPaF6TERNf5/NL9Q==} + cpu: [x64] + os: [freebsd] + + '@oxc-resolver/binding-linux-arm-gnueabihf@1.10.2': + resolution: {integrity: sha512-+AlZI0fPnpfArh8aC5k2295lmQrxa2p8gBLxC3buvCkz0ZpbVLxyyAXz3J2jGwJnmc5MUPLEqPYw6ZlAGH4XHA==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-gnu@1.10.2': + resolution: {integrity: sha512-8fZ8NszFaUZaoA8eUwkF2lHjgUs76aFiewWgG/cjcZmwKp+ErZQLW8eOvIWZ4SohHQ+ScvhVsSaU2PU38c88gw==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-musl@1.10.2': + resolution: {integrity: sha512-oPrLICrw96Ym9n04FWXWGkbkpF6qJtZ57JSnqI3oQ24xHTt4iWyjHKHQO46NbJAK9sFb3Qce4BzV8faDI5Rifg==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-x64-gnu@1.10.2': + resolution: {integrity: sha512-eli74jTAUiIfqi8IPFqiPxQS69Alcr6w/IFRyf3XxrkxeFGgcgxJkRIxWNTKJ6T3EXxjuma+49LdZn6l9rEj7A==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-linux-x64-musl@1.10.2': + resolution: {integrity: sha512-HH9zmjNSQo3rkbqJH5nIjGrtjC+QPrUy0KGGMR/oRCSLuD0cNFJ/Uly1XAugwSm4oEw0+rv6PmeclXmVTKsxhw==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-wasm32-wasi@1.10.2': + resolution: {integrity: sha512-3ItX23q33sfVBtMMdMhVDSe0NX5zBHxHfmFiXhSJuwNaVIwGpLFU7WU2nmq9oNdnmTOvjL8vlhOqiGvumBLlRA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-resolver/binding-win32-arm64-msvc@1.10.2': + resolution: {integrity: sha512-aVoj2V+jmQ1N+lVy9AhaLmzssJM0lcKt8D0UL83aNLZJ5lSN7hgBuUXTVmL+VF268f167khjo38z+fbELDVm8Q==} + cpu: [arm64] + os: [win32] + + '@oxc-resolver/binding-win32-x64-msvc@1.10.2': + resolution: {integrity: sha512-l8BDQWyP0Piw8hlmYPUqTRKLsq+ceG9h+9p6ZrjNzwW9AmJX7T7T2hgoVVHqS6f4WNA/CFkb3RyZP9QTzNkyyA==} + cpu: [x64] + os: [win32] + + '@planetscale/database@1.18.0': resolution: {integrity: sha512-t2XdOfrVgcF7AW791FtdPS27NyNqcE1SpoXgk3HpziousvUMsJi4Q6NL3JyOBpsMOrvk94749o8yyonvX5quPw==} engines: {node: '>=16'} - /@prisma/engines-version@5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1: - resolution: {integrity: sha512-GG/bi6v9Dyi7nXuwxuBUPfRfOY+6+CuIOColL4/eCOmoDg8BKew/XFGD6Fhun0okj9ZQx9p7j5ciWJ1H1K1jGw==} + '@prisma/engines-version@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': + resolution: {integrity: sha512-R/ZcMuaWZT2UBmgX3Ko6PAV3f8//ZzsjRIG1eKqp3f2rqEqVtCv+mtzuH2rBPUC9ujJ5kCb9wwpxeyCkLcHVyA==} - /@prisma/mini-proxy@0.9.5: + '@prisma/mini-proxy@0.9.5': resolution: {integrity: sha512-0MLaxUjGbZGJGx9fIy1kbAH65hcZHCP6yes8xCTVcWumo64uzAxuvZdf5l1EPCZrDnj+iZNAy0U364oOAN+gXQ==} engines: {node: '>=16'} hasBin: true - dev: true - /@prisma/prisma-schema-wasm@5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1: - resolution: {integrity: sha512-F9qRdZUSCMRp6iThnGX7L4B/mvcjBAqDhla7mPxoAUKFC8/7ZRBfqZvWjB8kgJQ2gDCQP7j2iXbr4CayAGFG1w==} - dev: false + '@prisma/prisma-schema-wasm@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': + resolution: {integrity: sha512-eUGf3d4K5XaQwfxr61Cbjq7ZpU+xrp5FVpt+NV+ZZQ9hxvKBL+tzi5gA4qufJ6BFC1WohgBSjelYbW+UUt3vXw==} - /@prisma/query-engine-wasm@5.16.0-5.6f3b8db04fa234ab2812fdd27456e9d9590eedb1: - resolution: {integrity: sha512-OHi/FRZnoUKdI/KFiyvway3BOiWcR3PrKEGZMFQrpu/5i9Q0dunjMVWO65Hhw72+xMw25tRbK0HdCABN7fgr6A==} - dev: true + '@prisma/query-compiler-wasm@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': + resolution: {integrity: sha512-op8qsLZ1pE8Agl3b7XIHoM3z3DtFU+vqBm4yCX3g+HmX2UcLPkFMq1laSDjl1wfApJZJpyNzdfk/AuCrrdLDew==} - /@prisma/studio-common@0.501.0: - resolution: {integrity: sha512-41sxCrSjpPYxKBUbl0rRqtwGnmT6VHU1sYsg58Ohev0ZylZiXZatFAvBUit1EtJ1ZcuX2CxQ+04ItwHrZXVlUA==} + '@prisma/query-engine-wasm@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': + resolution: {integrity: sha512-JWff8alWVqVSozzMGsB5SqPnpDaZa+3H5akHycWGYKxQtq8hSjnFUSPV+dsQLmzKOsefSW1CDhE1AKPS3Tf0MQ==} + + '@prisma/studio-common@0.505.0': + resolution: {integrity: sha512-1mwr36Sag+W9Tb9wLqoZ2Hvt/hANznwQIsDtCGrs+RWJPuSEgfPm7jPXWyQyEHaGuZ9nRppS0DcnymyoOeW/gw==} engines: {node: '>= 16.13'} - dependencies: - buffer: 6.0.3 - dev: true - /@prisma/studio-pcw@0.501.0(@prisma/client@packages+client)(@prisma/internals@packages+internals): - resolution: {integrity: sha512-osZrlJN+QNUm1xt92A0gExqxw10aidxeoDf+70vARprRqjv3afsKduvOWHYz0A1LUKAIA/QP+pNjv4XFyTjPaQ==} + '@prisma/studio-pcw@0.505.0': + resolution: {integrity: sha512-Xydeq8DFMSaJ/ukbYR7eVn/Fe7IgHUz8JHfsgm0d0xKm4EWzn/gHGv19EWYlHzcMcs8NHz6dDidYOULkFDhmYg==} engines: {node: '>= 16.13'} peerDependencies: '@prisma/client': '*' '@prisma/internals': '*' - dependencies: - '@prisma/client': link:packages/client - '@prisma/internals': link:packages/internals - debug: 4.3.3 - lodash: 4.17.21 - transitivePeerDependencies: - - supports-color - dev: true - /@prisma/studio-server@0.501.0(@prisma/client@packages+client)(@prisma/internals@packages+internals): - resolution: {integrity: sha512-TFg4gQC6QMn1+Mu0RVhNSvLdmGyCjR28t5vhp+nbjqQUC5LtFQuFxmVrAxS1wuCXbZ1pQFsMIGpXo90oO9yJ9g==} + '@prisma/studio-server@0.505.0': + resolution: {integrity: sha512-NGMpNLuh9Hkpenawsj9hkeT2zxnjdTOG86Pz/OBbS2gNA3epRuU0uAaT2TetG3ccUZ8wX6Yzc2vlXypKqJtg3A==} engines: {node: '>= 16.13'} peerDependencies: '@prisma/internals': '*' - dependencies: - '@prisma/internals': link:packages/internals - '@prisma/studio': 0.501.0 - '@prisma/studio-common': 0.501.0 - '@prisma/studio-pcw': 0.501.0(@prisma/client@packages+client)(@prisma/internals@packages+internals) - checkpoint-client: 1.1.33 - cors: 2.8.5 - debug: 4.3.3 - express: 4.17.2 - untildify: 4.0.0 - transitivePeerDependencies: - - '@prisma/client' - - encoding - - supports-color - dev: true - /@prisma/studio@0.501.0: - resolution: {integrity: sha512-Q2OfRUF6JTcGILhCYO2MV7CheqIZEJ0+GbqBFKmUC8AypBapOTeQ3+fPzDX8qT9a46aW3TYQ6rWKaJBGHTJHeA==} - dev: true + '@prisma/studio@0.505.0': + resolution: {integrity: sha512-XNkrx05zsZuS2YqLPmvq7Z3ziRs6RWw/I/RIDxKMjpbvfEQftdLgvyh1tLUOn+PANkveHit33EPJXVeKyCf4tg==} - /@rushstack/node-core-library@5.4.1(@types/node@20.12.7): - resolution: {integrity: sha512-WNnwdS8r9NZ/2K3u29tNoSRldscFa7SxU0RT+82B6Dy2I4Hl2MeCSKm4EXLXPKeNzLGvJ1cqbUhTLviSF8E6iA==} + '@rushstack/node-core-library@5.10.1': + resolution: {integrity: sha512-BSb/KcyBHmUQwINrgtzo6jiH0HlGFmrUy33vO6unmceuVKTEyL2q+P0fQq2oB5hvXVWOEUhxB2QvlkZluvUEmg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - dependencies: - '@types/node': 20.12.7 - ajv: 8.13.0 - ajv-draft-04: 1.0.0(ajv@8.13.0) - ajv-formats: 3.0.1 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - dev: true - /@rushstack/rig-package@0.5.2: - resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} - dependencies: - resolve: 1.22.8 - strip-json-comments: 3.1.1 - dev: true + '@rushstack/rig-package@0.5.3': + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} - /@rushstack/terminal@0.13.0(@types/node@20.12.7): - resolution: {integrity: sha512-Ou44Q2s81BqJu3dpYedAX54am9vn245F0HzqVrfJCMQk5pGgoKKOBOjkbfZC9QKcGNaECh6pwH2s5noJt7X6ew==} + '@rushstack/terminal@0.14.4': + resolution: {integrity: sha512-NxACqERW0PHq8Rpq1V6v5iTHEwkRGxenjEW+VWqRYQ8T9puUzgmGHmEZUaUEDHAe9Qyvp0/Ew04sAiQw9XjhJg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - dependencies: - '@rushstack/node-core-library': 5.4.1(@types/node@20.12.7) - '@types/node': 20.12.7 - supports-color: 8.1.1 - dev: true - /@rushstack/ts-command-line@4.22.0(@types/node@20.12.7): - resolution: {integrity: sha512-Qj28t6MO3HRgAZ72FDeFsrpdE6wBWxF3VENgvrXh7JF2qIT+CrXiOJIesW80VFZB9QwObSpkB1ilx794fGQg6g==} - dependencies: - '@rushstack/terminal': 0.13.0(@types/node@20.12.7) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true + '@rushstack/ts-command-line@4.23.2': + resolution: {integrity: sha512-JJ7XZX5K3ThBBva38aomgsPv1L7FV6XmSOcR6HtM7HDFZJkepqT65imw26h9ggGqMjsY0R9jcl30tzKcVj9aOQ==} - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@sindresorhus/slugify@1.1.2: + '@sindresorhus/slugify@1.1.2': resolution: {integrity: sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==} engines: {node: '>=10'} - dependencies: - '@sindresorhus/transliterate': 0.1.2 - escape-string-regexp: 4.0.0 - dev: true - /@sindresorhus/transliterate@0.1.2: + '@sindresorhus/transliterate@0.1.2': resolution: {integrity: sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==} engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - lodash.deburr: 4.1.0 - dev: true - /@sinonjs/commons@2.0.0: + '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - dependencies: - type-detect: 4.0.8 - dev: true - /@sinonjs/fake-timers@10.0.2: + '@sinonjs/fake-timers@10.0.2': resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} - dependencies: - '@sinonjs/commons': 2.0.0 - dev: true - /@size-limit/file@9.0.0(size-limit@9.0.0): + '@size-limit/file@9.0.0': resolution: {integrity: sha512-oM2UaH2FRq4q22k+R+P6xCpzET10T94LFdSjb9svVu/vOD7NaB9LGcG6se8TW1BExXiyXO4GEhLsBt3uMKM3qA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 9.0.0 - dependencies: - semver: 7.5.4 - size-limit: 9.0.0 - dev: true - /@slack/types@2.9.0: + '@slack/types@2.9.0': resolution: {integrity: sha512-YfZGo0xVOmI7CHhiwCmEC33HzjQl1lakNmyo5GPGb4KHKEaUoY7zenAdKsYCJqYwdaM9OL+hqYt/tZ2zgvVc7g==} engines: {node: '>= 12.13.0', npm: '>= 6.12.0'} - dev: true - /@slack/webhook@7.0.2: - resolution: {integrity: sha512-dsrO/ow6a6+xkLm/lZKbUNTsFJlBc679tD+qwlVTztsQkDxPLH6odM7FKALz1IHa+KpLX8HKUIPV13a7y7z29w==} + '@slack/webhook@7.0.4': + resolution: {integrity: sha512-JDJte2dbJCcq1/GCMBYJH6fj+YS4n5GuPjT4tF3O1NPN6pFPCR9yA/apRh9sdfhdFG7hadiRgmiQqC4GLgNkZg==} engines: {node: '>= 18', npm: '>= 8.6.0'} - dependencies: - '@slack/types': 2.9.0 - '@types/node': 20.12.7 - axios: 1.6.7 - transitivePeerDependencies: - - debug - dev: true - /@snaplet/copycat@0.17.3: + '@snaplet/copycat@0.17.3': resolution: {integrity: sha512-cwX6zphBd1KNuOPmILggXkddLf+juIrXsFhfOz0nMDIIAkWyoFQAqwt4pn5lS2RNMJTzT7IZRKplnFt/D2t8zw==} - dependencies: - '@faker-js/faker': 8.4.1 - fictional: 0.8.4 - uuid: 8.3.2 - dev: true - /@swc-node/core@1.13.1(@swc/core@1.5.25): - resolution: {integrity: sha512-emB5l2nZsXjUEAuusqjYvWnQMLWZp6K039Mv8aq5SX1rsNM/N7DNhw1i4/DX7AyzNZ0tT+ASWyTvqEURldp5HA==} + '@swc-node/core@1.13.3': + resolution: {integrity: sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==} engines: {node: '>= 10'} peerDependencies: '@swc/core': '>= 1.4.13' '@swc/types': '>= 0.1' - dependencies: - '@swc/core': 1.5.25 - dev: true - /@swc-node/register@1.9.1(@swc/core@1.5.25)(typescript@5.4.5): - resolution: {integrity: sha512-z//TBXJdRWXoISCXlQmVz+NMm8Qm/UvcfKiGC0tSJdfeVYf5EZkGqvk2OiRH4SIJ6OGFfS9T0YrvA2pDKzWtPA==} + '@swc-node/register@1.10.9': + resolution: {integrity: sha512-iXy2sjP0phPEpK2yivjRC3PAgoLaT4sjSk0LDWCTdcTBJmR4waEog0E6eJbvoOkLkOtWw37SB8vCkl/bbh4+8A==} peerDependencies: '@swc/core': '>= 1.4.13' typescript: '>= 4.3' - dependencies: - '@swc-node/core': 1.13.1(@swc/core@1.5.25) - '@swc-node/sourcemap-support': 0.5.0 - '@swc/core': 1.5.25 - colorette: 2.0.20 - debug: 4.3.5 - pirates: 4.0.6 - tslib: 2.6.2 - typescript: 5.4.5 - transitivePeerDependencies: - - '@swc/types' - - supports-color - dev: true - /@swc-node/sourcemap-support@0.5.0: - resolution: {integrity: sha512-fbhjL5G0YvFoWwNhWleuBUfotiX+USiA9oJqu9STFw+Hb0Cgnddn+HVS/K5fI45mn92e8V+cHD2jgFjk4w2T9Q==} - dependencies: - source-map-support: 0.5.21 - tslib: 2.6.2 - dev: true + '@swc-node/sourcemap-support@0.5.1': + resolution: {integrity: sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==} - /@swc/core-android-arm-eabi@1.2.204: + '@swc/core-android-arm-eabi@1.2.204': resolution: {integrity: sha512-7f5wtQlTvqr1aW3Umb9juxE8zlAxk6i3m34Mr1wlfJlh7DkkFAxRXiPSz8Uleb7sGmdY7hukUu/o8ex5o/aCzg==} engines: {node: '>=10'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@swc/core-android-arm64@1.2.204: + '@swc/core-android-arm64@1.2.204': resolution: {integrity: sha512-MCbzyGmhVWhTqUVTSDdWGLBFo7cxlVAKuCMgh1XSIgFB/ys8sAAyCKWqoafx2H4hRl6pRRBAdym35zTpzIFotw==} engines: {node: '>=10'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@swc/core-darwin-arm64@1.2.204: - resolution: {integrity: sha512-DuBBKIyk0iUGPmq6RQc7/uOCkGnvB0JDWQbWxA2NGAEcK0ZtI9J0efG9M1/gLIb0QD+d2DVS5Lx7VRIUFTx9lA==} + '@swc/core-darwin-arm64@1.10.9': + resolution: {integrity: sha512-XTHLtijFervv2B+i1ngM993umhSj9K1IeMomvU/Db84Asjur2XmD4KXt9QPnGDRFgv2kLSjZ+DDL25Qk0f4r+w==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@swc/core-darwin-arm64@1.5.25: - resolution: {integrity: sha512-YbD0SBgVJS2DM0vwJTU5m7+wOyCjHPBDMf3nCBJQzFZzOLzK11eRW7SzU2jhJHr9HI9sKcNFfN4lIC2Sj+4inA==} + '@swc/core-darwin-arm64@1.2.204': + resolution: {integrity: sha512-DuBBKIyk0iUGPmq6RQc7/uOCkGnvB0JDWQbWxA2NGAEcK0ZtI9J0efG9M1/gLIb0QD+d2DVS5Lx7VRIUFTx9lA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@swc/core-darwin-x64@1.2.204: - resolution: {integrity: sha512-WvDN6tRjQ/p+4gNvT4UVU4VyJLXy6hT4nT6mGgrtftG/9pP5dDPwwtTm86ISfqGUs8/LuZvrr4Nhwdr3j+0uAA==} + '@swc/core-darwin-x64@1.10.9': + resolution: {integrity: sha512-bi3el9/FV/la8HIsolSjeDar+tM7m9AmSF1w7X6ZByW2qgc4Z1tmq0A4M4H9aH3TfHesZbfq8hgaNtc2/VtzzQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@swc/core-darwin-x64@1.5.25: - resolution: {integrity: sha512-OhP4TROT6gQuozn+ah0Y4UidSdgDmxwtQq3lgCUIAxJYErJAQ82/Y0kve2UaNmkSGjOHU+/b4siHPrYTkXOk0Q==} + '@swc/core-darwin-x64@1.2.204': + resolution: {integrity: sha512-WvDN6tRjQ/p+4gNvT4UVU4VyJLXy6hT4nT6mGgrtftG/9pP5dDPwwtTm86ISfqGUs8/LuZvrr4Nhwdr3j+0uAA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@swc/core-freebsd-x64@1.2.204: + '@swc/core-freebsd-x64@1.2.204': resolution: {integrity: sha512-Ia0OyqYYzQkEYhCZJTNHpHqHQh8r6mifqGw7ZU7WMkVQRPxULM+sUL+u0a3J5dzYKX7ubwzq8HJAyBiCvuq5eg==} engines: {node: '>=10'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-arm-gnueabihf@1.2.204: - resolution: {integrity: sha512-WnL+wtwt1UEtCo8VN3BFiNshZxMyFes1rdNcanzlNbixyW9ESanfy6KGtmTVX6Cz2W6c+mr588kBFFu9Fqkd0w==} + '@swc/core-linux-arm-gnueabihf@1.10.9': + resolution: {integrity: sha512-xsLHV02S+RTDuI+UJBkA2muNk/s0ETRpoc1K/gNt0i8BqTurPYkrvGDDALN9+leiUPydHvZi9P1qdExbgUJnXw==} engines: {node: '>=10'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-arm-gnueabihf@1.5.25: - resolution: {integrity: sha512-tNmUfrAHxN2gvYPyYNnHx2CYlPO7DGAUuK/bZrqawu++djcg+atAV3eI3XYJgmHId7/sYAlDQ9wjkrOLofFjVg==} + '@swc/core-linux-arm-gnueabihf@1.2.204': + resolution: {integrity: sha512-WnL+wtwt1UEtCo8VN3BFiNshZxMyFes1rdNcanzlNbixyW9ESanfy6KGtmTVX6Cz2W6c+mr588kBFFu9Fqkd0w==} engines: {node: '>=10'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-arm64-gnu@1.2.204: - resolution: {integrity: sha512-oQBahskrbU+g0uEcQM0o9O47jHrMwgQ7f6htkWhYxbyyK392nGI+eH2zapNe0zvsfx3sSCIVmjLAvgBCNP9ygw==} + '@swc/core-linux-arm64-gnu@1.10.9': + resolution: {integrity: sha512-41hJgPoGhIa12U6Tud+yLF/m64YA3mGut3TmBEkj2R7rdJdE0mljdtR0tf4J2RoQaWZPPi0DBSqGdROiAEx9dg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-arm64-gnu@1.5.25: - resolution: {integrity: sha512-stzpke+bRaNFM/HrZPRjX0aQZ86S/2DChVCwb8NAV1n5lu9mz1CS750y7WbbtX/KZjk92FsCeRy2qwkvjI0gWw==} + '@swc/core-linux-arm64-gnu@1.2.204': + resolution: {integrity: sha512-oQBahskrbU+g0uEcQM0o9O47jHrMwgQ7f6htkWhYxbyyK392nGI+eH2zapNe0zvsfx3sSCIVmjLAvgBCNP9ygw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-arm64-musl@1.2.204: - resolution: {integrity: sha512-0vW6+M4yDEzqbJZU+7n+F5Oxwgjp14cNnraZF4wsAb27MXGi6vX9bLLbI5rSik1zYpKjOrLtCR0St8GtOC48Ew==} + '@swc/core-linux-arm64-musl@1.10.9': + resolution: {integrity: sha512-DUMRhl49b9r7bLg9oNzCdW4lLcDJKrRBn87Iq5APPvixsm1auGnsVQycGkQcDDKvVllxIFSbmCYzjagx3l8Hnw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-arm64-musl@1.5.25: - resolution: {integrity: sha512-UckUfDYedish/bj2V1jgQDGgouLhyRpG7jgF3mp8jHir11V2K6JiTyjFoz99eOiclS3+hNdr4QLJ+ifrQMJNZw==} + '@swc/core-linux-arm64-musl@1.2.204': + resolution: {integrity: sha512-0vW6+M4yDEzqbJZU+7n+F5Oxwgjp14cNnraZF4wsAb27MXGi6vX9bLLbI5rSik1zYpKjOrLtCR0St8GtOC48Ew==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-x64-gnu@1.2.204: - resolution: {integrity: sha512-6eco63idgYWPYrSpDeSE3tgh/4CC0hJz8cAO/M/f3azmCXvI+11isC60ic3UKeZ2QNXz3YbsX6CKAgBPSkkaVA==} + '@swc/core-linux-x64-gnu@1.10.9': + resolution: {integrity: sha512-xW0y88vQvmzYo3Gn7yFnY03TfHMwuca4aFH3ZmhwDNOYHmTOi6fmhAkg/13F/NrwjMYO+GnF5uJTjdjb3B6tdQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-x64-gnu@1.5.25: - resolution: {integrity: sha512-LwbJEgNT3lXbvz4WFzVNXNvs8DvxpoXjMZk9K9Hig8tmZQJKHC2qZTGomcyK5EFzfj2HBuBXZnAEW8ZT9PcEaA==} + '@swc/core-linux-x64-gnu@1.2.204': + resolution: {integrity: sha512-6eco63idgYWPYrSpDeSE3tgh/4CC0hJz8cAO/M/f3azmCXvI+11isC60ic3UKeZ2QNXz3YbsX6CKAgBPSkkaVA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-x64-musl@1.2.204: - resolution: {integrity: sha512-9wBiGghWhYCcXhDppzKM4a+vXldMoK3+XaSWvGw1lP+65B4ffsYXpDenEXqLV5W/i2iJ8Sbh2xN+EiKvTJBObw==} + '@swc/core-linux-x64-musl@1.10.9': + resolution: {integrity: sha512-jYs32BEx+CPVuxN6NdsWEpdehjnmAag25jyJzwjQx+NCGYwHEV3bT5y8TX4eFhaVB1rafmqJOlYQPs4+MSyGCg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-linux-x64-musl@1.5.25: - resolution: {integrity: sha512-rsepMTgml0EkswWkBpg3Wrjj5eqjwTzZN5omAn1klzXSZnClTrfeHvBuoIJYVr1yx+jmBkqySgME2p7+magUAw==} + '@swc/core-linux-x64-musl@1.2.204': + resolution: {integrity: sha512-9wBiGghWhYCcXhDppzKM4a+vXldMoK3+XaSWvGw1lP+65B4ffsYXpDenEXqLV5W/i2iJ8Sbh2xN+EiKvTJBObw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@swc/core-win32-arm64-msvc@1.2.204: - resolution: {integrity: sha512-h2CrN7D9hA7/tePtqmK8fxPBDORBUKFoF8Ouhbyd0XgWfDOEblJdviSp9oURR9bj7KH5mL2S+nCyv2lSZCtWKw==} + '@swc/core-win32-arm64-msvc@1.10.9': + resolution: {integrity: sha512-Uhh5T3Fq3Nyom96Bm3ACBNASH3iqNc76in7ewZz8PooUqeTIO8aZpsghnncjctRNE9T819/8btpiFIhHo3sKtg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@swc/core-win32-arm64-msvc@1.5.25: - resolution: {integrity: sha512-DJDsLBsRBV3uQBShRK2x6fqzABp9RLNVxDUpTTvUjc7qywJ8vS/yn+POK/zCyVEqLagf1z/8D5CEQ+RAIJq1NA==} + '@swc/core-win32-arm64-msvc@1.2.204': + resolution: {integrity: sha512-h2CrN7D9hA7/tePtqmK8fxPBDORBUKFoF8Ouhbyd0XgWfDOEblJdviSp9oURR9bj7KH5mL2S+nCyv2lSZCtWKw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@swc/core-win32-ia32-msvc@1.2.204: - resolution: {integrity: sha512-703+aUSVTbSIQ9V8YeMgitpJiGLiN5Zxwku0dVbeztYYAJQQFHFi5sV6igbvCXKi26Mqs9kps0QO/pi5DWPrsg==} + '@swc/core-win32-ia32-msvc@1.10.9': + resolution: {integrity: sha512-bD5BpbojEsDfrAvT+1qjQPf5RCKLg4UL+3Uwm019+ZR02hd8qO538BlOnQdOqRqccu+75DF6aRglQ7AJ24Cs0Q==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@swc/core-win32-ia32-msvc@1.5.25: - resolution: {integrity: sha512-BARL1ulHol53MEKC1ZVWM3A3FP757UUgG5Q8v97za+4a1SaIgbwvAQyHDxMYWi9+ij+OapK8YnWjJcFa17g8dw==} + '@swc/core-win32-ia32-msvc@1.2.204': + resolution: {integrity: sha512-703+aUSVTbSIQ9V8YeMgitpJiGLiN5Zxwku0dVbeztYYAJQQFHFi5sV6igbvCXKi26Mqs9kps0QO/pi5DWPrsg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@swc/core-win32-x64-msvc@1.2.204: - resolution: {integrity: sha512-gPfLEb5SbOaaRL7yxB+qXwSxXb+rsc3hXEUaxhOk5JAv8Yfi1f8nlTMNMlxKkf6/Tc3MRkFNr973GrwTtMvN4g==} + '@swc/core-win32-x64-msvc@1.10.9': + resolution: {integrity: sha512-NwkuUNeBBQnAaXVvcGw8Zr6RR8kylyjFUnlYZZ3G0QkQZ4rYLXYTafAmiRjrfzgVb0LcMF/sBzJvGOk7SwtIDg==} engines: {node: '>=10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@swc/core-win32-x64-msvc@1.5.25: - resolution: {integrity: sha512-o+MHUWrQI9iR6EusEV8eNU2Ezi3KtlhUR4gfptQN5MbVzlgjTvQbhiKpE1GYOxp+0BLBbKRwITKOcdhxfEJ2Uw==} + '@swc/core-win32-x64-msvc@1.2.204': + resolution: {integrity: sha512-gPfLEb5SbOaaRL7yxB+qXwSxXb+rsc3hXEUaxhOk5JAv8Yfi1f8nlTMNMlxKkf6/Tc3MRkFNr973GrwTtMvN4g==} engines: {node: '>=10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - - /@swc/core@1.2.204: - resolution: {integrity: sha512-aCaHwmT4P8ZzA5xr0YE8cRKYQmONazCPj3M5yKN644PLeolZL3Eog5heoEiZQYDdZzoPkGNgOu9J8zit0KF5Ig==} - engines: {node: '>=10'} - hasBin: true - optionalDependencies: - '@swc/core-android-arm-eabi': 1.2.204 - '@swc/core-android-arm64': 1.2.204 - '@swc/core-darwin-arm64': 1.2.204 - '@swc/core-darwin-x64': 1.2.204 - '@swc/core-freebsd-x64': 1.2.204 - '@swc/core-linux-arm-gnueabihf': 1.2.204 - '@swc/core-linux-arm64-gnu': 1.2.204 - '@swc/core-linux-arm64-musl': 1.2.204 - '@swc/core-linux-x64-gnu': 1.2.204 - '@swc/core-linux-x64-musl': 1.2.204 - '@swc/core-win32-arm64-msvc': 1.2.204 - '@swc/core-win32-ia32-msvc': 1.2.204 - '@swc/core-win32-x64-msvc': 1.2.204 - dev: true - /@swc/core@1.5.25: - resolution: {integrity: sha512-qdGEIdLVoTjEQ7w72UyyQ0wLFY4XbHfZiidmPHKJQsvSXzdpHXxPdlTCea/mY4AhMqo/M+pvkJSXJAxZnFl7qw==} + '@swc/core@1.10.9': + resolution: {integrity: sha512-MQ97YSXu2oibzm7wi4GNa7hhndjLuVt/lmO2sq53+P37oZmyg/JQ/IYYtSiC6UGK3+cHoiVAykrK+glxLjJbag==} engines: {node: '>=10'} - requiresBuild: true peerDependencies: '@swc/helpers': '*' peerDependenciesMeta: '@swc/helpers': optional: true - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.7 - optionalDependencies: - '@swc/core-darwin-arm64': 1.5.25 - '@swc/core-darwin-x64': 1.5.25 - '@swc/core-linux-arm-gnueabihf': 1.5.25 - '@swc/core-linux-arm64-gnu': 1.5.25 - '@swc/core-linux-arm64-musl': 1.5.25 - '@swc/core-linux-x64-gnu': 1.5.25 - '@swc/core-linux-x64-musl': 1.5.25 - '@swc/core-win32-arm64-msvc': 1.5.25 - '@swc/core-win32-ia32-msvc': 1.5.25 - '@swc/core-win32-x64-msvc': 1.5.25 - dev: true - - /@swc/counter@0.1.3: - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - dev: true - /@swc/jest@0.2.36(@swc/core@1.2.204): - resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} - engines: {npm: '>= 7.0.0'} - peerDependencies: - '@swc/core': '*' - dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.2.204 - '@swc/counter': 0.1.3 - jsonc-parser: 3.2.0 - dev: true + '@swc/core@1.2.204': + resolution: {integrity: sha512-aCaHwmT4P8ZzA5xr0YE8cRKYQmONazCPj3M5yKN644PLeolZL3Eog5heoEiZQYDdZzoPkGNgOu9J8zit0KF5Ig==} + engines: {node: '>=10'} + hasBin: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - /@swc/jest@0.2.36(@swc/core@1.5.25): - resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} + '@swc/jest@0.2.37': + resolution: {integrity: sha512-CR2BHhmXKGxTiFr21DYPRHQunLkX3mNIFGFkxBGji6r9uyIR5zftTOVYj1e0sFNMV2H7mf/+vpaglqaryBtqfQ==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' - dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.5.25 - '@swc/counter': 0.1.3 - jsonc-parser: 3.2.0 - dev: true - /@swc/types@0.1.7: - resolution: {integrity: sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==} - dependencies: - '@swc/counter': 0.1.3 - dev: true + '@swc/types@0.1.17': + resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} - /@tediousjs/connection-string@0.5.0: + '@tediousjs/connection-string@0.5.0': resolution: {integrity: sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==} - dev: true - /@timsuchanek/copy@1.4.5: + '@timsuchanek/copy@1.4.5': resolution: {integrity: sha512-N4+2/DvfwzQqHYL/scq07fv8yXbZc6RyUxKJoE8Clm14JpLOf9yNI4VB4D6RsV3h9zgzZ4loJUydHKM7pp3blw==} hasBin: true - dependencies: - '@timsuchanek/sleep-promise': 8.0.1 - commander: 2.20.3 - mkdirp: 1.0.4 - prettysize: 2.0.0 - dev: true - /@timsuchanek/sleep-promise@8.0.1: + '@timsuchanek/sleep-promise@8.0.1': resolution: {integrity: sha512-cxHYbrXfnCWsklydIHSw5GCMHUPqpJ/enxWSyVHNOgNe61sit/+aOXTTI+VOdWkvVaJsI2vsB9N4+YDNITawOQ==} - dev: true - /@tootallnate/once@1.1.2: + '@tootallnate/once@1.1.2': resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} - requiresBuild: true - dev: true - optional: true - /@tootallnate/once@2.0.0: + '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - dev: true - /@tsconfig/node10@1.0.9: + '@tsconfig/node10@1.0.9': resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true - /@tsconfig/node12@1.0.11: + '@tsconfig/node12@1.0.11': resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - /@tsconfig/node14@1.0.3: + '@tsconfig/node14@1.0.3': resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - /@tsconfig/node16@1.0.3: + '@tsconfig/node16@1.0.3': resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} - dev: true - /@tsd/typescript@5.4.3: + '@tsd/typescript@5.4.3': resolution: {integrity: sha512-htCVCSQP58wZcLfQaT7ikW9hSjJN7ntIe0HzAfYpBauI0tYoIM0ow4XEZGFwYN266qEsJoOHhlnkNvz/gLrx4Q==} engines: {node: '>=14.17'} - dev: true - /@types/argparse@1.0.38: + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - /@types/babel__core@7.1.19: + '@types/babel__core@7.1.19': resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} - dependencies: - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.2 - dev: true - /@types/babel__generator@7.6.4: + '@types/babel__generator@7.6.4': resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@types/babel__template@7.4.1: + '@types/babel__helper-validator-identifier@7.15.2': + resolution: {integrity: sha512-l3dkwCt890NFhMwPKXbxsWXC0Por0/+KaFIiQP1j38/vWSH2P3Tn6m+IuJHkx2SBI3VLFqincFe9JtBk2NFHOw==} + + '@types/babel__template@7.4.1': resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 - dev: true - /@types/babel__traverse@7.18.2: + '@types/babel__traverse@7.18.2': resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@types/benchmark@2.1.5: + '@types/benchmark@2.1.5': resolution: {integrity: sha512-cKio2eFB3v7qmKcvIHLUMw/dIx/8bhWPuzpzRT4unCPRTD8VdA9Zb0afxpcxOqR4PixRS7yT42FqGS8BYL8g1w==} - dev: true - /@types/cross-spawn@6.0.6: + '@types/cross-spawn@6.0.6': resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/debug@4.1.12: + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - dependencies: - '@types/ms': 0.7.31 - dev: true - /@types/eslint-scope@3.7.4: + '@types/eslint-scope@3.7.4': resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} - dependencies: - '@types/eslint': 7.29.0 - '@types/estree': 1.0.5 - dev: true - /@types/eslint@7.29.0: + '@types/eslint@7.29.0': resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - dev: true - /@types/estree@1.0.5: + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - /@types/fs-extra@11.0.1: + '@types/fs-extra@11.0.1': resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} - dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 20.12.7 - dev: true - /@types/fs-extra@9.0.13: + '@types/fs-extra@9.0.13': resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/geojson@7946.0.14: + '@types/geojson@7946.0.14': resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} - dev: true - /@types/glob@8.0.0: + '@types/glob@8.0.0': resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} - dependencies: - '@types/minimatch': 5.1.2 - '@types/node': 20.12.7 - dev: true - /@types/graceful-fs@4.1.5: + '@types/graceful-fs@4.1.5': resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/graphviz@0.0.39: + '@types/graphviz@0.0.39': resolution: {integrity: sha512-3sBvki6GxLB4yvxArDQ0jjfuMKWEGVLUttNo3KULoidIstLIaCa2gG8+YkPQdoSUO74Y/ww3cZ7oAnw61dYIbw==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/istanbul-lib-coverage@2.0.4: + '@types/istanbul-lib-coverage@2.0.4': resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true - /@types/istanbul-lib-report@3.0.0: + '@types/istanbul-lib-report@3.0.0': resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - /@types/istanbul-reports@3.0.1: + '@types/istanbul-reports@3.0.1': resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - /@types/jest@29.5.12: - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - dev: true + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} - /@types/js-levenshtein@1.1.3: + '@types/js-levenshtein@1.1.3': resolution: {integrity: sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==} - dev: true - /@types/json-schema@7.0.15: + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - /@types/json5@0.0.29: + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/jsonfile@6.1.1: + '@types/jsonfile@6.1.1': resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/minimatch@5.1.2: + '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: true - /@types/minimist@1.2.2: + '@types/minimist@1.2.2': resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true - /@types/ms@0.7.31: + '@types/ms@0.7.31': resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: true - /@types/mssql@9.1.5: + '@types/mssql@9.1.5': resolution: {integrity: sha512-Q9EsgXwuRoX5wvUSu24YfbKMbFChv7pZ/jeCzPkj47ehcuXYsBcfogwrtVFosSjinD4Q/MY2YPGk9Yy1cM2Ywg==} - dependencies: - '@types/node': 20.12.7 - '@types/tedious': 4.0.9 - tarn: 3.0.2 - dev: true - /@types/mute-stream@0.0.4: + '@types/mute-stream@0.0.4': resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/node-forge@1.3.11: + '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - dependencies: - '@types/node': 20.12.7 - /@types/node@18.19.31: + '@types/node@18.19.31': resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} - dependencies: - undici-types: 5.26.5 - dev: true - /@types/node@20.12.7: + '@types/node@20.12.7': resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.14.1: + '@types/node@20.14.1': resolution: {integrity: sha512-T2MzSGEu+ysB/FkWfqmhV3PLyQlowdptmmgD20C6QxsS8Fmv5SjpZ1ayXaEC0S21/h5UJ9iA6W/5vSNU5l00OA==} - dependencies: - undici-types: 5.26.5 - dev: true - /@types/normalize-package-data@2.4.4: + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true - /@types/pg@8.11.6: + '@types/pg@8.11.6': resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} - dependencies: - '@types/node': 20.12.7 - pg-protocol: 1.6.1 - pg-types: 4.0.2 - /@types/progress@2.0.7: + '@types/progress@2.0.7': resolution: {integrity: sha512-iadjw02vte8qWx7U0YM++EybBha2CQLPGu9iJ97whVgJUT5Zq9MjAPYUnbfRI2Kpehimf1QjFJYxD0t8nqzu5w==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/prompts@2.4.9: + '@types/prompts@2.4.9': resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} - dependencies: - '@types/node': 20.12.7 - kleur: 3.0.3 - dev: true - /@types/ps-tree@1.1.2: + '@types/ps-tree@1.1.2': resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} - dev: true - /@types/redis@2.8.32: + '@types/readable-stream@4.0.14': + resolution: {integrity: sha512-xZn/AuUbCMShGsqH/ehZtGDwQtbx00M9rZ2ENLe4tOjFZ/JFeWMhEZkk2fEe1jAUqqEAURIkFJ7Az/go8mM1/w==} + + '@types/redis@2.8.32': resolution: {integrity: sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/resolve@1.20.6: + '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} - dev: true - /@types/retry@0.12.0: + '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true - /@types/rimraf@3.0.2: + '@types/rimraf@3.0.2': resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} - dependencies: - '@types/glob': 8.0.0 - '@types/node': 20.12.7 - dev: true - /@types/shimmer@1.0.2: - resolution: {integrity: sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==} + '@types/shimmer@1.2.0': + resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} - /@types/sqlite3@3.1.11: + '@types/sqlite3@3.1.11': resolution: {integrity: sha512-KYF+QgxAnnAh7DWPdNDroxkDI3/MspH1NMx6m/N/6fT1G6+jvsw4/ZePt8R8cr7ta58aboeTfYFBDxTJ5yv15w==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/stack-utils@2.0.1: + '@types/stack-utils@2.0.1': resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - /@types/tedious@4.0.9: + '@types/tedious@4.0.9': resolution: {integrity: sha512-ipwFvfy9b2m0gjHsIX0D6NAAwGCKokzf5zJqUZHUGt+7uWVlBIy6n2eyMgiKQ8ChLFVxic/zwQUhjLYNzbHDRA==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/webidl-conversions@7.0.0: + '@types/webidl-conversions@7.0.0': resolution: {integrity: sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==} - dev: true - /@types/whatwg-url@11.0.4: + '@types/whatwg-url@11.0.4': resolution: {integrity: sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==} - dependencies: - '@types/webidl-conversions': 7.0.0 - dev: true - /@types/which@3.0.0: + '@types/which@3.0.0': resolution: {integrity: sha512-ASCxdbsrwNfSMXALlC3Decif9rwDMu+80KGp5zI2RLRotfMsTv7fHL8W8VDp24wymzDyIFudhUeSCugrgRFfHQ==} - dev: true - /@types/wrap-ansi@3.0.0: + '@types/wrap-ansi@3.0.0': resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - dev: true - /@types/ws@8.5.6: + '@types/ws@8.5.6': resolution: {integrity: sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg==} - dependencies: - '@types/node': 20.12.7 - /@types/yargs-parser@21.0.0: + '@types/yargs-parser@21.0.0': resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - /@types/yargs@17.0.13: + '@types/yargs@17.0.13': resolution: {integrity: sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0)(eslint@9.4.0)(typescript@5.4.5): - resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} + '@typescript-eslint/eslint-plugin@7.15.0': + resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -4236,25 +3287,9 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.13.0 - '@typescript-eslint/type-utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.13.0 - eslint: 9.4.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5): - resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} + '@typescript-eslint/parser@7.15.0': + resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4262,28 +3297,13 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.13.0 - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.13.0 - debug: 4.3.5 - eslint: 9.4.0 - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@7.13.0: - resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} + '@typescript-eslint/scope-manager@7.15.0': + resolution: {integrity: sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==} engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/visitor-keys': 7.13.0 - dev: true - /@typescript-eslint/type-utils@7.13.0(eslint@9.4.0)(typescript@5.4.5): - resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} + '@typescript-eslint/type-utils@7.15.0': + resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4291,1260 +3311,677 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - debug: 4.3.5 - eslint: 9.4.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@7.13.0: - resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} + '@typescript-eslint/types@7.15.0': + resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==} engines: {node: ^18.18.0 || >=20.0.0} - dev: true - /@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5): - resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} + '@typescript-eslint/typescript-estree@7.15.0': + resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/visitor-keys': 7.13.0 - debug: 4.3.5 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@7.13.0(eslint@9.4.0)(typescript@5.4.5): - resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} + '@typescript-eslint/utils@7.15.0': + resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) - '@typescript-eslint/scope-manager': 7.13.0 - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) - eslint: 9.4.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/visitor-keys@7.13.0: - resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} + '@typescript-eslint/visitor-keys@7.15.0': + resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.13.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@webassemblyjs/ast@1.12.1: + '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.6: + '@webassemblyjs/floating-point-hex-parser@1.11.6': resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - dev: true - /@webassemblyjs/helper-api-error@1.11.6: + '@webassemblyjs/helper-api-error@1.11.6': resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - dev: true - /@webassemblyjs/helper-buffer@1.12.1: + '@webassemblyjs/helper-buffer@1.12.1': resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - dev: true - /@webassemblyjs/helper-numbers@1.11.6: + '@webassemblyjs/helper-numbers@1.11.6': resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 - '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.6: + '@webassemblyjs/helper-wasm-bytecode@1.11.6': resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: true - /@webassemblyjs/helper-wasm-section@1.12.1: + '@webassemblyjs/helper-wasm-section@1.12.1': resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 - dev: true - /@webassemblyjs/ieee754@1.11.6: + '@webassemblyjs/ieee754@1.11.6': resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - /@webassemblyjs/leb128@1.11.6: + '@webassemblyjs/leb128@1.11.6': resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/utf8@1.11.6: + '@webassemblyjs/utf8@1.11.6': resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - dev: true - /@webassemblyjs/wasm-edit@1.12.1: + '@webassemblyjs/wasm-edit@1.12.1': resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 - dev: true - /@webassemblyjs/wasm-gen@1.12.1: + '@webassemblyjs/wasm-gen@1.12.1': resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - dev: true - /@webassemblyjs/wasm-opt@1.12.1: + '@webassemblyjs/wasm-opt@1.12.1': resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - dev: true - /@webassemblyjs/wasm-parser@1.12.1: + '@webassemblyjs/wasm-parser@1.12.1': resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - dev: true - /@webassemblyjs/wast-printer@1.12.1: + '@webassemblyjs/wast-printer@1.12.1': resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@xtuc/long': 4.2.2 - dev: true - /@xtuc/ieee754@1.2.0: + '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true - /@xtuc/long@4.2.2: + '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true - /abbrev@1.1.1: + abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - requiresBuild: true - dev: true - /abort-controller@3.0.0: + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: true - /accepts@1.3.8: + accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: true - - /acorn-import-assertions@1.9.0(acorn@8.9.0): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.9.0 - dev: true - /acorn-import-attributes@1.9.5(acorn@8.9.0): + acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 - dependencies: - acorn: 8.9.0 - /acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - /acorn-walk@8.2.0: + acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - /acorn@8.11.3: + acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - /acorn@8.9.0: + acorn@8.9.0: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} hasBin: true - /agent-base@6.0.2: + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /agent-base@7.1.0: + agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} engines: {node: '>= 14'} - dependencies: - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /agentkeepalive@4.2.1: + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + + agentkeepalive@4.2.1: resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} engines: {node: '>= 8.0.0'} - requiresBuild: true - dependencies: - debug: 4.3.5 - depd: 1.1.2 - humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - /aggregate-error@3.1.0: + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - /ajv-draft-04@1.0.0(ajv@8.13.0): + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: ajv: ^8.5.0 peerDependenciesMeta: ajv: optional: true - dependencies: - ajv: 8.13.0 - dev: true - /ajv-formats@3.0.1: + ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - dependencies: - ajv: 8.13.0 - dev: true - /ajv-keywords@3.5.2(ajv@6.12.6): + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - dev: true - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /ajv@8.12.0: + ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - /ajv@8.13.0: + ajv@8.13.0: resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - /ansi-escapes@4.3.2: + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - /ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} - engines: {node: '>=14.16'} - dependencies: - type-fest: 3.13.1 - dev: true + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true - /ansi-regex@6.0.1: + ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: true - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /ansi-styles@6.2.1: + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: true - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - /aproba@2.0.0: + aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: true - /archiver-utils@4.0.1: + archiver-utils@4.0.1: resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} engines: {node: '>= 12.0.0'} - dependencies: - glob: 8.1.0 - graceful-fs: 4.2.11 - lazystream: 1.0.1 - lodash: 4.17.21 - normalize-path: 3.0.0 - readable-stream: 3.6.0 - dev: true - /archiver@6.0.2: + archiver@6.0.2: resolution: {integrity: sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw==} engines: {node: '>= 12.0.0'} - dependencies: - archiver-utils: 4.0.1 - async: 3.2.4 - buffer-crc32: 0.2.13 - readable-stream: 3.6.0 - readdir-glob: 1.1.2 - tar-stream: 3.1.6 - zip-stream: 5.0.1 - dev: true - /are-we-there-yet@2.0.0: + are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.0 - dev: true + deprecated: This package is no longer supported. - /are-we-there-yet@3.0.1: + are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - requiresBuild: true - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.0 - dev: true - optional: true + deprecated: This package is no longer supported. - /arg@4.1.3: + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - /arg@5.0.2: + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - /argparse@1.0.10: + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - /array-buffer-byte-length@1.0.0: + array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - /array-flatten@1.1.1: + array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true - /array-includes@3.1.7: + array-includes@3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.1 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - is-string: 1.0.7 - dev: true - /array-union@2.1.0: + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true - /array.prototype.findlastindex@1.2.3: + array.prototype.findlastindex@1.2.3: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.1 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 - dev: true - /array.prototype.flat@1.3.2: + array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.1 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - dev: true - /array.prototype.flatmap@1.3.2: + array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.1 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - dev: true - /arraybuffer.prototype.slice@1.0.1: + arraybuffer.prototype.slice@1.0.1: resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 - define-properties: 1.2.1 - get-intrinsic: 1.2.1 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - dev: true - /arrify@1.0.1: + arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} - dev: true - /as-table@1.0.55: + as-table@1.0.55: resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} - dependencies: - printable-characters: 1.0.42 - /assert-plus@1.0.0: + assert-plus@1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} - dev: true - /astral-regex@2.0.0: + astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} - dev: true - /async-listen@3.0.1: + async-listen@3.0.1: resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} engines: {node: '>= 14'} - dev: true - /async-mutex@0.5.0: + async-mutex@0.5.0: resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} - dependencies: - tslib: 2.6.2 - dev: false - /async@3.2.4: + async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: true - /asynckit@0.4.0: + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true - /available-typed-arrays@1.0.5: + available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - dev: true - /axios@1.6.1: - resolution: {integrity: sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==} - dependencies: - follow-redirects: 1.15.4 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /axios@1.6.7: + axios@1.6.7: resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} - dependencies: - follow-redirects: 1.15.4 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - /b4a@1.6.4: + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + + b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} - dev: true - /babel-jest@29.7.0(@babel/core@7.21.8): + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.21.8 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.1.19 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.21.8) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-istanbul@6.1.1: + babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.19.0 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-jest-hoist@29.6.3: + babel-plugin-jest-hoist@29.6.3: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.5 - '@types/babel__core': 7.1.19 - '@types/babel__traverse': 7.18.2 - dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.8): + babel-preset-current-node-syntax@1.0.1: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.21.8 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8) - dev: true - /babel-preset-jest@29.6.3(@babel/core@7.21.8): + babel-preset-jest@29.6.3: resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.21.8 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) - dev: true - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - /base64-js@1.5.1: + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - /batching-toposort@1.2.0: + batching-toposort@1.2.0: resolution: {integrity: sha512-HDf0OOv00dqYGm+M5tJ121RTzX0sK9fxzBMKXYsuQrY0pKSOJjc5qa0DUtzvCGkgIVf1YON2G1e/MHEdHXVaRQ==} engines: {node: '>=8.0.0'} - dev: true - /benchmark@2.1.4: + benchmark@2.1.4: resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} - dependencies: - lodash: 4.17.21 - platform: 1.3.6 - dev: true - /binary-extensions@2.2.0: + binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /bl@4.1.0: + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true - /bl@6.0.7: - resolution: {integrity: sha512-9FNh0IvlWSU5C9BCDhw0IovmhuqevzBX1AME7BdFHNDMfOju4NmwRWoBrfz5Srs+JNBhxfjrPLxZSnDotgSs9A==} - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 4.4.2 - dev: true + bl@6.0.12: + resolution: {integrity: sha512-EnEYHilP93oaOa2MnmNEjAcovPS3JlQZOyzGXi3EyEpPhm9qWvdDp7BmAVEVusGzp8LlwQK56Av+OkDoRjzE0w==} - /blake3-wasm@2.1.5: + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - /body-parser@1.19.1: + body-parser@1.19.1: resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.1 - content-type: 1.0.5 - debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.9.6 - raw-body: 2.4.2 - type-is: 1.6.18 - transitivePeerDependencies: - - supports-color - dev: true - /brace-expansion@1.1.11: + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.1.1 - /braces@3.0.3: + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.1.1 - dev: true - /browserslist@4.22.2: + browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - dependencies: - caniuse-lite: 1.0.30001579 - electron-to-chromium: 1.4.645 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) - dev: true - /bser@2.1.1: + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - dependencies: - node-int64: 0.4.0 - dev: true - /bson@6.7.0: - resolution: {integrity: sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==} + bson@6.10.1: + resolution: {integrity: sha512-P92xmHDQjSKPLHqFxefqMxASNq/aWJMEZugpCjf+AF/pgcUpMMQCg7t7+ewko0/u8AapvF3luf/FoehddEK+sA==} engines: {node: '>=16.20.1'} - dev: true - /buffer-crc32@0.2.13: + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true - /buffer-equal-constant-time@1.0.1: + buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - dev: true - /buffer-from@1.1.2: + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /buffer@5.7.1: + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /buffer@6.0.3: + buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /bytes-iec@3.1.1: + bytes-iec@3.1.1: resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} engines: {node: '>= 0.8'} - dev: true - /bytes@3.1.1: + bytes@3.1.1: resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} engines: {node: '>= 0.8'} - dev: true - /cacache@15.3.0: + cacache@15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} - requiresBuild: true - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.4 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.1.14 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: true - optional: true - /call-bind@1.0.2: + call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.1 - dev: true - /callsites@3.1.0: + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true - /camelcase-keys@6.2.2: + camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: true - /camelcase@5.3.1: + camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - dev: true - /camelcase@6.3.0: + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - dev: true - /caniuse-lite@1.0.30001579: + caniuse-lite@1.0.30001579: resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} - dev: true - /capnp-ts@0.7.0: + capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} - dependencies: - debug: 4.3.5 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@5.2.0: + chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /chalk@5.3.0: + chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /char-regex@1.0.2: + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - dev: true - /chardet@0.7.0: + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true - /checkpoint-client@1.1.33: + checkpoint-client@1.1.33: resolution: {integrity: sha512-kiG9G/2K2lDkwd5q7TrzxN4IVqBSdwItLWXw6H+7+2N5jopjHRjD434OWvg/anuRvAnRlr5tflOuwbetsHQoZQ==} - dependencies: - ci-info: 4.0.0 - env-paths: 2.2.1 - make-dir: 4.0.0 - ms: 2.1.3 - node-fetch: 2.7.0 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - dev: true - /chokidar@3.6.0: + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - /chownr@2.0.0: + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: true - /chrome-trace-event@1.0.3: + chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - dev: true - /ci-info@3.9.0: + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true - /ci-info@4.0.0: + ci-info@4.0.0: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} - dev: true - /cjs-module-lexer@1.2.2: + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + engines: {node: '>=8'} + + cjs-module-lexer@1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - /clean-stack@2.2.0: + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - dev: true - /cli-cursor@3.1.0: + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - restore-cursor: 4.0.0 - dev: true + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} - /cli-spinners@2.7.0: + cli-spinners@2.7.0: resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} engines: {node: '>=6'} - dev: true - /cli-spinners@2.9.2: + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - dev: true - /cli-truncate@2.1.0: + cli-truncate@2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - dev: true - /cli-truncate@4.0.0: + cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} - dependencies: - slice-ansi: 5.0.0 - string-width: 7.0.0 - dev: true - /cli-width@4.1.0: + cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - dev: true - /cliui@8.0.1: + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - /clone@1.0.4: + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true - /co@4.6.0: + co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - /collect-v8-coverage@1.0.1: + collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /color-support@1.1.3: + color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true - dev: true - /colorette@2.0.20: + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true - /combined-stream@1.0.8: + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - /commander@11.1.0: + commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} - dev: true - /commander@12.1.0: + commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} - dev: true - /commander@2.20.3: + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true - /common-path-prefix@3.0.0: + common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - dev: true - /compress-commons@5.0.1: + compress-commons@5.0.1: resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} engines: {node: '>= 12.0.0'} - dependencies: - crc-32: 1.2.2 - crc32-stream: 5.0.0 - normalize-path: 3.0.0 - readable-stream: 3.6.0 - dev: true - /concat-map@0.0.1: + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - - /console-control-strings@1.1.0: + console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: true - /content-disposition@0.5.4: + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: true - /content-type@1.0.5: + content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: true - /convert-source-map@1.9.0: + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - /convert-source-map@2.0.0: + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - /cookie-signature@1.0.6: + cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true - /cookie@0.4.1: + cookie@0.4.1: resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} engines: {node: '>= 0.6'} - dev: true - /cookie@0.5.0: + cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - /core-util-is@1.0.2: + core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true - /core-util-is@1.0.3: + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true - /cors@2.8.5: + cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: true - /crc-32@1.2.2: + crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} hasBin: true - dev: true - /crc32-stream@5.0.0: + crc32-stream@5.0.0: resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} engines: {node: '>= 12.0.0'} - dependencies: - crc-32: 1.2.2 - readable-stream: 3.6.0 - dev: true - - /create-jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /create-jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /create-require@1.1.1: + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - /crypto-random-string@2.0.0: + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - dev: true - /data-uri-to-buffer@2.0.2: + data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - /data-uri-to-buffer@4.0.1: + data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - /debug@2.6.9: + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.0.0 - dev: true - /debug@3.2.7: + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.3 - dev: true - /debug@4.3.3: + debug@4.3.3: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: @@ -5552,481 +3989,247 @@ packages: peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - dev: true - /debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - /decamelize-keys@1.1.0: + decamelize-keys@1.1.0: resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} engines: {node: '>=0.10.0'} - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: true - /decamelize@1.2.0: + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - dev: true - /decimal.js-light@2.5.1: + decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - dev: true - /decimal.js@10.4.3: + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: true - /dedent@1.5.1: + dedent@1.5.1: resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - dev: true - /deep-is@0.1.4: + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - /deepmerge@4.2.2: + deepmerge@4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} - dev: true - /defaults@1.0.4: + defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - /define-data-property@1.1.0: + define-data-property@1.1.0: resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - gopd: 1.0.1 - has-property-descriptors: 1.0.0 - dev: true - /define-lazy-prop@2.0.0: + define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} - dev: true - /define-properties@1.2.1: + define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.0 - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true - /defu@6.1.4: + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - /del@6.1.1: + del@6.1.1: resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.10 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: true - /delayed-stream@1.0.0: + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: true - /delegates@1.0.0: + delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: true - /denque@1.5.1: + denque@1.5.1: resolution: {integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==} engines: {node: '>=0.10'} - dev: true - /denque@2.1.0: + denque@2.1.0: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} - dev: true - /depd@1.1.2: + depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - dev: true - /destroy@1.0.4: + destroy@1.0.4: resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} - dev: true - /detect-libc@2.0.2: + detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} - /detect-newline@3.1.0: + detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - dev: true - /detect-runtime@1.0.4: + detect-runtime@1.0.4: resolution: {integrity: sha512-oJJu3EzRFbmJcflC0Z55Gs08z7lOZ+68HsegIOVmg9WjDFdolJ/PoHQokv+usWcBqyZvUSVdrpDghOhoZCXJyw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dev: true - /diff-sequences@29.6.3: + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /diff@4.0.2: + diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - dev: true - /dir-glob@3.0.1: + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /doctrine@2.1.0: + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /dotenv-cli@7.4.2: - resolution: {integrity: sha512-SbUj8l61zIbzyhIbg0FwPJq6+wjbzdn9oEtozQpZ6kW2ihCcapKVZj49oCT3oPM+mgQm+itgvUQcG5szxVrZTA==} + dotenv-cli@7.4.4: + resolution: {integrity: sha512-XkBYCG0tPIes+YZr4SpfFv76SQrV/LeCE8CI7JSEMi3VR9MvTihCGTOtbIexD6i2mXF+6px7trb1imVCXSNMDw==} hasBin: true - dependencies: - cross-spawn: 7.0.3 - dotenv: 16.3.1 - dotenv-expand: 10.0.0 - minimist: 1.2.8 - dev: true - /dotenv-expand@10.0.0: + dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} - dev: true - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} - dev: true - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} - engines: {node: '>=12'} - dev: true - - /duplexer@0.1.2: + duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - /ecdsa-sig-formatter@1.0.11: + ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - /ee-first@1.1.1: + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true - /electron-to-chromium@1.4.645: + electron-to-chromium@1.4.645: resolution: {integrity: sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw==} - dev: true - /emittery@0.13.1: + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - dev: true - /emoji-regex@10.3.0: + emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} - dev: true - /emoji-regex@8.0.0: + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - /encodeurl@1.0.2: + encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - dev: true - /encoding@0.1.13: + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: true - optional: true - /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - /env-paths@2.2.1: + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - dev: true - /err-code@2.0.3: + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - requiresBuild: true - dev: true - optional: true - /error-ex@1.3.2: + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - /es-abstract@1.22.1: + es-abstract@1.22.1: resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.1 - 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.5 - is-array-buffer: 3.0.2 - 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.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 - dev: true - - /es-aggregate-error@1.0.11: - resolution: {integrity: sha512-DCiZiNlMlbvofET/cE55My387NiLvuGToBEZDdK9U2G3svDCjL8WOgO5Il6lO83nQ8qmag/R9nArdpaFQ/m3lA==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.0 - define-properties: 1.2.1 - es-abstract: 1.22.1 - function-bind: 1.1.2 - get-intrinsic: 1.2.1 - globalthis: 1.0.3 - has-property-descriptors: 1.0.0 - set-function-name: 2.0.1 - dev: true - /es-module-lexer@1.2.1: + es-module-lexer@1.2.1: resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} - dev: true - /es-set-tostringtag@2.0.1: + es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 - dev: true - /es-shim-unscopables@1.0.0: + es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - /es-to-primitive@1.2.1: + es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - /esbuild-register@3.5.0(esbuild@0.21.4): - resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: esbuild: '>=0.12 <1' - dependencies: - debug: 4.3.5 - esbuild: 0.21.4 - transitivePeerDependencies: - - supports-color - dev: true - /esbuild@0.17.19: + esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - /esbuild@0.21.4: - resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.4 - '@esbuild/android-arm': 0.21.4 - '@esbuild/android-arm64': 0.21.4 - '@esbuild/android-x64': 0.21.4 - '@esbuild/darwin-arm64': 0.21.4 - '@esbuild/darwin-x64': 0.21.4 - '@esbuild/freebsd-arm64': 0.21.4 - '@esbuild/freebsd-x64': 0.21.4 - '@esbuild/linux-arm': 0.21.4 - '@esbuild/linux-arm64': 0.21.4 - '@esbuild/linux-ia32': 0.21.4 - '@esbuild/linux-loong64': 0.21.4 - '@esbuild/linux-mips64el': 0.21.4 - '@esbuild/linux-ppc64': 0.21.4 - '@esbuild/linux-riscv64': 0.21.4 - '@esbuild/linux-s390x': 0.21.4 - '@esbuild/linux-x64': 0.21.4 - '@esbuild/netbsd-x64': 0.21.4 - '@esbuild/openbsd-x64': 0.21.4 - '@esbuild/sunos-x64': 0.21.4 - '@esbuild/win32-arm64': 0.21.4 - '@esbuild/win32-ia32': 0.21.4 - '@esbuild/win32-x64': 0.21.4 - dev: true - - /escalade@3.1.1: + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - dev: true - /escape-html@1.0.3: + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true - /escape-string-regexp@1.0.5: + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@2.0.0: + escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-prettier@9.1.0(eslint@9.4.0): + eslint-config-prettier@9.1.0: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - dependencies: - eslint: 9.4.0 - dev: true - /eslint-formatter-pretty@4.1.0: + eslint-formatter-pretty@4.1.0: resolution: {integrity: sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==} engines: {node: '>=10'} - dependencies: - '@types/eslint': 7.29.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - eslint-rule-docs: 1.1.235 - log-symbols: 4.1.0 - plur: 4.0.0 - string-width: 4.2.3 - supports-hyperlinks: 2.3.0 - dev: true - /eslint-import-resolver-node@0.3.9: + eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - dependencies: - debug: 3.2.7 - is-core-module: 2.13.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.13.0)(eslint-import-resolver-node@0.3.9)(eslint@9.4.0): + eslint-module-utils@2.8.0: resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -6046,27 +4249,14 @@ packages: optional: true eslint-import-resolver-webpack: optional: true - dependencies: - '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - debug: 3.2.7 - eslint: 9.4.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@9.4.0): + eslint-plugin-eslint-comments@3.2.0: resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' - dependencies: - escape-string-regexp: 1.0.5 - eslint: 9.4.0 - ignore: 5.2.4 - dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.13.0)(eslint@9.4.0): + eslint-plugin-import@2.29.1: resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -6075,37 +4265,12 @@ packages: peerDependenciesMeta: '@typescript-eslint/parser': optional: true - dependencies: - '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.4.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.13.0)(eslint-import-resolver-node@0.3.9)(eslint@9.4.0) - hasown: 2.0.0 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-plugin-jest@28.5.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@9.4.0)(typescript@5.4.5): - resolution: {integrity: sha512-6np6DGdmNq/eBbA7HOUNV8fkfL86PYwBfwyb8n23FXgJNTR8+ot3smRHjza9LGsBBZRypK3qyF79vMjohIL8eQ==} + eslint-plugin-jest@28.10.0: + resolution: {integrity: sha512-hyMWUxkBH99HpXT3p8hc7REbEZK3D+nk8vHXGgpB+XXsi0gO4PxMSP+pjfUzb67GnV9yawV9a53eUmcde1CCZA==} engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 + '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0 eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 jest: '*' peerDependenciesMeta: @@ -6113,20 +4278,11 @@ packages: optional: true jest: optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - eslint: 9.4.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /eslint-plugin-local-rules@2.0.1: + eslint-plugin-local-rules@2.0.1: resolution: {integrity: sha512-AJhGd+GcI5r2dbjiGPixM8jnBl0XFxqoVbqzwKbYz+nTk+Cj5dNE3+OlhC176bl5r25KsGsIthLi1VqIW5Ga+A==} - dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@9.4.0)(prettier@2.8.8): + eslint-plugin-prettier@4.2.1: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -6136,438 +4292,208 @@ packages: peerDependenciesMeta: eslint-config-prettier: optional: true - dependencies: - eslint: 9.4.0 - eslint-config-prettier: 9.1.0(eslint@9.4.0) - prettier: 2.8.8 - prettier-linter-helpers: 1.0.0 - dev: true - /eslint-plugin-simple-import-sort@12.1.0(eslint@9.4.0): - resolution: {integrity: sha512-Y2fqAfC11TcG/WP3TrI1Gi3p3nc8XJyEOJYHyEPEGI/UAgNx6akxxlX74p7SbAQdLcgASKhj8M0GKvH3vq/+ig==} + eslint-plugin-simple-import-sort@12.1.1: + resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: eslint: '>=5.0.0' - dependencies: - eslint: 9.4.0 - dev: true - /eslint-rule-docs@1.1.235: + eslint-rule-docs@1.1.235: resolution: {integrity: sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==} - dev: true - /eslint-scope@5.1.1: + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@8.0.1: + eslint-scope@8.0.1: resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@3.4.3: + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /eslint-visitor-keys@4.0.0: + eslint-visitor-keys@4.0.0: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /eslint@9.4.0: - resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==} + eslint@9.5.0: + resolution: {integrity: sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/config-array': 0.15.1 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.4.0 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.5 - escape-string-regexp: 4.0.0 - eslint-scope: 8.0.1 - eslint-visitor-keys: 4.0.0 - espree: 10.0.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /espree@10.0.1: + espree@10.0.1: resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 4.0.0 - dev: true - /esprima@4.0.1: + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - dev: true - /esquery@1.5.0: + esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - /estraverse@4.3.0: + estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: + estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - dev: true - /estree-walker@0.6.1: + estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - /esutils@2.0.3: + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true - /etag@1.8.1: + etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - dev: true - /event-stream@3.3.4: + event-stream@3.3.4: resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} - dependencies: - duplexer: 0.1.2 - from: 0.1.7 - map-stream: 0.1.0 - pause-stream: 0.0.11 - split: 0.3.3 - stream-combiner: 0.0.4 - through: 2.3.8 - dev: true - /event-target-shim@5.0.1: + event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - dev: true - /eventemitter3@5.0.1: + eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - dev: true - /events@3.3.0: + events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - dev: true - /execa@5.1.1: + execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - /execa@8.0.1: + execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - /exit-hook@2.2.1: + exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} - /exit@0.1.2: + exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} - dev: true - /expect-type@0.19.0: + expect-type@0.19.0: resolution: {integrity: sha512-piv9wz3IrAG4Wnk2A+n2VRCHieAyOSxrRLU872Xo6nyn39kYXKDALk4OcqnvLRnFvkz659CnWC8MWZLuuQnoqg==} engines: {node: '>=12.0.0'} - dev: true - /expect@29.7.0: + expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - dev: true - /express@4.17.2: + express@4.17.2: resolution: {integrity: sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==} engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.19.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.4.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 1.1.2 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.1.2 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.3.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.9.6 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 - setprototypeof: 1.2.0 - statuses: 1.5.0 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /external-editor@3.1.0: + external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - /extsprintf@1.4.1: + extsprintf@1.4.1: resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} engines: {'0': node >=0.6.0} - dev: true - /fast-check@3.3.0: + fast-check@3.3.0: resolution: {integrity: sha512-Zu6tZ4g0T4H9Tiz3tdNPEHrSbuICj7yhdOM9RCZKNMkpjZ9avDV3ORklXaEmh4zvkX24/bGZ9DxKKqWfXttUqw==} engines: {node: '>=8.0.0'} - dependencies: - pure-rand: 5.0.3 - dev: true - /fast-deep-equal@3.1.3: + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - /fast-diff@1.2.0: + fast-diff@1.2.0: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true - /fast-fifo@1.3.2: + fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - dev: true - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - /fast-levenshtein@2.0.6: + fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - /fastq@1.15.0: + fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - /fb-watchman@2.0.2: + fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - dependencies: - bser: 2.1.1 - dev: true - /fetch-blob@3.2.0: + fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - /fictional@0.8.4: + fictional@0.8.4: resolution: {integrity: sha512-wSYTdLJkQ/h4NOMI6FCp9xxjMzEcCxwSjIK4f5zZveOKFUPAxi4/sAb3pyjaiz3fCSA2PGEGLY6ZWQplRl7ygQ==} - dependencies: - decimal.js: 10.4.3 - fast-json-stable-stringify: 2.1.0 - fnv-plus: 1.3.1 - siphash: 1.1.0 - dev: true - /file-entry-cache@8.0.0: + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - dependencies: - flat-cache: 4.0.1 - dev: true - /fill-range@7.1.1: + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - /finalhandler@1.1.2: + finalhandler@1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /find-cache-dir@5.0.0: + find-cache-dir@5.0.0: resolution: {integrity: sha512-OuWNfjfP05JcpAP3JPgAKUhWefjMRfI5iAoSsvE24ANYWJaepAtlSgWECSVEuRgSXpyNEc9DJwG/TZpgcOqyig==} engines: {node: '>=16'} - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - dev: true - /find-up-simple@1.0.0: + find-up-simple@1.0.0: resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} engines: {node: '>=18'} - dev: true - /find-up@3.0.0: + find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - /find-up@4.1.0: + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - /find-up@5.0.0: + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - /find-up@6.3.0: + find-up@6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - /flat-cache@4.0.1: + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - dev: true - /flat-map-polyfill@0.3.8: + flat-map-polyfill@0.3.8: resolution: {integrity: sha512-ZfmD5MnU7GglUEhiky9C7yEPaNq1/wh36RDohe+Xr3nJVdccwHbdTkFIYvetcdsoAckUKT51fuf44g7Ni5Doyg==} - dev: true - /flatted@3.3.1: + flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - /fnv-plus@1.3.1: + fnv-plus@1.3.1: resolution: {integrity: sha512-Gz1EvfOneuFfk4yG458dJ3TLJ7gV19q3OM/vVvvHf7eT02Hm1DleB4edsia6ahbKgAYxO9gvyQ1ioWZR+a00Yw==} - dev: true - /follow-redirects@1.15.4: + follow-redirects@1.15.4: resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} engines: {node: '>=4.0'} peerDependencies: @@ -6575,1065 +4501,6941 @@ packages: peerDependenciesMeta: debug: optional: true - dev: true - /for-each@0.3.3: + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - /form-data@4.0.0: + form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /format-util@1.0.5: + format-util@1.0.5: resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==} - dev: true - /formdata-polyfill@4.0.10: + formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - /forwarded@0.2.0: + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - dev: true - /fp-ts@2.16.6: - resolution: {integrity: sha512-v7w209VPj4L6pPn/ftFRJu31Oa8QagwcVw7BZmLCUWU4AQoc954rX9ogSIahDf67Pg+GjPbkW/Kn9XWnlWJG0g==} - dev: true + fp-ts@2.16.9: + resolution: {integrity: sha512-+I2+FnVB+tVaxcYyQkHUq7ZdKScaBlX53A41mxQtpIccsfyv8PzdzP7fzp2AY832T4aoK6UZ5WRX/ebGd8uZuQ==} - /fresh@0.5.2: + fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - dev: true - /from@0.1.7: + from@0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - dev: true - /fs-extra@11.1.1: + fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - /fs-extra@7.0.1: + fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs-jetpack@5.1.0: + fs-jetpack@5.1.0: resolution: {integrity: sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA==} - dependencies: - minimatch: 5.1.0 - dev: true - /fs-minipass@2.1.0: + fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} - dependencies: - minipass: 3.3.4 - dev: true - /fs.realpath@1.0.0: + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - /fsevents@2.3.3: + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - optional: true - /function-bind@1.1.2: + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.5: + function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.1 - es-abstract: 1.22.1 - functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: + functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - /fx@28.0.0: + fx@28.0.0: resolution: {integrity: sha512-vKQDA9g868cZiW8ulgs2uN1yx1i7/nsS33jTMOxekk0Z03BJLffVcdW6AVD32fWb3E6RtmWWuBXBZOk8cLXFNQ==} hasBin: true - dev: true - /gauge@3.0.2: + gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: true + deprecated: This package is no longer supported. - /gauge@4.0.4: + gauge@4.0.4: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - requiresBuild: true - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: true - optional: true + deprecated: This package is no longer supported. - /gensync@1.0.0-beta.2: + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - dev: true - /get-caller-file@2.0.5: + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - dev: true - /get-east-asian-width@1.2.0: + get-east-asian-width@1.2.0: resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} engines: {node: '>=18'} - dev: true - /get-intrinsic@1.2.1: + get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.2 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - dev: true - /get-package-type@0.1.0: + get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} - dev: true - /get-port@5.1.1: + get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} - dev: true - /get-source@2.0.12: + get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} - dependencies: - data-uri-to-buffer: 2.0.2 - source-map: 0.6.1 - /get-stdin@8.0.0: + get-stdin@8.0.0: resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} engines: {node: '>=10'} - dev: true - /get-stream@6.0.1: + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true - /get-stream@8.0.1: + get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - dev: true - /get-symbol-description@1.0.0: + get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - dev: true - /get-tsconfig@4.7.5: + get-tsconfig@4.7.5: resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - /glob-parent@6.0.2: + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob-to-regexp@0.4.1: + glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - /glob@7.2.3: + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true + deprecated: Glob versions prior to v9 are no longer supported - /glob@8.1.0: + glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true + deprecated: Glob versions prior to v9 are no longer supported - /global-dirs@4.0.0: + global-dirs@4.0.0: resolution: {integrity: sha512-PJ0OjGf/kVuu9gh5IPgAyssfJne5PsU9+ICxfWiRYDUnYq8ob+Y2nSWAEUNEHRj+gowyzI+wg5/nWkvcjcyLwg==} engines: {node: '>=10'} deprecated: Renamed to global-directory - dependencies: - ini: 2.0.0 - dev: true - /globals@11.12.0: + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - dev: true - /globals@14.0.0: + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - dev: true - /globals@15.4.0: - resolution: {integrity: sha512-unnwvMZpv0eDUyjNyh9DH/yxUaRYrEjW/qK4QcdrHg3oO11igUQrCSgODHEqxlKg8v2CD2Sd7UkqqEBoz5U7TQ==} + globals@15.13.0: + resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} - dev: true - /globalthis@1.0.3: + globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - dev: true - /globby@11.1.0: + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /globby@13.1.4: + globby@13.1.4: resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 4.0.0 - dev: true - /gopd@1.0.1: + gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.1 - dev: true - /graceful-fs@4.2.10: + graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /graphemer@1.4.0: + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - /graphviz-mit@0.0.9: + graphviz-mit@0.0.9: resolution: {integrity: sha512-om4IO5Rp5D/BnKluHsciWPi9tqB2MQN5yKbo9fXghFQL8QtWm3EpMnT/Llje0kE+DpG6qIQVLT6HqKpAnKyQGw==} engines: {node: '>=0.6.8'} - dependencies: - temp: 0.4.0 - which: 1.3.1 - dev: true - /hard-rejection@2.1.0: + hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} - dev: true - /has-bigints@1.0.2: + has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - /has-flag@3.0.0: + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /has-property-descriptors@1.0.0: + has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.1 - dev: true - /has-proto@1.0.1: + has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} - dev: true - /has-symbols@1.0.3: + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: true - /has-tostringtag@1.0.0: + has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /has-unicode@2.0.1: + has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: true - - /has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - dev: true - /has@1.0.3: + has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.2 - dev: true - /hasha@5.2.2: + hasha@5.2.2: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 - dev: true - /hasown@2.0.0: + hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - /hosted-git-info@2.8.9: + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - /hosted-git-info@4.1.0: + hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} - dependencies: - lru-cache: 6.0.0 - dev: true - /hosted-git-info@7.0.1: + hosted-git-info@7.0.1: resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - lru-cache: 10.0.1 - dev: true - /html-escaper@2.0.2: + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - /http-cache-semantics@4.1.1: + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - requiresBuild: true - dev: true - optional: true - /http-errors@1.8.1: + http-errors@1.8.1: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - dev: true - /http-proxy-agent@4.0.1: + http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} - requiresBuild: true - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - /http-proxy-agent@5.0.0: + http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@5.0.1: + https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /human-signals@2.1.0: + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true - /human-signals@5.0.0: + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - dev: true - /humanize-ms@1.2.1: + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - requiresBuild: true - dependencies: - ms: 2.1.3 - dev: true - optional: true - /husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} engines: {node: '>=18'} hasBin: true - dev: true - /hyperdyperid@1.2.0: + hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} - dev: true - /iconv-lite@0.4.24: + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - /iconv-lite@0.6.3: + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - /ieee754@1.2.1: + identifier-regex@1.0.0: + resolution: {integrity: sha512-Rcy5cjBOM9iTR+Vwy0Llyip9u0cA99T1yiWOhDW/+PDaTQhyski0tMovsipQ/FRNDkudjLWusJ/IMVIlG5WZnQ==} + engines: {node: '>=18'} + + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - /ignore-walk@5.0.1: + ignore-walk@5.0.1: resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minimatch: 5.1.6 - dev: true - /ignore@5.2.4: + ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - dev: true - /ignore@5.3.1: + ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - dev: true - /import-fresh@3.3.0: + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - /import-in-the-middle@1.7.4: - resolution: {integrity: sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg==} - dependencies: - acorn: 8.9.0 - acorn-import-attributes: 1.9.5(acorn@8.9.0) - cjs-module-lexer: 1.2.2 - module-details-from-path: 1.0.3 + import-in-the-middle@1.8.1: + resolution: {integrity: sha512-yhRwoHtiLGvmSozNOALgjRPFI6uYsds60EoMqqnXyyv+JOIW/BrrLejuTGBt+bq0T5tLzOHrN0T7xYTm4Qt/ng==} - /import-lazy@4.0.0: + import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - dev: true - /import-local@3.1.0: + import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - /imurmurhash@0.1.4: + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true - /indent-string@4.0.0: + indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - dev: true - /index-to-position@0.1.2: + index-to-position@0.1.2: resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} engines: {node: '>=18'} - dev: true - /infer-owner@1.0.4: + infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - requiresBuild: true - dev: true - optional: true - /inflight@1.0.6: + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - /inherits@2.0.4: + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - /ini@2.0.0: + ini@2.0.0: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} - dev: true - /internal-slot@1.0.5: + internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - /ip@2.0.0: + ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - requiresBuild: true - dev: true - optional: true - /ipaddr.js@1.9.1: + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - dev: true - /irregular-plurals@3.3.0: + irregular-plurals@3.3.0: resolution: {integrity: sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==} engines: {node: '>=8'} - dev: true - /is-array-buffer@3.0.2: + is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.10 - dev: true - /is-arrayish@0.2.1: + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - /is-bigint@1.0.4: + is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - /is-boolean-object@1.1.2: + is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-callable@1.2.7: + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - dev: true - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + is-ci@4.1.0: + resolution: {integrity: sha512-Ab9bQDQ11lWootZUI5qxgN2ZXwxNI5hTwnsvOc1wyxQ7zQ8OkEDw79mI0+9jI3x432NfwbVRru+3noJfXF6lSQ==} hasBin: true - dependencies: - ci-info: 3.9.0 - dev: true - /is-core-module@2.13.1: + is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.0 - /is-date-object@1.0.5: + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-docker@2.2.1: + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - dev: true - /is-docker@3.0.0: + is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - dev: true - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - /is-fullwidth-code-point@3.0.0: + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true - /is-fullwidth-code-point@4.0.0: + is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} - dev: true - /is-fullwidth-code-point@5.0.0: + is-fullwidth-code-point@5.0.0: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} - dependencies: - get-east-asian-width: 1.2.0 - dev: true - /is-generator-fn@2.1.0: + is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - dev: true - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - /is-inside-container@1.0.0: + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} hasBin: true - dependencies: - is-docker: 3.0.0 - dev: true - /is-interactive@1.0.0: + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true - /is-lambda@1.0.1: + is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - requiresBuild: true - dev: true - optional: true - /is-negative-zero@2.0.2: + is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} - dev: true - /is-number-object@1.0.7: + is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-path-cwd@2.2.0: + is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} - dev: true - /is-path-inside@3.0.3: + is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - dev: true - /is-plain-obj@1.1.0: + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} - dev: true - /is-plain-obj@2.1.0: + is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} - dev: true - /is-regex@1.1.4: + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-shared-array-buffer@1.0.2: + is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 - dev: true - /is-stream@2.0.1: + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true - /is-stream@3.0.0: + is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /is-string@1.0.7: + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-symbol@1.0.4: + is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.10: + is-typed-array@1.1.10: resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - /is-unicode-supported@0.1.0: + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true - /is-weakref@1.0.2: + is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.2 - dev: true - /is-windows@1.0.2: + is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - dev: true - /is-wsl@2.2.0: + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - /is-wsl@3.1.0: + is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - dependencies: - is-inside-container: 1.0.0 - dev: true - /isarray@1.0.0: + isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true - /isarray@2.0.5: + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - /isexe@2.0.0: + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - /istanbul-lib-coverage@3.2.0: + istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} - dev: true - /istanbul-lib-instrument@5.2.1: + istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} - dependencies: - '@babel/core': 7.21.8 - '@babel/parser': 7.21.8 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /istanbul-lib-instrument@6.0.0: + istanbul-lib-instrument@6.0.0: resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==} engines: {node: '>=10'} - dependencies: - '@babel/core': 7.21.8 - '@babel/parser': 7.21.8 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 7.6.2 - transitivePeerDependencies: - - supports-color - dev: true - /istanbul-lib-report@3.0.0: + istanbul-lib-report@3.0.0: resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} engines: {node: '>=8'} - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps@4.0.1: + istanbul-lib-source-maps@4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} - dependencies: - debug: 4.3.5 - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 + + istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + + itty-time@1.0.6: + resolution: {integrity: sha512-+P8IZaLLBtFv8hCkIjcymZOp4UJ+xW6bSlQsXGqrkmJh7vSiMFSlNne0mCYagEE0N7HDNR5jJBRxwN0oYv61Rw==} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-extended@4.0.2: + resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + jest: '>=27.2.5' + peerDependenciesMeta: + jest: + optional: true + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-junit@16.0.0: + resolution: {integrity: sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==} + engines: {node: '>=10.12.0'} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.2: + resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-serializer-ansi-escapes@4.0.0: + resolution: {integrity: sha512-WrxiW6Fz9yK02vmVyqtpUWTG6b2Sqz2X0+wJUe4SOgqBcTAFha4GRBuKxqg8P1OAMstBfZ+dnEu/WYHFztTatQ==} + engines: {node: '>=18'} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + + js-base64@3.7.5: + resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} + + js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + + js-md4@0.3.2: + resolution: {integrity: sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + + jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + + jwa@2.0.0: + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} + + jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + + jws@4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + + kareem@2.6.3: + resolution: {integrity: sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==} + engines: {node: '>=12.0.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + libsql@0.3.10: + resolution: {integrity: sha512-/8YMTbwWFPmrDWY+YFK3kYqVPFkMgQre0DGmBaOmjogMdSe+7GHm1/q9AZ61AWkEub/vHmi+bA4tqIzVhKnqzg==} + os: [darwin, linux, win32] + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + line-replace@2.0.1: + resolution: {integrity: sha512-CSr3f6gynLCA9R+RBS0IDIfv7a8OAXcuyq+CHgq0WzbQ7KSJQfF5DgtpRVxpSp1KBNXogtzbNqAeUjrmHYTPYA==} + hasBin: true + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@15.2.10: + resolution: {integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@8.2.4: + resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==} + engines: {node: '>=18.0.0'} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.deburr@4.1.0: + resolution: {integrity: sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==} + + lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + + lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + + lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + + lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + + map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + + mariadb@3.3.1: + resolution: {integrity: sha512-L8bh4iuZU3J8H7Co7rQ6OY9FDLItAN1rGy8kPA7Dyxo8AiHADuuONoypKKp1pE09drs6e5LR7UW9luLZ/A4znA==} + engines: {node: '>= 14'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@4.15.0: + resolution: {integrity: sha512-q9MmZXd2rRWHS6GU3WEm3HyiXZyyoA1DqdOhEq0lxPBmKb5S7IAOwX0RgUCwJfqjelDCySa5h8ujOy24LqsWcw==} + engines: {node: '>= 4.0.0'} + + memory-pager@1.5.0: + resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + + meow@9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + miniflare@3.20241106.1: + resolution: {integrity: sha512-dM3RBlJE8rUFxnqlPCaFCq0E7qQqEQvKbYX7W/APGCK+rLcyLmEBzC4GQR/niXdNM/oV6gdg9AA50ghnn2ALuw==} + engines: {node: '>=16.13'} + hasBin: true + + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.0: + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + engines: {node: '>=10'} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.4: + resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mock-stdin@1.0.0: + resolution: {integrity: sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==} + + module-details-from-path@1.0.3: + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + + mongodb-connection-string-url@3.0.0: + resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==} + + mongodb@6.12.0: + resolution: {integrity: sha512-RM7AHlvYfS7jv7+BXund/kR64DryVI+cHbVAy9P61fnb1RcWZqOW1/Wj2YhqMCx+MuYhqTRGv7AwHBzmsCKBfA==} + engines: {node: '>=16.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 || ^2.0.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.2.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true + + mongoose@8.9.5: + resolution: {integrity: sha512-SPhOrgBm0nKV3b+IIHGqpUTOmgVL5Z3OO9AwkFEmvOZznXTvplbomstCnPOGAyungtRXE5pJTgKpKcZTdjeESg==} + engines: {node: '>=16.20.1'} + + mpath@0.9.0: + resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==} + engines: {node: '>=4.0.0'} + + mquery@5.0.0: + resolution: {integrity: sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==} + engines: {node: '>=14.0.0'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mssql@11.0.1: + resolution: {integrity: sha512-KlGNsugoT90enKlR8/G36H0kTxPthDhmtNUCwEHvgRza5Cjpjoj+P2X6eMpFUDN7pFrJZsKadL4x990G8RBE1w==} + engines: {node: '>=18'} + hasBin: true + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanospinner@1.1.0: + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} + + native-duplexpair@1.0.0: + resolution: {integrity: sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + new-github-issue-url@0.2.1: + resolution: {integrity: sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==} + engines: {node: '>=10'} + + node-addon-api@4.3.0: + resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.1: + resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-gyp-build@4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + hasBin: true + + node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + + normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-bundled@2.0.1: + resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + npm-normalize-package-bin@2.0.0: + resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + npm-packlist@5.1.3: + resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. + + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + + object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + + open@8.4.0: + resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + engines: {node: '>=12'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-paths@7.4.0: + resolution: {integrity: sha512-Ux1J4NUqC6tZayBqLN1kUlDAEvLiQlli/53sSddU4IN+h+3xxnv2HmRSMpVSvr1hvJzotfMs3ERvETGK+f4OwA==} + engines: {node: '>= 4.0'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + oxc-resolver@1.10.2: + resolution: {integrity: sha512-NIbwVqoU8Bhl7PVtItHCg+VFFokIDwBgIgFUwFG2Y8ePhxftFh5xG+KLar5PLWXlCP4WunPIuXD3jr3v6/MfRw==} + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-reduce@2.1.0: + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-json@8.1.0: + resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} + engines: {node: '>=18'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.6.4: + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + pg-pool@3.6.2: + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + + pg@8.11.5: + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + platform@1.3.6: + resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} + + plur@4.0.0: + resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} + engines: {node: '>=10'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + postgres-range@1.1.3: + resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + pretty-ansi@3.0.0: + resolution: {integrity: sha512-8FdI7yD+nCdMCbjkapyOwKTBVBtX1S6eLFjZA+gNcnRJQFCqZJgAVKjvwdBsyClOa9DWlr5sin9isAWDvVMpew==} + engines: {node: '>=18'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prettysize@2.0.0: + resolution: {integrity: sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg==} + + printable-characters@1.0.42: + resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-limit@2.7.0: + resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + + punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + pure-rand@5.0.3: + resolution: {integrity: sha512-9N8x1h8dptBQpHyC7aZMS+iNOAm97WMGY0AFrguU1cpfW3I5jINkWe5BIY5md0ofy+1TCIELsVcm/GJXZSaPbw==} + + pure-rand@6.0.2: + resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + + qs@6.9.6: + resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.4.2: + resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} + engines: {node: '>= 0.8'} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + read-package-up@11.0.0: + resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} + engines: {node: '>=18'} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + read-pkg@9.0.1: + resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} + engines: {node: '>=18'} + + readable-stream@2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + + readable-stream@3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} + + readable-stream@4.4.2: + resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.2: + resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + redis-commands@1.7.0: + resolution: {integrity: sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==} + + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-lock@0.1.4: + resolution: {integrity: sha512-7/+zu86XVQfJVx1nHTzux5reglDiyUCDwmW7TSlvVezfhH2YLc/Rc8NE0ejQG+8/0lwKzm29/u/4+ogKeLosiA==} + engines: {node: '>=0.6'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + + redis@3.1.2: + resolution: {integrity: sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==} + engines: {node: '>=10'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + engines: {node: '>= 0.4'} + + replace-string@3.1.0: + resolution: {integrity: sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==} + engines: {node: '>=8'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-in-the-middle@7.2.0: + resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} + engines: {node: '>=8.6.0'} + + reserved-identifiers@1.0.0: + resolution: {integrity: sha512-h0bP2Katmvf3hv4Z3WtDl4+6xt/OglQ2Xa6TnhZ/Rm9/7IH1crXQqMwD4J2ngKBonVv+fB55zfGgNDAmsevLVQ==} + engines: {node: '>=18'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve-pkg@2.0.0: + resolution: {integrity: sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==} + engines: {node: '>=8'} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup-plugin-inject@3.0.2: + resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. + + rollup-plugin-node-polyfills@0.2.1: + resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} + + rollup-pluginutils@2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + send@0.17.2: + resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + + serve-static@1.14.2: + resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shimmer@1.2.1: + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + + side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + + sift@17.1.3: + resolution: {integrity: sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-statistics@7.8.7: + resolution: {integrity: sha512-ed5FwTNYvkMTfbCai1U+r3symP+lIPKWCqKdudpN4NFNMn9RtDlFtSyAQhCp4oPH0YBjWu/qnW+5q5ZkPB3uHQ==} + + siphash@1.1.0: + resolution: {integrity: sha512-QXQOIeN7Lq1uAVfppZukylZ2tAGedZ49Xpu39Zfyb6JJqVFrP7GfbVc7kxTAyoHGi3/c0y7yIG6lmSwxapEKqA==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + size-limit@9.0.0: + resolution: {integrity: sha512-DrA7o2DeRN3s+vwCA9nn7Ck9Y4pn9t0GNUwQRpKqBtBmNkl6LA2s/NlNCdtKHrEkRTeYA1ZQ65mnYveo9rUqgA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + + socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + + sort-keys@4.2.0: + resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} + engines: {node: '>=8'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + sparse-bitfield@3.0.3: + resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} + + spdx-correct@3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + + split2@4.1.0: + resolution: {integrity: sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==} + engines: {node: '>= 10.x'} + + split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + sql-template-tag@5.2.1: + resolution: {integrity: sha512-lFdvXCOqWhV40A7w4oQVDyuaNFb5yO+dhsHStZzOdtDJWCBWYv4+hhATK5nPpY5v/T1OMVcLMPeN4519qIyb9Q==} + engines: {node: '>=14'} + + sqlite-async@1.2.0: + resolution: {integrity: sha512-gx9DUUA2UZzz/8Mh3qdA3RtTm8aJuF7dZgFdZ43WB29Iswdsp0KmPtem/2QDW8K4CrajR8yQ+gEniSFgolNscQ==} + + sqlite3@5.1.2: + resolution: {integrity: sha512-D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==} + + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + + stack-trace@1.0.0-pre2: + resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} + engines: {node: '>=16'} + + stack-utils@2.0.5: + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} + + stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + + stacktracey@2.1.8: + resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} + + staged-git-files@1.3.0: + resolution: {integrity: sha512-38Kd8VBVMVqtuavWAzwV9uWvbIhTQh0hNWMWzj2FAOjdMHgLJOArE3eYBSbLgV28j4F3AXieOMekFqM9UX6wxw==} + hasBin: true + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} + + stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + + streamx@2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-hash@1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@7.0.0: + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} + + string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + + string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + + tar@6.1.14: + resolution: {integrity: sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==} + engines: {node: '>=10'} + + tarn@3.0.2: + resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} + engines: {node: '>=8.0.0'} + + tedious@18.2.1: + resolution: {integrity: sha512-DKsTgGBC0ZeZexAd5OObfeKd0Tlx3jx3kNoKImsxfBKdRuV216u9n6Sr+4w6vzn+S4r43XmWAXQwM7UkDkbIEg==} + engines: {node: '>=18'} + + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + + temp@0.4.0: + resolution: {integrity: sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA==} + engines: {'0': node >=0.4.0} + + tempy@1.0.1: + resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} + engines: {node: '>=10'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.27.0: + resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thingies@1.21.0: + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + timeout-signal@2.0.0: + resolution: {integrity: sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==} + engines: {node: '>=16'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + + tree-dump@1.0.1: + resolution: {integrity: sha512-WCkcRBVPSlHHq1dc/px9iOfqklvzCbdRwvlNfxGZsrHqf6aZttfPrd7DJTt6oR10dwUfpFFQeVTkPbBIZxX/YA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + ts-pattern@5.6.2: + resolution: {integrity: sha512-d4IxJUXROL5NCa3amvMg6VQW2HVtZYmUTPfvVtO7zJWGYLJ+mry9v2OmYm+z67aniQoQ8/yFNadiEwtNS9qQiw==} + + ts-toolbelt@9.6.0: + resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tsd@0.31.2: + resolution: {integrity: sha512-VplBAQwvYrHzVihtzXiUVXu5bGcr7uH1juQZ1lmKgkuGNGT+FechUCqmx9/zk7wibcqR2xaNEwCkDyKh+VVZnQ==} + engines: {node: '>=14.16'} + hasBin: true + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + tsx@4.15.6: + resolution: {integrity: sha512-is0VQQlfNZRHEuSSTKA6m4xw74IU4AizmuB6lAYLRt9XtuyeQnyJYexhNZOPCB59SqC4JzmSzPnHGBXxf3k0hA==} + engines: {node: '>=18.0.0'} + hasBin: true + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + + type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@4.11.0: + resolution: {integrity: sha512-DPsoHKtnCUqqoB5Y4OPyat7ObSLz1XOkhHTmz+gOkz2p1xs+BBneTvHWriTwc313eozfBWh8b45EpaV3ZrrPPQ==} + engines: {node: '>=16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + + typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + + undici@7.2.3: + resolution: {integrity: sha512-2oSLHaDalSt2/O/wHA9M+/ZPAOcU2yrSP/cdBYJ+YxZskiPYDSqHbysLSlD7gq3JMqOoJI5O31RVU3BxX/MnAA==} + engines: {node: '>=20.18.1'} + + unenv-nightly@2.0.0-20241121-161142-806b5c0: + resolution: {integrity: sha512-RnFOasE/O0Q55gBkNB1b84OgKttgLEijGO0JCWpbn+O4XxpyCQg89NmcqQ5RGUiy4y+rMIrKzePTquQcLQF5pQ==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + + unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@9.0.1: + resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + verror@1.10.1: + resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} + engines: {node: '>=0.6.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.92.1: + resolution: {integrity: sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpod@0.0.2: + resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} + hasBin: true + + whatwg-url@13.0.0: + resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==} + engines: {node: '>=16'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@3.0.0: + resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + workerd@1.20241106.1: + resolution: {integrity: sha512-1GdKl0kDw8rrirr/ThcK66Kbl4/jd4h8uHx5g7YHBrnenY5SX1UPuop2cnCzYUxlg55kPjzIqqYslz1muRFgFw==} + engines: {node: '>=16'} + hasBin: true + + wrangler@3.91.0: + resolution: {integrity: sha512-Hdzn6wbY9cz5kL85ZUvWLwLIH7nPaEVRblfms40jhRf4qQO/Zf74aFlku8rQFbe8/2aVZFaxJVfBd6JQMeMSBQ==} + engines: {node: '>=16.17.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20241106.0 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-app-paths@8.3.0: + resolution: {integrity: sha512-mgxlWVZw0TNWHoGmXq+NC3uhCIc55dDpAlDkMQUaIAcQzysb0kxctwv//fvuW61/nAAeUBJMQ8mnZjMmuYwOcQ==} + engines: {node: '>= 4.0'} + + xdg-portable@10.6.0: + resolution: {integrity: sha512-xrcqhWDvtZ7WLmt8G4f3hHy37iK7D2idtosRgkeiSPZEPmBShp0VfmRBLWAPC6zLF48APJ21yfea+RfQMF4/Aw==} + engines: {node: '>= 4.0'} + + xml@1.0.1: + resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + xxhash-wasm@1.0.2: + resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} + + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.6.0: + resolution: {integrity: sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==} + engines: {node: '>=12'} + + yarn@1.22.22: + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + engines: {node: '>=4.0.0'} + hasBin: true + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + youch@3.3.3: + resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} + + zip-stream@5.0.1: + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} + + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + zx@7.2.3: + resolution: {integrity: sha512-QODu38nLlYXg/B/Gw7ZKiZrvPkEsjPN3LQ5JFXM7h0JvwhEdPNNl+4Ao1y4+o3CLNiDUNcwzQYZ4/Ko7kKzCMA==} + engines: {node: '>= 16.0.0'} + hasBin: true + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@ampproject/remapping@2.2.0': + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.22 + + '@antfu/ni@0.21.12': {} + + '@azure/abort-controller@1.1.0': + dependencies: + tslib: 2.6.3 + + '@azure/abort-controller@2.1.2': + dependencies: + tslib: 2.6.3 + + '@azure/core-auth@1.7.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.9.0 + tslib: 2.6.3 + + '@azure/core-client@1.9.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.7.2 + '@azure/core-rest-pipeline': 1.9.2 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.9.0 + '@azure/logger': 1.0.3 + tslib: 2.6.3 + transitivePeerDependencies: + - supports-color + + '@azure/core-http-compat@1.3.0': + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.9.2 + transitivePeerDependencies: + - supports-color + + '@azure/core-lro@2.4.0': + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 + tslib: 2.6.3 + + '@azure/core-paging@1.3.0': + dependencies: + tslib: 2.6.3 + + '@azure/core-rest-pipeline@1.9.2': + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-auth': 1.7.2 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.9.0 + '@azure/logger': 1.0.3 + form-data: 4.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + tslib: 2.6.3 + uuid: 8.3.2 + transitivePeerDependencies: + - supports-color + + '@azure/core-tracing@1.0.1': + dependencies: + tslib: 2.6.3 + + '@azure/core-util@1.9.0': + dependencies: + '@azure/abort-controller': 2.1.2 + tslib: 2.6.3 + + '@azure/identity@4.3.0': + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-auth': 1.7.2 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.9.2 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.9.0 + '@azure/logger': 1.0.3 + '@azure/msal-browser': 3.17.0 + '@azure/msal-node': 2.9.2 + events: 3.3.0 + jws: 4.0.0 + open: 8.4.0 + stoppable: 1.1.0 + tslib: 2.6.3 + transitivePeerDependencies: + - supports-color + + '@azure/keyvault-keys@4.6.0': + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-auth': 1.7.2 + '@azure/core-client': 1.9.2 + '@azure/core-http-compat': 1.3.0 + '@azure/core-lro': 2.4.0 + '@azure/core-paging': 1.3.0 + '@azure/core-rest-pipeline': 1.9.2 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.9.0 + '@azure/logger': 1.0.3 + tslib: 2.6.3 + transitivePeerDependencies: + - supports-color + + '@azure/logger@1.0.3': + dependencies: + tslib: 2.6.3 + + '@azure/msal-browser@3.17.0': + dependencies: + '@azure/msal-common': 14.12.0 + + '@azure/msal-common@14.12.0': {} + + '@azure/msal-node@2.9.2': + dependencies: + '@azure/msal-common': 14.12.0 + jsonwebtoken: 9.0.2 + uuid: 8.3.2 + + '@babel/code-frame@7.21.4': + dependencies: + '@babel/highlight': 7.18.6 + + '@babel/code-frame@7.23.5': + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.21.7': {} + + '@babel/core@7.21.8': + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.5 + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) + '@babel/helper-module-transforms': 7.21.5 + '@babel/helpers': 7.21.5 + '@babel/parser': 7.21.8 + '@babel/template': 7.20.7 + '@babel/traverse': 7.26.5 + '@babel/types': 7.21.5 + convert-source-map: 1.9.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.21.5': + dependencies: + '@babel/types': 7.21.5 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.22 + jsesc: 2.5.2 + + '@babel/generator@7.26.5': + dependencies: + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.8)': + dependencies: + '@babel/compat-data': 7.21.7 + '@babel/core': 7.21.8 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.21.5': {} + + '@babel/helper-module-imports@7.21.4': + dependencies: + '@babel/types': 7.21.5 + + '@babel/helper-module-transforms@7.21.5': + dependencies: + '@babel/helper-environment-visitor': 7.21.5 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.22.20 + '@babel/template': 7.20.7 + '@babel/traverse': 7.26.5 + '@babel/types': 7.21.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.19.0': {} + + '@babel/helper-simple-access@7.21.5': + dependencies: + '@babel/types': 7.21.5 + + '@babel/helper-split-export-declaration@7.18.6': + dependencies: + '@babel/types': 7.21.5 + + '@babel/helper-string-parser@7.21.5': {} + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.21.0': {} + + '@babel/helpers@7.21.5': + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.26.5 + '@babel/types': 7.21.5 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.18.6': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + '@babel/highlight@7.23.4': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + + '@babel/parser@7.21.8': + dependencies: + '@babel/types': 7.21.5 + + '@babel/parser@7.26.5': + dependencies: + '@babel/types': 7.26.5 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.21.8)': + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-plugin-utils': 7.19.0 + + '@babel/template@7.20.7': + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.8 + '@babel/types': 7.21.5 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 + + '@babel/traverse@7.26.5': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.5 + '@babel/template': 7.25.9 + '@babel/types': 7.26.5 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.21.5': + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@babel/types@7.26.5': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@bcoe/v8-coverage@0.2.3': {} + + '@cloudflare/kv-asset-handler@0.3.4': + dependencies: + mime: 3.0.0 + + '@cloudflare/workerd-darwin-64@1.20241106.1': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20241106.1': + optional: true + + '@cloudflare/workerd-linux-64@1.20241106.1': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20241106.1': + optional: true + + '@cloudflare/workerd-windows-64@1.20241106.1': + optional: true + + '@cloudflare/workers-shared@0.9.0': + dependencies: + mime: 3.0.0 + zod: 3.22.4 + + '@cloudflare/workers-types@4.20240614.0': {} + + '@codspeed/benchmark.js-plugin@3.1.1(benchmark@2.1.4)': + dependencies: + '@codspeed/core': 3.1.1 + benchmark: 2.1.4 + lodash: 4.17.21 + stack-trace: 1.0.0-pre2 + transitivePeerDependencies: + - debug + + '@codspeed/core@3.1.1': + dependencies: + axios: 1.6.7 + find-up: 6.3.0 + form-data: 4.0.0 + node-gyp-build: 4.6.0 + transitivePeerDependencies: + - debug + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@emnapi/core@1.3.1': + dependencies: + '@emnapi/wasi-threads': 1.0.1 + tslib: 2.6.3 + optional: true + + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.6.3 + optional: true + + '@emnapi/wasi-threads@1.0.1': + dependencies: + tslib: 2.6.3 + optional: true + + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + + '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + escape-string-regexp: 4.0.0 + rollup-plugin-node-polyfills: 0.2.1 + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.17.19': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm@0.17.19': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-x64@0.17.19': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.17.19': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.17.19': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.17.19': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.17.19': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.17.19': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.17.19': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.17.19': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.17.19': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.17.19': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.17.19': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.17.19': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.17.19': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-x64@0.17.19': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.17.19': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.17.19': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.17.19': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.17.19': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.17.19': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.17.19': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': + dependencies: + eslint: 9.5.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/compat@1.2.5(eslint@9.5.0)': + optionalDependencies: + eslint: 9.5.0 + + '@eslint/config-array@0.16.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.7 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.5.0': {} + + '@eslint/object-schema@2.1.4': {} + + '@faker-js/faker@8.4.1': {} + + '@fast-check/jest@2.0.3(@jest/expect@29.7.0)(@jest/globals@29.7.0)': + dependencies: + '@jest/globals': 29.7.0 + fast-check: 3.3.0 + optionalDependencies: + '@jest/expect': 29.7.0 + + '@fastify/busboy@2.0.0': {} + + '@gar/promisify@1.1.3': + optional: true + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.0': {} + + '@inquirer/checkbox@2.3.5': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/figures': 1.0.3 + '@inquirer/type': 1.3.3 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + + '@inquirer/confirm@3.1.9': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/type': 1.3.3 + + '@inquirer/core@8.2.2': + dependencies: + '@inquirer/figures': 1.0.3 + '@inquirer/type': 1.3.3 + '@types/mute-stream': 0.0.4 + '@types/node': 20.14.1 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-spinners: 2.9.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + '@inquirer/editor@2.1.9': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/type': 1.3.3 + external-editor: 3.1.0 + + '@inquirer/expand@2.1.9': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/type': 1.3.3 + chalk: 4.1.2 + + '@inquirer/figures@1.0.3': {} + + '@inquirer/input@2.1.9': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/type': 1.3.3 + + '@inquirer/password@2.1.9': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/type': 1.3.3 + ansi-escapes: 4.3.2 + + '@inquirer/prompts@5.0.5': + dependencies: + '@inquirer/checkbox': 2.3.5 + '@inquirer/confirm': 3.1.9 + '@inquirer/editor': 2.1.9 + '@inquirer/expand': 2.1.9 + '@inquirer/input': 2.1.9 + '@inquirer/password': 2.1.9 + '@inquirer/rawlist': 2.1.9 + '@inquirer/select': 2.3.5 + + '@inquirer/rawlist@2.1.9': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/type': 1.3.3 + chalk: 4.1.2 + + '@inquirer/select@2.3.5': + dependencies: + '@inquirer/core': 8.2.2 + '@inquirer/figures': 1.0.3 + '@inquirer/type': 1.3.3 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + + '@inquirer/type@1.3.3': {} + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + optional: true + + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/create-cache-key-function@29.7.0': + dependencies: + '@jest/types': 29.6.3 + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.0.2 + '@types/node': 20.12.7 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.22 + '@types/node': 20.12.7 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 6.0.0 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.0.1 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.22 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.10 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.21.8 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.22 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.12.7 + '@types/yargs': 17.0.13 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.1.1': + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@jridgewell/gen-mapping@0.3.2': + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.22 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.0': {} + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.22 + + '@jridgewell/sourcemap-codec@1.4.14': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.22': + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@js-joda/core@5.6.3': {} + + '@jsonjoy.com/base64@1.1.1(tslib@2.6.3)': + dependencies: + tslib: 2.6.3 + + '@jsonjoy.com/json-pack@1.0.3(tslib@2.6.3)': + dependencies: + '@jsonjoy.com/base64': 1.1.1(tslib@2.6.3) + '@jsonjoy.com/util': 1.5.0(tslib@2.6.3) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.6.3) + tslib: 2.6.3 + + '@jsonjoy.com/util@1.5.0(tslib@2.6.3)': + dependencies: + tslib: 2.6.3 + + '@libsql/client@0.8.0': + dependencies: + '@libsql/core': 0.8.0 + '@libsql/hrana-client': 0.6.2 + js-base64: 3.7.5 + libsql: 0.3.10 + promise-limit: 2.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/core@0.8.0': + dependencies: + js-base64: 3.7.5 + + '@libsql/darwin-arm64@0.3.10': + optional: true + + '@libsql/darwin-x64@0.3.10': + optional: true + + '@libsql/hrana-client@0.6.2': + dependencies: + '@libsql/isomorphic-fetch': 0.2.1 + '@libsql/isomorphic-ws': 0.1.5 + js-base64: 3.7.5 + node-fetch: 3.3.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/isomorphic-fetch@0.2.1': {} + + '@libsql/isomorphic-ws@0.1.5': + dependencies: + '@types/ws': 8.5.6 + ws: 8.14.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/linux-arm64-gnu@0.3.10': + optional: true + + '@libsql/linux-arm64-musl@0.3.10': + optional: true + + '@libsql/linux-x64-gnu@0.3.10': + optional: true + + '@libsql/linux-x64-musl@0.3.10': + optional: true + + '@libsql/win32-x64-msvc@0.3.10': + optional: true + + '@mapbox/node-pre-gyp@1.0.10(encoding@0.1.13)': + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0(encoding@0.1.13) + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.3 + tar: 6.1.14 + transitivePeerDependencies: + - encoding + - supports-color + + '@microsoft/api-extractor-model@7.30.1(@types/node@20.12.7)': + dependencies: + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.10.1(@types/node@20.12.7) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.48.1(@types/node@20.12.7)': + dependencies: + '@microsoft/api-extractor-model': 7.30.1(@types/node@20.12.7) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.10.1(@types/node@20.12.7) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.14.4(@types/node@20.12.7) + '@rushstack/ts-command-line': 4.23.2(@types/node@20.12.7) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.10 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.17.1': + dependencies: + '@microsoft/tsdoc': 0.15.1 + ajv: 8.12.0 + jju: 1.4.0 + resolve: 1.22.10 + + '@microsoft/tsdoc@0.15.1': {} + + '@mongodb-js/saslprep@1.1.9': + dependencies: + sparse-bitfield: 3.0.3 + + '@napi-rs/wasm-runtime@0.2.5': + dependencies: + '@emnapi/core': 1.3.1 + '@emnapi/runtime': 1.3.1 + '@tybys/wasm-util': 0.9.0 + optional: true + + '@neon-rs/load@0.0.4': {} + + '@neondatabase/serverless@0.10.2': + dependencies: + '@types/pg': 8.11.6 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + '@npmcli/fs@1.1.1': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.6.3 + optional: true + + '@npmcli/move-file@1.1.2': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + optional: true + + '@opentelemetry/api-logs@0.56.0': + dependencies: + '@opentelemetry/api': 1.9.0 + + '@opentelemetry/api@1.9.0': {} + + '@opentelemetry/context-async-hooks@1.29.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + + '@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.28.0 + + '@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.56.0 + '@types/shimmer': 1.2.0 + import-in-the-middle: 1.8.1 + require-in-the-middle: 7.2.0 + semver: 7.6.3 + shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/resources@1.29.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.29.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.28.0 + + '@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.29.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.29.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.28.0 + + '@opentelemetry/semantic-conventions@1.28.0': {} + + '@oxc-resolver/binding-darwin-arm64@1.10.2': + optional: true + + '@oxc-resolver/binding-darwin-x64@1.10.2': + optional: true + + '@oxc-resolver/binding-freebsd-x64@1.10.2': + optional: true + + '@oxc-resolver/binding-linux-arm-gnueabihf@1.10.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-gnu@1.10.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-musl@1.10.2': + optional: true + + '@oxc-resolver/binding-linux-x64-gnu@1.10.2': + optional: true + + '@oxc-resolver/binding-linux-x64-musl@1.10.2': + optional: true + + '@oxc-resolver/binding-wasm32-wasi@1.10.2': + dependencies: + '@napi-rs/wasm-runtime': 0.2.5 + optional: true + + '@oxc-resolver/binding-win32-arm64-msvc@1.10.2': + optional: true + + '@oxc-resolver/binding-win32-x64-msvc@1.10.2': + optional: true + + '@planetscale/database@1.18.0': {} + + '@prisma/engines-version@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': {} + + '@prisma/mini-proxy@0.9.5': {} + + '@prisma/prisma-schema-wasm@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': {} + + '@prisma/query-compiler-wasm@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': {} + + '@prisma/query-engine-wasm@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0': {} + + '@prisma/studio-common@0.505.0': + dependencies: + buffer: 6.0.3 + + '@prisma/studio-pcw@0.505.0(@prisma/client@packages+client)(@prisma/internals@packages+internals)': + dependencies: + '@prisma/client': link:packages/client + '@prisma/internals': link:packages/internals + debug: 4.3.3 + lodash: 4.17.21 + transitivePeerDependencies: + - supports-color + + '@prisma/studio-server@0.505.0(@prisma/client@packages+client)(@prisma/internals@packages+internals)(encoding@0.1.13)': + dependencies: + '@prisma/internals': link:packages/internals + '@prisma/studio': 0.505.0 + '@prisma/studio-common': 0.505.0 + '@prisma/studio-pcw': 0.505.0(@prisma/client@packages+client)(@prisma/internals@packages+internals) + checkpoint-client: 1.1.33(encoding@0.1.13) + cors: 2.8.5 + debug: 4.3.3 + express: 4.17.2 + untildify: 4.0.0 + transitivePeerDependencies: + - '@prisma/client' + - encoding + - supports-color + + '@prisma/studio@0.505.0': {} + + '@rushstack/node-core-library@5.10.1(@types/node@20.12.7)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.10 + semver: 7.5.4 + optionalDependencies: + '@types/node': 20.12.7 + + '@rushstack/rig-package@0.5.3': + dependencies: + resolve: 1.22.10 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.14.4(@types/node@20.12.7)': + dependencies: + '@rushstack/node-core-library': 5.10.1(@types/node@20.12.7) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.12.7 + + '@rushstack/ts-command-line@4.23.2(@types/node@20.12.7)': + dependencies: + '@rushstack/terminal': 0.14.4(@types/node@20.12.7) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/slugify@1.1.2': + dependencies: + '@sindresorhus/transliterate': 0.1.2 + escape-string-regexp: 4.0.0 + + '@sindresorhus/transliterate@0.1.2': + dependencies: + escape-string-regexp: 2.0.0 + lodash.deburr: 4.1.0 + + '@sinonjs/commons@2.0.0': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.0.2': + dependencies: + '@sinonjs/commons': 2.0.0 + + '@size-limit/file@9.0.0(size-limit@9.0.0)': + dependencies: + semver: 7.5.4 + size-limit: 9.0.0 + + '@slack/types@2.9.0': {} + + '@slack/webhook@7.0.4': + dependencies: + '@slack/types': 2.9.0 + '@types/node': 20.12.7 + axios: 1.7.9 + transitivePeerDependencies: + - debug + + '@snaplet/copycat@0.17.3': + dependencies: + '@faker-js/faker': 8.4.1 + fictional: 0.8.4 + uuid: 8.3.2 + + '@swc-node/core@1.13.3(@swc/core@1.10.9)(@swc/types@0.1.17)': + dependencies: + '@swc/core': 1.10.9 + '@swc/types': 0.1.17 + + '@swc-node/register@1.10.9(@swc/core@1.10.9)(@swc/types@0.1.17)(typescript@5.4.5)': + dependencies: + '@swc-node/core': 1.13.3(@swc/core@1.10.9)(@swc/types@0.1.17) + '@swc-node/sourcemap-support': 0.5.1 + '@swc/core': 1.10.9 + colorette: 2.0.20 + debug: 4.3.7 + oxc-resolver: 1.10.2 + pirates: 4.0.6 + tslib: 2.6.3 + typescript: 5.4.5 + transitivePeerDependencies: + - '@swc/types' + - supports-color + + '@swc-node/sourcemap-support@0.5.1': + dependencies: + source-map-support: 0.5.21 + tslib: 2.6.3 + + '@swc/core-android-arm-eabi@1.2.204': + optional: true + + '@swc/core-android-arm64@1.2.204': + optional: true + + '@swc/core-darwin-arm64@1.10.9': + optional: true + + '@swc/core-darwin-arm64@1.2.204': + optional: true + + '@swc/core-darwin-x64@1.10.9': + optional: true + + '@swc/core-darwin-x64@1.2.204': + optional: true + + '@swc/core-freebsd-x64@1.2.204': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.10.9': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.2.204': + optional: true + + '@swc/core-linux-arm64-gnu@1.10.9': + optional: true + + '@swc/core-linux-arm64-gnu@1.2.204': + optional: true + + '@swc/core-linux-arm64-musl@1.10.9': + optional: true + + '@swc/core-linux-arm64-musl@1.2.204': + optional: true + + '@swc/core-linux-x64-gnu@1.10.9': + optional: true + + '@swc/core-linux-x64-gnu@1.2.204': + optional: true + + '@swc/core-linux-x64-musl@1.10.9': + optional: true + + '@swc/core-linux-x64-musl@1.2.204': + optional: true + + '@swc/core-win32-arm64-msvc@1.10.9': + optional: true + + '@swc/core-win32-arm64-msvc@1.2.204': + optional: true + + '@swc/core-win32-ia32-msvc@1.10.9': + optional: true + + '@swc/core-win32-ia32-msvc@1.2.204': + optional: true + + '@swc/core-win32-x64-msvc@1.10.9': + optional: true + + '@swc/core-win32-x64-msvc@1.2.204': + optional: true + + '@swc/core@1.10.9': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.17 + optionalDependencies: + '@swc/core-darwin-arm64': 1.10.9 + '@swc/core-darwin-x64': 1.10.9 + '@swc/core-linux-arm-gnueabihf': 1.10.9 + '@swc/core-linux-arm64-gnu': 1.10.9 + '@swc/core-linux-arm64-musl': 1.10.9 + '@swc/core-linux-x64-gnu': 1.10.9 + '@swc/core-linux-x64-musl': 1.10.9 + '@swc/core-win32-arm64-msvc': 1.10.9 + '@swc/core-win32-ia32-msvc': 1.10.9 + '@swc/core-win32-x64-msvc': 1.10.9 + + '@swc/core@1.2.204': + optionalDependencies: + '@swc/core-android-arm-eabi': 1.2.204 + '@swc/core-android-arm64': 1.2.204 + '@swc/core-darwin-arm64': 1.2.204 + '@swc/core-darwin-x64': 1.2.204 + '@swc/core-freebsd-x64': 1.2.204 + '@swc/core-linux-arm-gnueabihf': 1.2.204 + '@swc/core-linux-arm64-gnu': 1.2.204 + '@swc/core-linux-arm64-musl': 1.2.204 + '@swc/core-linux-x64-gnu': 1.2.204 + '@swc/core-linux-x64-musl': 1.2.204 + '@swc/core-win32-arm64-msvc': 1.2.204 + '@swc/core-win32-ia32-msvc': 1.2.204 + '@swc/core-win32-x64-msvc': 1.2.204 + + '@swc/counter@0.1.3': {} + + '@swc/jest@0.2.37(@swc/core@1.10.9)': + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@swc/core': 1.10.9 + '@swc/counter': 0.1.3 + jsonc-parser: 3.2.0 + + '@swc/jest@0.2.37(@swc/core@1.2.204)': + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@swc/core': 1.2.204 + '@swc/counter': 0.1.3 + jsonc-parser: 3.2.0 + + '@swc/types@0.1.17': + dependencies: + '@swc/counter': 0.1.3 + + '@tediousjs/connection-string@0.5.0': {} + + '@timsuchanek/copy@1.4.5': + dependencies: + '@timsuchanek/sleep-promise': 8.0.1 + commander: 2.20.3 + mkdirp: 1.0.4 + prettysize: 2.0.0 + + '@timsuchanek/sleep-promise@8.0.1': {} + + '@tootallnate/once@1.1.2': + optional: true + + '@tootallnate/once@2.0.0': {} + + '@tsconfig/node10@1.0.9': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.3': {} + + '@tsd/typescript@5.4.3': {} + + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.6.3 + optional: true + + '@types/argparse@1.0.38': {} + + '@types/babel__core@7.1.19': + dependencies: + '@babel/parser': 7.21.8 + '@babel/types': 7.21.5 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.18.2 + + '@types/babel__generator@7.6.4': + dependencies: + '@babel/types': 7.21.5 + + '@types/babel__helper-validator-identifier@7.15.2': {} + + '@types/babel__template@7.4.1': + dependencies: + '@babel/parser': 7.21.8 + '@babel/types': 7.21.5 + + '@types/babel__traverse@7.18.2': + dependencies: + '@babel/types': 7.21.5 + + '@types/benchmark@2.1.5': {} + + '@types/cross-spawn@6.0.6': + dependencies: + '@types/node': 20.12.7 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.31 + + '@types/eslint-scope@3.7.4': + dependencies: + '@types/eslint': 7.29.0 + '@types/estree': 1.0.5 + + '@types/eslint@7.29.0': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.5': {} + + '@types/fs-extra@11.0.1': + dependencies: + '@types/jsonfile': 6.1.1 + '@types/node': 20.12.7 + + '@types/fs-extra@9.0.13': + dependencies: + '@types/node': 20.12.7 + + '@types/geojson@7946.0.14': {} + + '@types/glob@8.0.0': + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.12.7 + + '@types/graceful-fs@4.1.5': + dependencies: + '@types/node': 20.12.7 + + '@types/graphviz@0.0.39': + dependencies: + '@types/node': 20.12.7 + + '@types/istanbul-lib-coverage@2.0.4': {} + + '@types/istanbul-lib-report@3.0.0': + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + + '@types/istanbul-reports@3.0.1': + dependencies: + '@types/istanbul-lib-report': 3.0.0 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/js-levenshtein@1.1.3': {} + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/jsonfile@6.1.1': + dependencies: + '@types/node': 20.12.7 + + '@types/minimatch@5.1.2': {} + + '@types/minimist@1.2.2': {} + + '@types/ms@0.7.31': {} + + '@types/mssql@9.1.5': + dependencies: + '@types/node': 20.12.7 + '@types/tedious': 4.0.9 + tarn: 3.0.2 + + '@types/mute-stream@0.0.4': + dependencies: + '@types/node': 20.12.7 + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 20.12.7 + + '@types/node@18.19.31': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.12.7': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.14.1': + dependencies: + undici-types: 5.26.5 + + '@types/normalize-package-data@2.4.4': {} + + '@types/pg@8.11.6': + dependencies: + '@types/node': 20.12.7 + pg-protocol: 1.6.1 + pg-types: 4.0.2 + + '@types/progress@2.0.7': + dependencies: + '@types/node': 20.12.7 + + '@types/prompts@2.4.9': + dependencies: + '@types/node': 20.12.7 + kleur: 3.0.3 + + '@types/ps-tree@1.1.2': {} + + '@types/readable-stream@4.0.14': + dependencies: + '@types/node': 20.12.7 + safe-buffer: 5.1.2 + + '@types/redis@2.8.32': + dependencies: + '@types/node': 20.12.7 + + '@types/resolve@1.20.6': {} + + '@types/retry@0.12.0': {} + + '@types/rimraf@3.0.2': + dependencies: + '@types/glob': 8.0.0 + '@types/node': 20.12.7 + + '@types/shimmer@1.2.0': {} + + '@types/sqlite3@3.1.11': + dependencies: + '@types/node': 20.12.7 + + '@types/stack-utils@2.0.1': {} + + '@types/tedious@4.0.9': + dependencies: + '@types/node': 20.12.7 + + '@types/webidl-conversions@7.0.0': {} + + '@types/whatwg-url@11.0.4': + dependencies: + '@types/webidl-conversions': 7.0.0 + + '@types/which@3.0.0': {} + + '@types/wrap-ansi@3.0.0': {} + + '@types/ws@8.5.6': + dependencies: + '@types/node': 20.12.7 + + '@types/yargs-parser@21.0.0': {} + + '@types/yargs@17.0.13': + dependencies: + '@types/yargs-parser': 21.0.0 + + '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/type-utils': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.15.0 + eslint: 9.5.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.15.0 + debug: 4.3.7 + eslint: 9.5.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.15.0': + dependencies: + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 + + '@typescript-eslint/type-utils@7.15.0(eslint@9.5.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + debug: 4.3.7 + eslint: 9.5.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@7.15.0': {} + + '@typescript-eslint/typescript-estree@7.15.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 + debug: 4.3.7 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.15.0(eslint@9.5.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.4.5) + eslint: 9.5.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.15.0': + dependencies: + '@typescript-eslint/types': 7.15.0 + eslint-visitor-keys: 3.4.3 + + '@webassemblyjs/ast@1.12.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + + '@webassemblyjs/helper-api-error@1.11.6': {} + + '@webassemblyjs/helper-buffer@1.12.1': {} + + '@webassemblyjs/helper-numbers@1.11.6': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + + '@webassemblyjs/helper-wasm-section@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + + '@webassemblyjs/ieee754@1.11.6': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.11.6': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.11.6': {} + + '@webassemblyjs/wasm-edit@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + + '@webassemblyjs/wasm-gen@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wasm-opt@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + + '@webassemblyjs/wasm-parser@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wast-printer@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abbrev@1.1.1: {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-attributes@1.9.5(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-walk@8.2.0: {} + + acorn@8.11.3: {} + + acorn@8.9.0: {} + + agent-base@6.0.2: + dependencies: + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + agent-base@7.1.0: + dependencies: + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + agent-base@7.1.3: {} + + agentkeepalive@4.2.1: + dependencies: + debug: 4.3.7 + depd: 1.1.2 + humanize-ms: 1.2.1 + transitivePeerDependencies: + - supports-color + optional: true + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-draft-04@1.0.0(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1: + dependencies: + ajv: 8.13.0 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.13.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + aproba@2.0.0: {} + + archiver-utils@4.0.1: + dependencies: + glob: 8.1.0 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 3.6.0 + + archiver@6.0.2: + dependencies: + archiver-utils: 4.0.1 + async: 3.2.4 + buffer-crc32: 0.2.13 + readable-stream: 3.6.0 + readdir-glob: 1.1.2 + tar-stream: 3.1.6 + zip-stream: 5.0.1 + + are-we-there-yet@2.0.0: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.0 + + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.0 + optional: true + + arg@4.1.3: {} + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-buffer-byte-length@1.0.0: + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + + array-flatten@1.1.1: {} + + array-includes@3.1.7: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + + array-union@2.1.0: {} + + array.prototype.findlastindex@1.2.3: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + + array.prototype.flat@1.3.2: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + + array.prototype.flatmap@1.3.2: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + + arraybuffer.prototype.slice@1.0.1: + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.1 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + + arrify@1.0.1: {} + + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + + assert-plus@1.0.0: {} + + astral-regex@2.0.0: {} + + async-listen@3.0.1: {} + + async-mutex@0.5.0: + dependencies: + tslib: 2.6.2 + + async@3.2.4: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.5: {} + + axios@1.6.7: + dependencies: + follow-redirects: 1.15.4 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.7.9: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + b4a@1.6.4: {} + + babel-jest@29.7.0(@babel/core@7.21.8): + dependencies: + '@babel/core': 7.21.8 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.1.19 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.21.8) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.19.0 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.21.5 + '@types/babel__core': 7.1.19 + '@types/babel__traverse': 7.18.2 + + babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.8): + dependencies: + '@babel/core': 7.21.8 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8) + + babel-preset-jest@29.6.3(@babel/core@7.21.8): + dependencies: + '@babel/core': 7.21.8 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + batching-toposort@1.2.0: {} + + benchmark@2.1.4: + dependencies: + lodash: 4.17.21 + platform: 1.3.6 + + binary-extensions@2.2.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.0 + + bl@6.0.12: + dependencies: + '@types/readable-stream': 4.0.14 + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 4.4.2 + + blake3-wasm@2.1.5: {} + + body-parser@1.19.1: + dependencies: + bytes: 3.1.1 + content-type: 1.0.5 + debug: 2.6.9 + depd: 1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: 2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: 1.6.18 + transitivePeerDependencies: + - supports-color + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.2: + dependencies: + fill-range: 7.1.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.22.2: + dependencies: + caniuse-lite: 1.0.30001579 + electron-to-chromium: 1.4.645 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + bson@6.10.1: {} + + buffer-crc32@0.2.13: {} + + buffer-equal-constant-time@1.0.1: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bytes-iec@3.1.1: {} + + bytes@3.1.1: {} + + cacache@15.3.0: + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.4 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.1.14 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + optional: true + + call-bind@1.0.2: + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.1 + + callsites@3.1.0: {} + + camelcase-keys@6.2.2: + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001579: {} + + capnp-ts@0.7.0: + dependencies: + debug: 4.3.7 + tslib: 2.6.3 + transitivePeerDependencies: + - supports-color + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.2.0: {} + + chalk@5.3.0: {} + + char-regex@1.0.2: {} + + chardet@0.7.0: {} + + checkpoint-client@1.1.33(encoding@0.1.13): + dependencies: + ci-info: 4.0.0 + env-paths: 2.2.1 + make-dir: 4.0.0 + ms: 2.1.3 + node-fetch: 2.7.0(encoding@0.1.13) + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 + + chownr@2.0.0: {} + + chrome-trace-event@1.0.3: {} + + ci-info@3.9.0: {} + + ci-info@4.0.0: {} + + ci-info@4.1.0: {} + + cjs-module-lexer@1.2.2: {} + + clean-stack@2.2.0: {} + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@2.7.0: {} + + cli-spinners@2.9.2: {} + + cli-truncate@2.1.0: + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.0.0 + + cli-width@4.1.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: {} + + co@4.6.0: {} + + collect-v8-coverage@1.0.1: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-support@1.1.3: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@11.1.0: {} + + commander@12.1.0: {} + + commander@2.20.3: {} + + common-path-prefix@3.0.0: {} + + compress-commons@5.0.1: + dependencies: + crc-32: 1.2.2 + crc32-stream: 5.0.0 + normalize-path: 3.0.0 + readable-stream: 3.6.0 + + concat-map@0.0.1: {} + + console-control-strings@1.1.0: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.4.1: {} + + cookie@0.5.0: {} + + core-util-is@1.0.2: {} + + core-util-is@1.0.3: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + crc-32@1.2.2: {} + + crc32-stream@5.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 3.6.0 + + create-jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true + + create-jest@29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-require@1.1.1: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@2.0.0: {} + + data-uri-to-buffer@2.0.2: {} + + data-uri-to-buffer@4.0.1: {} + + date-fns@4.1.0: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.3: + dependencies: + ms: 2.1.2 + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + decamelize-keys@1.1.0: + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + + decimal.js@10.4.3: {} + + dedent@1.5.1: {} + + deep-is@0.1.4: {} + + deepmerge@4.2.2: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-data-property@1.1.0: + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.0 + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + + defu@6.1.4: {} + + del@6.1.1: + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.10 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + delayed-stream@1.0.0: {} + + delegates@1.0.0: {} + + denque@1.5.1: {} + + denque@2.1.0: {} + + depd@1.1.2: {} + + destroy@1.0.4: {} + + detect-libc@2.0.2: {} + + detect-newline@3.1.0: {} + + detect-runtime@1.0.4: {} + + diff-sequences@29.6.3: {} + + diff@4.0.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + dotenv-cli@7.4.4: + dependencies: + cross-spawn: 7.0.6 + dotenv: 16.4.7 + dotenv-expand: 10.0.0 + minimist: 1.2.8 + + dotenv-expand@10.0.0: {} + + dotenv@16.4.7: {} + + duplexer@0.1.2: {} + + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + + ee-first@1.1.1: {} + + electron-to-chromium@1.4.645: {} + + emittery@0.13.1: {} + + emoji-regex@10.3.0: {} + + emoji-regex@8.0.0: {} + + encodeurl@1.0.2: {} + + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + optional: true + + enhanced-resolve@5.17.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + env-paths@2.2.1: {} + + environment@1.1.0: {} + + err-code@2.0.3: + optional: true + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-abstract@1.22.1: + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.1 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.1 + 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.5 + is-array-buffer: 3.0.2 + 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.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.11 + + es-module-lexer@1.2.1: {} + + es-set-tostringtag@2.0.1: + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + has-tostringtag: 1.0.0 + + es-shim-unscopables@1.0.0: + dependencies: + has: 1.0.3 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + esbuild-register@3.6.0(esbuild@0.24.2): + dependencies: + debug: 4.3.7 + esbuild: 0.24.2 + transitivePeerDependencies: + - supports-color + + esbuild@0.17.19: + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + escalade@3.1.1: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-prettier@9.1.0(eslint@9.5.0): + dependencies: + eslint: 9.5.0 + + eslint-formatter-pretty@4.1.0: + dependencies: + '@types/eslint': 7.29.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + eslint-rule-docs: 1.1.235 + log-symbols: 4.1.0 + plur: 4.0.0 + string-width: 4.2.3 + supports-hyperlinks: 2.3.0 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.5.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + eslint: 9.5.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-eslint-comments@3.2.0(eslint@9.5.0): + dependencies: + escape-string-regexp: 1.0.5 + eslint: 9.5.0 + ignore: 5.2.4 + + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0): + dependencies: + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.5.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.5.0) + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jest@28.10.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5): + dependencies: + '@typescript-eslint/utils': 7.15.0(eslint@9.5.0)(typescript@5.4.5) + eslint: 9.5.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5) + jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-local-rules@2.0.1: {} + + eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0(eslint@9.5.0))(eslint@9.5.0)(prettier@2.8.8): + dependencies: + eslint: 9.5.0 + prettier: 2.8.8 + prettier-linter-helpers: 1.0.0 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.5.0) + + eslint-plugin-simple-import-sort@12.1.1(eslint@9.5.0): + dependencies: + eslint: 9.5.0 + + eslint-rule-docs@1.1.235: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@8.0.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.0.0: {} + + eslint@9.5.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/config-array': 0.16.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.5.0 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.3.7 + escape-string-regexp: 4.0.0 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + espree@10.0.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + + esprima@4.0.1: {} + + esquery@1.5.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-walker@0.6.1: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-stream@3.3.4: + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + + event-target-shim@5.0.1: {} + + eventemitter3@5.0.1: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + exit-hook@2.2.1: {} + + exit@0.1.2: {} + + expect-type@0.19.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + express@4.17.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.19.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 1.1.2 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.3.0 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.9.6 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: 1.5.0 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + extsprintf@1.4.1: {} + + fast-check@3.3.0: + dependencies: + pure-rand: 5.0.3 + + fast-deep-equal@3.1.3: {} + + fast-diff@1.2.0: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.15.0: + dependencies: + reusify: 1.0.4 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 + + fictional@0.8.4: + dependencies: + decimal.js: 10.4.3 + fast-json-stable-stringify: 2.1.0 + fnv-plus: 1.3.1 + siphash: 1.1.0 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@5.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up-simple@1.0.0: {} + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + + flat-map-polyfill@0.3.8: {} + + flatted@3.3.1: {} + + fnv-plus@1.3.1: {} + + follow-redirects@1.15.4: {} + + follow-redirects@1.15.6: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + format-util@1.0.5: {} + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + forwarded@0.2.0: {} + + fp-ts@2.16.9: {} + + fresh@0.5.2: {} + + from@0.1.7: {} + + fs-extra@11.1.1: + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-jetpack@5.1.0: + dependencies: + minimatch: 5.1.0 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.4 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.5: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.1 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + fx@28.0.0: {} + + gauge@3.0.2: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + + gauge@4.0.4: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + optional: true + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.2.0: {} + + get-intrinsic@1.2.1: + dependencies: + function-bind: 1.1.2 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + + get-package-type@0.1.0: {} + + get-port@5.1.1: {} + + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 + + get-stdin@8.0.0: {} + + get-stream@6.0.1: {} + + get-stream@8.0.1: {} + + get-symbol-description@1.0.0: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + + get-tsconfig@4.7.5: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + + global-dirs@4.0.0: + dependencies: + ini: 2.0.0 + + globals@11.12.0: {} + + globals@14.0.0: {} + + globals@15.13.0: {} + + globalthis@1.0.3: + dependencies: + define-properties: 1.2.1 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.1.4: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.1 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + graphviz-mit@0.0.9: + dependencies: + temp: 0.4.0 + which: 1.3.1 + + hard-rejection@2.1.0: {} + + has-bigints@1.0.2: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.0: + dependencies: + get-intrinsic: 1.2.1 + + has-proto@1.0.1: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.0: + dependencies: + has-symbols: 1.0.3 + + has-unicode@2.0.1: {} + + has@1.0.3: + dependencies: + function-bind: 1.1.2 + + hasha@5.2.2: + dependencies: + is-stream: 2.0.1 + type-fest: 0.8.1 + + hasown@2.0.0: + dependencies: + function-bind: 1.1.2 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hosted-git-info@2.8.9: {} + + hosted-git-info@4.1.0: + dependencies: + lru-cache: 6.0.0 + + hosted-git-info@7.0.1: + dependencies: + lru-cache: 10.2.0 + + html-escaper@2.0.2: {} + + http-cache-semantics@4.1.1: + optional: true + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + optional: true + + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.0 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + human-signals@5.0.0: {} + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + optional: true + + husky@9.1.7: {} + + hyperdyperid@1.2.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + identifier-regex@1.0.0: + dependencies: + reserved-identifiers: 1.0.0 + + ieee754@1.2.1: {} + + ignore-walk@5.0.1: + dependencies: + minimatch: 5.1.6 + + ignore@5.2.4: {} + + ignore@5.3.1: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-in-the-middle@1.8.1: + dependencies: + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) + cjs-module-lexer: 1.2.2 + module-details-from-path: 1.0.3 + + import-lazy@4.0.0: {} + + import-local@3.1.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + index-to-position@0.1.2: {} + + infer-owner@1.0.4: + optional: true + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@2.0.0: {} + + internal-slot@1.0.5: + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + side-channel: 1.0.4 + + ip@2.0.0: + optional: true + + ipaddr.js@1.9.1: {} + + irregular-plurals@3.3.0: {} + + is-array-buffer@3.0.2: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.10 + + is-arrayish@0.2.1: {} + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.2.0 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + is-callable@1.2.7: {} + + is-ci@4.1.0: + dependencies: + ci-info: 4.1.0 + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.0 + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.2.0 + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@1.0.0: {} + + is-lambda@1.0.1: + optional: true + + is-negative-zero@2.0.2: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.0 + + is-number@7.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@1.1.0: {} + + is-plain-obj@2.1.0: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + is-shared-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.2 + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.0 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-typed-array@1.1.10: + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + + is-unicode-supported@0.1.0: {} + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.2 + + is-windows@1.0.2: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.0: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.21.8 + '@babel/parser': 7.21.8 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.0: + dependencies: + '@babel/core': 7.21.8 + '@babel/parser': 7.21.8 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.0: + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.3.7 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.5: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + + itty-time@1.0.6: {} + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.1 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.0.2 + slash: 3.0.0 + stack-utils: 2.0.5 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.6.0 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-cli@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.6.0 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-cli@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.6.0 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true + + jest-cli@29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.6.0 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)): + dependencies: + '@babel/core': 7.21.8 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.21.8) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.19.31 + ts-node: 10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)): + dependencies: + '@babel/core': 7.21.8 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.21.8) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.19.31 + ts-node: 10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5) transitivePeerDependencies: + - babel-plugin-macros - supports-color - dev: true - - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - dev: true - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)): dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 + '@babel/core': 7.21.8 + '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + babel-jest: 29.7.0(@babel/core@7.21.8) chalk: 4.1.2 - co: 4.6.0 - dedent: 1.5.1 - is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 + ci-info: 3.9.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 jest-util: 29.7.0 - p-limit: 3.1.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 pretty-format: 29.7.0 - pure-rand: 6.0.2 slash: 3.0.0 - stack-utils: 2.0.5 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.12.7 + ts-node: 10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-cli@29.7.0(@types/node@18.19.31)(ts-node@10.9.2): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) - '@jest/test-result': 29.7.0 + '@babel/core': 7.21.8 + '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.21.8) chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) - exit: 0.1.2 - import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + ci-info: 3.9.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - yargs: 17.6.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.12.7 + ts-node: 10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5) transitivePeerDependencies: - - '@types/node' - babel-plugin-macros - supports-color - - ts-node - dev: true + optional: true - /jest-cli@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) - '@jest/test-result': 29.7.0 + '@babel/core': 7.21.8 + '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.21.8) chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) - exit: 0.1.2 - import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + ci-info: 3.9.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - yargs: 17.6.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.12.7 + ts-node: 10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5) transitivePeerDependencies: - - '@types/node' - babel-plugin-macros - supports-color - - ts-node - dev: true - /jest-config@29.7.0(@types/node@18.19.31)(ts-node@10.9.2): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true + jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)): dependencies: '@babel/core': 7.21.8 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.31 babel-jest: 29.7.0(@babel/core@7.21.8) chalk: 4.1.2 ci-info: 3.9.0 @@ -7648,33 +11450,23 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.6 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + optionalDependencies: + '@types/node': 20.12.7 + ts-node: 10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true + jest-config@29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)): dependencies: '@babel/core': 7.21.8 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 babel-jest: 29.7.0(@babel/core@7.21.8) chalk: 4.1.2 ci-info: 3.9.0 @@ -7689,48 +11481,38 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.6 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + optionalDependencies: + '@types/node': 20.14.1 + ts-node: 10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@29.7.0: dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 - dev: true - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-each@29.7.0: dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 - dev: true - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-environment-node@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -7738,37 +11520,24 @@ packages: '@types/node': 20.12.7 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /jest-extended@4.0.2(jest@29.7.0): - resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - jest: '>=27.2.5' - peerDependenciesMeta: - jest: - optional: true + jest-extended@4.0.2(jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5))): dependencies: - jest: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) jest-diff: 29.7.0 jest-get-type: 29.6.3 - dev: true + optionalDependencies: + jest: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-get-type@29.6.3: {} - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-haste-map@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.5 '@types/node': 20.12.7 anymatch: 3.1.3 fb-watchman: 2.0.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 @@ -7776,90 +11545,58 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - dev: true - /jest-junit@16.0.0: - resolution: {integrity: sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==} - engines: {node: '>=10.12.0'} + jest-junit@16.0.0: dependencies: mkdirp: 1.0.4 strip-ansi: 6.0.1 uuid: 8.3.2 xml: 1.0.1 - dev: true - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-leak-detector@29.7.0: dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.21.4 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.6 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.5 - dev: true - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 jest-util: 29.7.0 - dev: true - /jest-pnp-resolver@1.2.2(jest-resolve@29.7.0): - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: + jest-pnp-resolver@1.2.2(jest-resolve@29.7.0): + optionalDependencies: jest-resolve: 29.7.0 - dev: true - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-regex-util@29.6.3: {} - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve-dependencies@29.7.0: dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve@29.7.0: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -7867,14 +11604,11 @@ packages: jest-pnp-resolver: 1.2.2(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.8 + resolve: 1.22.10 resolve.exports: 2.0.2 slash: 3.0.0 - dev: true - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runner@29.7.0: dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -7899,11 +11633,8 @@ packages: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - dev: true - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runtime@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -7929,18 +11660,12 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /jest-serializer-ansi-escapes@3.0.0: - resolution: {integrity: sha512-dyj/uFvD45xeUw8U1XPU2Fu0KVjslp3iG/ucpB7x69rLyoaxFWelIV/NfrPzJavjcGJ1tF2LNSlv9tylwhfliA==} - engines: {node: '>=16'} + jest-serializer-ansi-escapes@4.0.0: dependencies: - pretty-ansi: 2.0.0 - dev: true + pretty-ansi: 3.0.0 - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-snapshot@29.7.0: dependencies: '@babel/core': 7.21.8 '@babel/generator': 7.21.5 @@ -7964,11 +11689,8 @@ packages: semver: 7.5.4 transitivePeerDependencies: - supports-color - dev: true - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -7976,11 +11698,8 @@ packages: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-validate@29.7.0: dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -7988,11 +11707,8 @@ packages: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 - dev: true - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-watcher@29.7.0: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -8002,167 +11718,121 @@ packages: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 - dev: true - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + jest-worker@27.5.1: dependencies: '@types/node': 20.12.7 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@29.7.0: dependencies: '@types/node': 20.12.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - dev: true - /jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@18.19.31)(ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - dev: true - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true + jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true - /js-base64@3.7.5: - resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} + jest@29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.14.1)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node - /js-levenshtein@1.1.6: - resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} - engines: {node: '>=0.10.0'} - dev: true + jju@1.4.0: {} - /js-md4@0.3.2: - resolution: {integrity: sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==} - dev: true + js-base64@3.7.5: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-levenshtein@1.1.6: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-md4@0.3.2: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsbi@4.3.0: - resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} - dev: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true + jsesc@2.5.2: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + jsesc@3.1.0: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + json-buffer@3.0.1: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-schema-traverse@1.0.0: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true + json5@2.2.3: {} - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true + jsonc-parser@3.2.0: {} - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - /jsonwebtoken@8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} + jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -8173,93 +11843,56 @@ packages: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 5.7.1 - dev: true + semver: 7.6.3 - /jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@1.4.1: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - dev: true - /jwa@2.0.0: - resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} + jwa@2.0.0: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - dev: true - /jws@3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + jws@3.2.2: dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 - dev: true - /jws@4.0.0: - resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + jws@4.0.0: dependencies: jwa: 2.0.0 safe-buffer: 5.2.1 - dev: true - /kareem@2.6.3: - resolution: {integrity: sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==} - engines: {node: '>=12.0.0'} - dev: true + kareem@2.6.3: {} - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true + kind-of@6.0.3: {} - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + kleur@3.0.3: {} - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - dev: true + kleur@4.1.5: {} - /klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - dev: true + klona@2.0.6: {} - /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + lazystream@1.0.1: dependencies: readable-stream: 2.3.7 - dev: true - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true + leven@3.1.0: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /libsql@0.3.10: - resolution: {integrity: sha512-/8YMTbwWFPmrDWY+YFK3kYqVPFkMgQre0DGmBaOmjogMdSe+7GHm1/q9AZ61AWkEub/vHmi+bA4tqIzVhKnqzg==} - cpu: [x64, arm64, wasm32] - os: [darwin, linux, win32] + libsql@0.3.10: dependencies: '@neon-rs/load': 0.0.4 detect-libc: 2.0.2 @@ -8272,209 +11905,122 @@ packages: '@libsql/linux-x64-musl': 0.3.10 '@libsql/win32-x64-msvc': 0.3.10 - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: true + lilconfig@2.1.0: {} - /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} - dev: true + lilconfig@3.1.2: {} - /line-replace@2.0.1: - resolution: {integrity: sha512-CSr3f6gynLCA9R+RBS0IDIfv7a8OAXcuyq+CHgq0WzbQ7KSJQfF5DgtpRVxpSp1KBNXogtzbNqAeUjrmHYTPYA==} - hasBin: true - dev: true + line-replace@2.0.1: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true + lines-and-columns@1.2.4: {} - /lint-staged@15.2.5: - resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==} - engines: {node: '>=18.12.0'} - hasBin: true + lint-staged@15.2.10: dependencies: chalk: 5.3.0 commander: 12.1.0 - debug: 4.3.5 + debug: 4.3.7 execa: 8.0.1 - lilconfig: 3.1.1 - listr2: 8.2.1 - micromatch: 4.0.7 + lilconfig: 3.1.2 + listr2: 8.2.4 + micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.4.2 + yaml: 2.5.0 transitivePeerDependencies: - supports-color - dev: true - /listr2@8.2.1: - resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} - engines: {node: '>=18.0.0'} + listr2@8.2.4: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 6.0.0 - rfdc: 1.3.1 + log-update: 6.1.0 + rfdc: 1.4.1 wrap-ansi: 9.0.0 - dev: true - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: true + loader-runner@4.3.0: {} - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + locate-path@3.0.0: dependencies: p-locate: 3.0.0 path-exists: 3.0.0 - dev: true - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@7.2.0: dependencies: p-locate: 6.0.0 - dev: true - /lodash.deburr@4.1.0: - resolution: {integrity: sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==} - dev: true + lodash.deburr@4.1.0: {} - /lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - dev: true + lodash.includes@4.3.0: {} - /lodash.isboolean@3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - dev: true + lodash.isboolean@3.0.3: {} - /lodash.isinteger@4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - dev: true + lodash.isinteger@4.0.4: {} - /lodash.isnumber@3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - dev: true + lodash.isnumber@3.0.3: {} - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true + lodash.isplainobject@4.0.6: {} - /lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: true + lodash.isstring@4.0.1: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: true + lodash.once@4.1.1: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + lodash@4.17.21: {} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - dev: true - /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} + log-update@6.1.0: dependencies: - ansi-escapes: 6.2.0 - cli-cursor: 4.0.0 + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - dev: true - - /lru-cache@10.0.1: - resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} - engines: {node: 14 || >=16.14} - dev: true - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - dev: true + lru-cache@10.2.0: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: true - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + make-dir@3.1.0: dependencies: semver: 6.3.1 - dev: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: - semver: 7.6.2 - dev: true + semver: 7.6.3 - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + make-error@1.3.6: {} - /make-fetch-happen@9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - requiresBuild: true + make-fetch-happen@9.1.0: dependencies: agentkeepalive: 4.2.1 cacache: 15.3.0 @@ -8495,63 +12041,38 @@ packages: transitivePeerDependencies: - bluebird - supports-color - dev: true optional: true - /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + makeerror@1.0.12: dependencies: tmpl: 1.0.5 - dev: true - /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: true + map-obj@1.0.1: {} - /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: true + map-obj@4.3.0: {} - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: true + map-stream@0.1.0: {} - /mariadb@3.3.0: - resolution: {integrity: sha512-sAL4bJgbfCAtXcE8bXI+NAMzVaPNkIU8hRZUXYfgNFoWB9U57G3XQiMeCx/A6IrS6y7kGwBLylrwgsZQ8kUYlw==} - engines: {node: '>= 14'} + mariadb@3.3.1: dependencies: '@types/geojson': 7946.0.14 '@types/node': 20.12.7 denque: 2.1.0 iconv-lite: 0.6.3 lru-cache: 10.2.0 - dev: true - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: true + media-typer@0.3.0: {} - /memfs@4.9.2: - resolution: {integrity: sha512-f16coDZlTG1jskq3mxarwB+fGRrd0uXWt+o1WIhRfOwbXQZqUDsTVxQBFK9JjRQHblg8eAG2JSbprDXKjc7ijQ==} - engines: {node: '>= 4.0.0'} + memfs@4.15.0: dependencies: - '@jsonjoy.com/json-pack': 1.0.3(tslib@2.6.2) - '@jsonjoy.com/util': 1.1.2(tslib@2.6.2) - sonic-forest: 1.0.0(tslib@2.6.2) - tslib: 2.6.2 - dev: true + '@jsonjoy.com/json-pack': 1.0.3(tslib@2.6.3) + '@jsonjoy.com/util': 1.5.0(tslib@2.6.3) + tree-dump: 1.0.1(tslib@2.6.3) + tslib: 2.6.3 - /memory-pager@1.5.0: - resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} - requiresBuild: true - dev: true + memory-pager@1.5.0: {} - /meow@9.0.0: - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} - engines: {node: '>=10'} + meow@9.0.0: dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 @@ -8565,92 +12086,44 @@ packages: trim-newlines: 3.0.1 type-fest: 0.18.1 yargs-parser: 20.2.9 - dev: true - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true + merge-descriptors@1.0.1: {} - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: true + methods@1.1.2: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true - - /micromatch@4.0.6: - resolution: {integrity: sha512-Y4Ypn3oujJYxJcMacVgcs92wofTHxp9FzfDpQON4msDefoC0lb3ETvQLOdLcbhSwU1bz8HrL/1sygfBIHudrkQ==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.3 - picomatch: 4.0.2 - dev: true - /micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: true + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - dev: true - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true + mime@1.6.0: {} - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true + mime@3.0.0: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + mimic-fn@2.1.0: {} - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-fn@4.0.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + mimic-function@5.0.1: {} - /miniflare@3.20240605.0: - resolution: {integrity: sha512-wE59RULU5zo6eYhL8j3wYdoOQ5istlkMruEr5pYvykL0LJecjKlFc8/cu4WJ5JdkdhutE1320Awi7WEICcolEw==} - engines: {node: '>=16.13'} - hasBin: true + min-indent@1.0.1: {} + + miniflare@3.20241106.1: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.11.3 @@ -8660,8 +12133,8 @@ packages: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20240605.0 - ws: 8.14.2 + workerd: 1.20241106.1 + ws: 8.18.0 youch: 3.3.3 zod: 3.22.4 transitivePeerDependencies: @@ -8669,180 +12142,98 @@ packages: - supports-color - utf-8-validate - /minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} - engines: {node: '>=10'} + minimatch@5.1.0: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 - dev: true - /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + minimist-options@4.1.0: dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 kind-of: 6.0.3 - dev: true - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true + minimist@1.2.8: {} - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - requiresBuild: true + minipass-collect@1.0.2: dependencies: minipass: 3.3.4 - dev: true optional: true - /minipass-fetch@1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - requiresBuild: true + minipass-fetch@1.4.1: dependencies: minipass: 3.3.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 - dev: true optional: true - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - requiresBuild: true + minipass-flush@1.0.5: dependencies: minipass: 3.3.4 - dev: true optional: true - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - requiresBuild: true + minipass-pipeline@1.2.4: dependencies: minipass: 3.3.4 - dev: true optional: true - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - requiresBuild: true + minipass-sized@1.0.3: dependencies: minipass: 3.3.4 - dev: true optional: true - /minipass@3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} - engines: {node: '>=8'} + minipass@3.3.4: dependencies: yallist: 4.0.0 - dev: true - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - dev: true + minipass@5.0.0: {} - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minizlib@2.1.2: dependencies: minipass: 3.3.4 yallist: 4.0.0 - dev: true - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true + mkdirp@1.0.4: {} - /mock-stdin@1.0.0: - resolution: {integrity: sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==} - dev: true + mock-stdin@1.0.0: {} - /module-details-from-path@1.0.3: - resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + module-details-from-path@1.0.3: {} - /mongodb-connection-string-url@3.0.0: - resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==} + mongodb-connection-string-url@3.0.0: dependencies: '@types/whatwg-url': 11.0.4 whatwg-url: 13.0.0 - dev: true - /mongodb@6.6.2: - resolution: {integrity: sha512-ZF9Ugo2JCG/GfR7DEb4ypfyJJyiKbg5qBYKRintebj8+DNS33CyGMkWbrS9lara+u+h+yEOGSRiLhFO/g1s1aw==} - engines: {node: '>=16.20.1'} - peerDependencies: - '@aws-sdk/credential-providers': ^3.188.0 - '@mongodb-js/zstd': ^1.1.0 - gcp-metadata: ^5.2.0 - kerberos: ^2.0.1 - mongodb-client-encryption: '>=6.0.0 <7' - snappy: ^7.2.2 - socks: ^2.7.1 - peerDependenciesMeta: - '@aws-sdk/credential-providers': - optional: true - '@mongodb-js/zstd': - optional: true - gcp-metadata: - optional: true - kerberos: - optional: true - mongodb-client-encryption: - optional: true - snappy: - optional: true - socks: - optional: true + mongodb@6.12.0(socks@2.7.1): dependencies: - '@mongodb-js/saslprep': 1.1.5 - bson: 6.7.0 + '@mongodb-js/saslprep': 1.1.9 + bson: 6.10.1 mongodb-connection-string-url: 3.0.0 - dev: true + optionalDependencies: + socks: 2.7.1 - /mongoose@8.4.1: - resolution: {integrity: sha512-odQ2WEWGL3hb0Qex+QMN4eH6D34WdMEw7F1If2MGABApSDmG9cMmqv/G1H6WsXmuaH9mkuuadW/WbLE5+tHJwA==} - engines: {node: '>=16.20.1'} + mongoose@8.9.5(socks@2.7.1): dependencies: - bson: 6.7.0 + bson: 6.10.1 kareem: 2.6.3 - mongodb: 6.6.2 + mongodb: 6.12.0(socks@2.7.1) mpath: 0.9.0 mquery: 5.0.0 ms: 2.1.3 @@ -8856,148 +12247,79 @@ packages: - snappy - socks - supports-color - dev: true - /mpath@0.9.0: - resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==} - engines: {node: '>=4.0.0'} - dev: true + mpath@0.9.0: {} - /mquery@5.0.0: - resolution: {integrity: sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==} - engines: {node: '>=14.0.0'} + mquery@5.0.0: dependencies: - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color - dev: true - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + ms@2.1.3: {} - /mssql@10.0.2: - resolution: {integrity: sha512-GrQ6gzv2xA7ndOvONyZ++4RZsNkr8qDiIpvuFn2pR3TPiSk/cKdmvOrDU3jWgon7EPj7CPgmDiMh7Hgtft2xLg==} - engines: {node: '>=14'} - hasBin: true + mssql@11.0.1: dependencies: '@tediousjs/connection-string': 0.5.0 commander: 11.1.0 - debug: 4.3.5 - rfdc: 1.3.0 + debug: 4.3.7 + rfdc: 1.3.1 tarn: 3.0.2 - tedious: 16.4.1 + tedious: 18.2.1 transitivePeerDependencies: - supports-color - dev: true - /mustache@4.2.0: - resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} - hasBin: true + mustache@4.2.0: {} - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + mute-stream@1.0.0: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nanoid@3.3.7: {} - /nanospinner@1.1.0: - resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} + nanospinner@1.1.0: dependencies: picocolors: 1.0.0 - dev: true - - /native-duplexpair@1.0.0: - resolution: {integrity: sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==} - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true + native-duplexpair@1.0.0: {} - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true + natural-compare@1.4.0: {} - /new-github-issue-url@0.2.1: - resolution: {integrity: sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==} - engines: {node: '>=10'} - dev: true + negotiator@0.6.3: {} - /node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - dev: true + neo-async@2.6.2: {} - /node-addon-api@4.3.0: - resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} - dev: true + new-github-issue-url@0.2.1: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} + node-addon-api@4.3.0: {} - /node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + node-domexception@1.0.0: {} - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 - dev: true + optionalDependencies: + encoding: 0.1.13 - /node-fetch@3.3.1: - resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.1: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} + node-forge@1.3.1: {} - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} - hasBin: true - dev: true + node-gyp-build@4.6.0: {} - /node-gyp@8.4.1: - resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} - engines: {node: '>= 10.12.0'} - hasBin: true - requiresBuild: true + node-gyp@8.4.1: dependencies: env-paths: 2.2.1 glob: 7.2.3 @@ -9006,223 +12328,149 @@ packages: nopt: 5.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.6.2 + semver: 7.6.3 tar: 6.1.14 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color - dev: true optional: true - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true + node-int64@0.4.0: {} - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: true + node-releases@2.0.14: {} - /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true + nopt@5.0.0: dependencies: abbrev: 1.1.1 - dev: true - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.8 + resolve: 1.22.10 semver: 5.7.1 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.6.2 + semver: 7.6.3 validate-npm-package-license: 3.0.4 - dev: true - - /normalize-package-data@6.0.0: - resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} - engines: {node: ^16.14.0 || >=18.0.0} + + normalize-package-data@6.0.0: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.6.2 + semver: 7.6.3 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + normalize-path@3.0.0: {} - /npm-bundled@2.0.1: - resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + npm-bundled@2.0.1: dependencies: npm-normalize-package-bin: 2.0.0 - dev: true - /npm-normalize-package-bin@2.0.0: - resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true + npm-normalize-package-bin@2.0.0: {} - /npm-packlist@5.1.3: - resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true + npm-packlist@5.1.3: dependencies: glob: 8.1.0 ignore-walk: 5.0.1 npm-bundled: 2.0.1 npm-normalize-package-bin: 2.0.0 - dev: true - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.1.0: dependencies: path-key: 4.0.0 - dev: true - /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - dev: true - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - requiresBuild: true + npmlog@6.0.2: dependencies: are-we-there-yet: 3.0.1 console-control-strings: 1.1.0 gauge: 4.0.4 set-blocking: 2.0.0 - dev: true optional: true - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true + object-assign@4.1.1: {} - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true + object-inspect@1.12.3: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.4: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.7: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 es-abstract: 1.22.1 - dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + object.groupby@1.0.1: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 es-abstract: 1.22.1 get-intrinsic: 1.2.1 - dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} + object.values@1.1.7: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 es-abstract: 1.22.1 - dev: true - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + obuf@1.1.2: {} - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} + ohash@1.1.4: {} + + on-finished@2.3.0: dependencies: ee-first: 1.1.1 - dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: true - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: true - /open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + open@7.4.2: dependencies: is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true - /open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} - engines: {node: '>=12'} + open@8.4.0: dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -9230,11 +12478,8 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -9245,220 +12490,134 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true - /os-paths@7.4.0: - resolution: {integrity: sha512-Ux1J4NUqC6tZayBqLN1kUlDAEvLiQlli/53sSddU4IN+h+3xxnv2HmRSMpVSvr1hvJzotfMs3ERvETGK+f4OwA==} - engines: {node: '>= 4.0'} + os-paths@7.4.0: optionalDependencies: fsevents: 2.3.3 - dev: true - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true + os-tmpdir@1.0.2: {} - /p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} + oxc-resolver@1.10.2: + optionalDependencies: + '@oxc-resolver/binding-darwin-arm64': 1.10.2 + '@oxc-resolver/binding-darwin-x64': 1.10.2 + '@oxc-resolver/binding-freebsd-x64': 1.10.2 + '@oxc-resolver/binding-linux-arm-gnueabihf': 1.10.2 + '@oxc-resolver/binding-linux-arm64-gnu': 1.10.2 + '@oxc-resolver/binding-linux-arm64-musl': 1.10.2 + '@oxc-resolver/binding-linux-x64-gnu': 1.10.2 + '@oxc-resolver/binding-linux-x64-musl': 1.10.2 + '@oxc-resolver/binding-wasm32-wasi': 1.10.2 + '@oxc-resolver/binding-win32-arm64-msvc': 1.10.2 + '@oxc-resolver/binding-win32-x64-msvc': 1.10.2 + + p-filter@2.1.0: dependencies: p-map: 2.1.0 - dev: true - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-limit@4.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + p-locate@3.0.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@6.0.0: dependencies: p-limit: 4.0.0 - dev: true - /p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - dev: true + p-map@2.1.0: {} - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-reduce@2.1.0: - resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} - engines: {node: '>=8'} - dev: true + p-reduce@2.1.0: {} - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} + p-retry@4.6.2: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 - dev: true - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - /parse-json@8.1.0: - resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} - engines: {node: '>=18'} + parse-json@8.1.0: dependencies: '@babel/code-frame': 7.23.5 index-to-position: 0.1.2 type-fest: 4.11.0 - dev: true - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true + parseurl@1.3.3: {} - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true + path-exists@3.0.0: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + path-exists@5.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: true + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true + path-to-regexp@0.1.7: {} - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + path-to-regexp@6.3.0: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@1.1.2: {} - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pause-stream@0.0.11: dependencies: through: 2.3.8 - dev: true - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true + pg-cloudflare@1.1.1: {} - /pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + pg-connection-string@2.6.4: {} - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} + pg-int8@1.0.1: {} - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} + pg-numeric@1.0.2: {} - /pg-pool@3.6.2(pg@8.11.5): - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} - peerDependencies: - pg: '>=8.0' + pg-pool@3.6.2(pg@8.11.5): dependencies: pg: 8.11.5 - /pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + pg-protocol@1.6.1: {} - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -9466,9 +12625,7 @@ packages: postgres-date: 1.0.7 postgres-interval: 1.2.0 - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} + pg-types@4.0.2: dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -9478,14 +12635,7 @@ packages: postgres-interval: 3.0.0 postgres-range: 1.1.3 - /pg@8.11.5: - resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true + pg@8.11.5: dependencies: pg-connection-string: 2.6.4 pg-pool: 3.6.2(pg@8.11.5) @@ -9495,309 +12645,172 @@ packages: optionalDependencies: pg-cloudflare: 1.1.1 - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + pgpass@1.0.5: dependencies: split2: 4.1.0 - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picocolors@1.1.1: {} - /picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - dev: true + picomatch@2.3.1: {} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + pidtree@0.6.0: {} - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true + pirates@4.0.6: {} - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - dev: true - /pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} + pkg-dir@7.0.0: dependencies: find-up: 6.3.0 - dev: true - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + pkg-up@3.1.0: dependencies: find-up: 3.0.0 - dev: true - /platform@1.3.6: - resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} - dev: true + platform@1.3.6: {} - /plur@4.0.0: - resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} - engines: {node: '>=10'} + plur@4.0.0: dependencies: irregular-plurals: 3.3.0 - dev: true - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} + postgres-array@2.0.0: {} - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} + postgres-array@3.0.2: {} - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} + postgres-bytea@1.0.0: {} - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} + postgres-bytea@3.0.0: dependencies: obuf: 1.1.2 - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} + postgres-date@1.0.7: {} - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} + postgres-date@2.1.0: {} - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + postgres-interval@1.2.0: dependencies: xtend: 4.0.2 - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} + postgres-interval@3.0.0: {} - /postgres-range@1.1.3: - resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==} + postgres-range@1.1.3: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.2.0 - dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true + prettier@2.8.8: {} - /pretty-ansi@2.0.0: - resolution: {integrity: sha512-AN74nXfCper9y7CuktdWuJT5zwqVfST0LOBZMbEsDKIZ/QulzecDqDF4j+lQbzdKHKbAQU7UyqUVJBocisVjNw==} - engines: {node: '>=16'} - dev: true + pretty-ansi@3.0.0: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true - /prettysize@2.0.0: - resolution: {integrity: sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg==} - dev: true + prettysize@2.0.0: {} - /printable-characters@1.0.42: - resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + printable-characters@1.0.42: {} - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true + process-nextick-args@2.0.1: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: true + process@0.11.10: {} - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true + progress@2.0.3: {} - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - requiresBuild: true - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: true + promise-inflight@1.0.1: optional: true - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - requiresBuild: true + promise-limit@2.7.0: {} + + promise-retry@2.0.1: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: true optional: true - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true + proxy-from-env@1.1.0: {} - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true + ps-tree@1.2.0: dependencies: event-stream: 3.3.4 - dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true + punycode@2.3.0: {} - /pure-rand@5.0.3: - resolution: {integrity: sha512-9N8x1h8dptBQpHyC7aZMS+iNOAm97WMGY0AFrguU1cpfW3I5jINkWe5BIY5md0ofy+1TCIELsVcm/GJXZSaPbw==} - dev: true + pure-rand@5.0.3: {} - /pure-rand@6.0.2: - resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} - dev: true + pure-rand@6.0.2: {} - /qs@6.9.6: - resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} - engines: {node: '>=0.6'} - dev: true + qs@6.9.6: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - dev: true + queue-tick@1.0.1: {} - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: true + quick-lru@4.0.1: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - dev: true - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true + range-parser@1.2.1: {} - /raw-body@2.4.2: - resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} - engines: {node: '>= 0.8'} + raw-body@2.4.2: dependencies: bytes: 3.1.1 http-errors: 1.8.1 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.2.0: {} - /read-package-up@11.0.0: - resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} - engines: {node: '>=18'} + read-package-up@11.0.0: dependencies: find-up-simple: 1.0.0 read-pkg: 9.0.1 type-fest: 4.11.0 - dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /read-pkg@9.0.1: - resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} - engines: {node: '>=18'} + read-pkg@9.0.1: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.0 parse-json: 8.1.0 type-fest: 4.11.0 unicorn-magic: 0.1.0 - dev: true - /readable-stream@2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + readable-stream@2.3.7: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -9806,307 +12819,189 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + readable-stream@3.6.0: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true - /readable-stream@4.4.2: - resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.4.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 string_decoder: 1.3.0 - dev: true - /readdir-glob@1.1.2: - resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} + readdir-glob@1.1.2: dependencies: minimatch: 5.1.6 - dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + readdirp@4.0.2: {} + + redent@3.0.0: dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 - dev: true - /redis-commands@1.7.0: - resolution: {integrity: sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==} - dev: true + redis-commands@1.7.0: {} - /redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} - dev: true + redis-errors@1.2.0: {} - /redis-lock@0.1.4: - resolution: {integrity: sha512-7/+zu86XVQfJVx1nHTzux5reglDiyUCDwmW7TSlvVezfhH2YLc/Rc8NE0ejQG+8/0lwKzm29/u/4+ogKeLosiA==} - engines: {node: '>=0.6'} - dev: true + redis-lock@0.1.4: {} - /redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} + redis-parser@3.0.0: dependencies: redis-errors: 1.2.0 - dev: true - /redis@3.1.2: - resolution: {integrity: sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==} - engines: {node: '>=10'} + redis@3.1.2: dependencies: denque: 1.5.1 redis-commands: 1.7.0 redis-errors: 1.2.0 redis-parser: 3.0.0 - dev: true - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - dev: true + regenerator-runtime@0.14.1: {} - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.0: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 functions-have-names: 1.2.3 - dev: true - - /replace-string@3.1.0: - resolution: {integrity: sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==} - engines: {node: '>=8'} - dev: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true + replace-string@3.1.0: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true + require-directory@2.1.1: {} - /require-in-the-middle@7.2.0: - resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} - engines: {node: '>=8.6.0'} + require-from-string@2.0.2: {} + + require-in-the-middle@7.2.0: dependencies: - debug: 4.3.5 + debug: 4.3.7 module-details-from-path: 1.0.3 - resolve: 1.22.8 + resolve: 1.22.10 transitivePeerDependencies: - supports-color - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + reserved-identifiers@1.0.0: {} + + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - dev: true - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@5.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve-pkg@2.0.0: - resolution: {integrity: sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==} - engines: {node: '>=8'} + resolve-pkg@2.0.0: dependencies: resolve-from: 5.0.0 - dev: true - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} + resolve.exports@2.0.2: {} - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@5.1.0: dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true + onetime: 7.0.0 + signal-exit: 4.1.0 - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - requiresBuild: true - dev: true + retry@0.12.0: optional: true - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: true + retry@0.13.1: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true + rfdc@1.3.1: {} - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: true + rfdc@1.4.1: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /rollup-plugin-inject@3.0.2: - resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. + rollup-plugin-inject@3.0.2: dependencies: estree-walker: 0.6.1 magic-string: 0.25.9 rollup-pluginutils: 2.8.2 - /rollup-plugin-node-polyfills@0.2.1: - resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} + rollup-plugin-node-polyfills@0.2.1: dependencies: rollup-plugin-inject: 3.0.2 - /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + rollup-pluginutils@2.8.2: dependencies: estree-walker: 0.6.1 - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} - engines: {node: '>=0.4'} + safe-array-concat@1.0.0: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.0.0: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-regex: 1.1.4 - dev: true - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true + safer-buffer@2.1.2: {} - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true - /selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} + selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true + semver@5.7.1: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true + semver@7.5.4: dependencies: lru-cache: 6.0.0 - dev: true - - /semver@7.6.1: - resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} - engines: {node: '>=10'} - hasBin: true - /semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - dev: true + semver@7.6.3: {} - /send@0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} - engines: {node: '>= 0.8.0'} + send@0.17.2: dependencies: debug: 2.6.9 depd: 1.1.2 @@ -10123,17 +13018,12 @@ packages: statuses: 1.5.0 transitivePeerDependencies: - supports-color - dev: true - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + serialize-javascript@6.0.1: dependencies: randombytes: 2.1.0 - dev: true - /serve-static@1.14.2: - resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} - engines: {node: '>= 0.8.0'} + serve-static@1.14.2: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -10141,76 +13031,38 @@ packages: send: 0.17.2 transitivePeerDependencies: - supports-color - dev: true - - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 - dev: true + set-blocking@2.0.0: {} - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true + setprototypeof@1.2.0: {} - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + shimmer@1.2.1: {} - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.4: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 - dev: true - /sift@17.1.3: - resolution: {integrity: sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==} - dev: true + sift@17.1.3: {} - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true + signal-exit@4.1.0: {} - /simple-statistics@7.8.3: - resolution: {integrity: sha512-JFvMY00t6SBGtwMuJ+nqgsx9ylkMiJ5JlK9bkj8AdvniIe5615wWQYkKHXe84XtSuc40G/tlrPu0A5/NlJvv8A==} - dev: true + simple-statistics@7.8.7: {} - /siphash@1.1.0: - resolution: {integrity: sha512-QXQOIeN7Lq1uAVfppZukylZ2tAGedZ49Xpu39Zfyb6JJqVFrP7GfbVc7kxTAyoHGi3/c0y7yIG6lmSwxapEKqA==} - dev: true + siphash@1.1.0: {} - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + sisteransi@1.0.5: {} - /size-limit@9.0.0: - resolution: {integrity: sha512-DrA7o2DeRN3s+vwCA9nn7Ck9Y4pn9t0GNUwQRpKqBtBmNkl6LA2s/NlNCdtKHrEkRTeYA1ZQ65mnYveo9rUqgA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + size-limit@9.0.0: dependencies: bytes-iec: 3.1.1 chokidar: 3.6.0 @@ -10218,187 +13070,110 @@ packages: lilconfig: 2.1.0 nanospinner: 1.1.0 picocolors: 1.0.0 - dev: true - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + slash@4.0.0: {} - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + slice-ansi@3.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} + slice-ansi@7.1.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 - dev: true - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - requiresBuild: true - dev: true + smart-buffer@4.2.0: optional: true - /socks-proxy-agent@6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - requiresBuild: true + socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 socks: 2.7.1 transitivePeerDependencies: - supports-color - dev: true optional: true - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - requiresBuild: true + socks@2.7.1: dependencies: ip: 2.0.0 smart-buffer: 4.2.0 - dev: true optional: true - /sonic-forest@1.0.0(tslib@2.6.2): - resolution: {integrity: sha512-yFO2N4uTUFtgKLw03WWFpN1iEwZySweMsa18XN3Kt0yYrlmVHunC2ZgM+437zDoKISAJHcH3Cg18U7d6tuSgSQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - dependencies: - tslib: 2.6.2 - dev: true - - /sort-keys@4.2.0: - resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} - engines: {node: '>=8'} + sort-keys@4.2.0: dependencies: is-plain-obj: 2.1.0 - dev: true - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + source-map@0.6.1: {} - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead + sourcemap-codec@1.4.8: {} - /sparse-bitfield@3.0.3: - resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} - requiresBuild: true + sparse-bitfield@3.0.3: dependencies: memory-pager: 1.5.0 - dev: true - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + spdx-correct@3.1.1: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 - dev: true + spdx-license-ids: 3.0.21 - /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true + spdx-exceptions@2.5.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 - dev: true + spdx-license-ids: 3.0.21 - /spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} - dev: true + spdx-license-ids@3.0.21: {} - /split2@4.1.0: - resolution: {integrity: sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==} - engines: {node: '>= 10.x'} + split2@4.1.0: {} - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + split@0.3.3: dependencies: through: 2.3.8 - dev: true - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.0.3: {} - /sprintf-js@1.1.2: - resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} - dev: true + sprintf-js@1.1.3: {} - /sql-template-tag@5.2.1: - resolution: {integrity: sha512-lFdvXCOqWhV40A7w4oQVDyuaNFb5yO+dhsHStZzOdtDJWCBWYv4+hhATK5nPpY5v/T1OMVcLMPeN4519qIyb9Q==} - engines: {node: '>=14'} - dev: true + sql-template-tag@5.2.1: {} - /sqlite-async@1.2.0: - resolution: {integrity: sha512-gx9DUUA2UZzz/8Mh3qdA3RtTm8aJuF7dZgFdZ43WB29Iswdsp0KmPtem/2QDW8K4CrajR8yQ+gEniSFgolNscQ==} + sqlite-async@1.2.0(encoding@0.1.13): dependencies: - sqlite3: 5.1.2 + sqlite3: 5.1.2(encoding@0.1.13) transitivePeerDependencies: - bluebird - encoding - supports-color - dev: true - /sqlite3@5.1.2: - resolution: {integrity: sha512-D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==} - requiresBuild: true + sqlite3@5.1.2(encoding@0.1.13): dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.10(encoding@0.1.13) node-addon-api: 4.3.0 tar: 6.1.14 optionalDependencies: @@ -10407,236 +13182,139 @@ packages: - bluebird - encoding - supports-color - dev: true - /ssri@8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - requiresBuild: true + ssri@8.0.1: dependencies: minipass: 3.3.4 - dev: true optional: true - /stack-trace@1.0.0-pre2: - resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} - engines: {node: '>=16'} - dev: true + stack-trace@1.0.0-pre2: {} - /stack-utils@2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} - engines: {node: '>=10'} + stack-utils@2.0.5: dependencies: escape-string-regexp: 2.0.0 - dev: true - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} + stacktrace-parser@0.1.10: dependencies: type-fest: 0.7.1 - dev: true - /stacktracey@2.1.8: - resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} + stacktracey@2.1.8: dependencies: as-table: 1.0.55 get-source: 2.0.12 - /staged-git-files@1.3.0: - resolution: {integrity: sha512-38Kd8VBVMVqtuavWAzwV9uWvbIhTQh0hNWMWzj2FAOjdMHgLJOArE3eYBSbLgV28j4F3AXieOMekFqM9UX6wxw==} - hasBin: true - dev: true + staged-git-files@1.3.0: {} - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true + statuses@1.5.0: {} - /stoppable@1.1.0: - resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} - engines: {node: '>=4', npm: '>=6'} + stoppable@1.1.0: {} - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + stream-combiner@0.0.4: dependencies: duplexer: 0.1.2 - dev: true - /streamx@2.15.1: - resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + streamx@2.15.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - dev: true - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true + string-argv@0.3.2: {} - /string-hash@1.1.3: - resolution: {integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=} - dev: true + string-hash@1.1.3: {} - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + string-length@4.0.2: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true - /string-width@7.0.0: - resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} - engines: {node: '>=18'} + string-width@7.0.0: dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 - dev: true - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.7: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 es-abstract: 1.22.1 - dev: true - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + string.prototype.trimend@1.0.6: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 es-abstract: 1.22.1 - dev: true - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + string.prototype.trimstart@1.0.6: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 es-abstract: 1.22.1 - dev: true - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - dev: true - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true + strip-bom@4.0.0: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@2.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - dev: true - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + supports-hyperlinks@2.3.0: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + tapable@2.2.1: {} - /tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + tar-stream@3.1.6: dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 streamx: 2.15.1 - dev: true - /tar@6.1.14: - resolution: {integrity: sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==} - engines: {node: '>=10'} + tar@6.1.14: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -10644,202 +13322,110 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: true - /tarn@3.0.2: - resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} - engines: {node: '>=8.0.0'} - dev: true + tarn@3.0.2: {} - /tedious@16.4.1: - resolution: {integrity: sha512-WwRkGs7N5jFiHhD7uyLHnZ9rCmOfYytEHZhE/vyU56mxzFB3+xHd4WV+DssLwuc1piJqDI54vHDi6SRACOGu8g==} - engines: {node: '>=16'} + tedious@18.2.1: dependencies: - '@azure/identity': 2.1.0 + '@azure/identity': 4.3.0 '@azure/keyvault-keys': 4.6.0 - '@js-joda/core': 5.5.3 - bl: 6.0.7 - es-aggregate-error: 1.0.11 + '@js-joda/core': 5.6.3 + '@types/node': 20.12.7 + bl: 6.0.12 iconv-lite: 0.6.3 js-md4: 0.3.2 - jsbi: 4.3.0 native-duplexpair: 1.0.0 - node-abort-controller: 3.1.1 - punycode: 2.3.0 - sprintf-js: 1.1.2 + sprintf-js: 1.1.3 transitivePeerDependencies: - supports-color - dev: true - /temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: true + temp-dir@2.0.0: {} - /temp@0.4.0: - resolution: {integrity: sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA==} - engines: {'0': node >=0.4.0} - dev: true + temp@0.4.0: {} - /tempy@1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} + tempy@1.0.1: dependencies: del: 6.1.1 is-stream: 2.0.1 temp-dir: 2.0.0 type-fest: 0.16.0 unique-string: 2.0.0 - dev: true - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} + terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.21.4)(webpack@5.91.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + terser-webpack-plugin@5.3.10(@swc/core@1.10.9)(esbuild@0.24.2)(webpack@5.92.1(@swc/core@1.10.9)(esbuild@0.24.2)): dependencies: '@jridgewell/trace-mapping': 0.3.22 - esbuild: 0.21.4 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.27.0 - webpack: 5.91.0(esbuild@0.21.4) - dev: true + webpack: 5.92.1(@swc/core@1.10.9)(esbuild@0.24.2) + optionalDependencies: + '@swc/core': 1.10.9 + esbuild: 0.24.2 - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} - engines: {node: '>=10'} - hasBin: true + terser@5.27.0: dependencies: '@jridgewell/source-map': 0.3.5 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - dev: true - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thingies@1.21.0(tslib@2.6.2): - resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 + thingies@1.21.0(tslib@2.6.3): dependencies: - tslib: 2.6.2 - dev: true + tslib: 2.6.3 - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true + through@2.3.8: {} - /timeout-signal@2.0.0: - resolution: {integrity: sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==} - engines: {node: '>=16'} - dev: true + timeout-signal@2.0.0: {} - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - dev: true - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true + tmp@0.2.3: {} - /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true + tmpl@1.0.5: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true + toidentifier@1.0.1: {} - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true + tr46@0.0.3: {} - /tr46@4.1.1: - resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} - engines: {node: '>=14'} + tr46@4.1.1: dependencies: punycode: 2.3.0 - dev: true - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: true + tree-dump@1.0.1(tslib@2.6.3): + dependencies: + tslib: 2.6.3 + + trim-newlines@3.0.1: {} - /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 - dev: true - /ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@swc/core@1.10.9)(@types/node@18.19.31)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.2.204 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -10854,29 +13440,17 @@ packages: typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true + optionalDependencies: + '@swc/core': 1.10.9 - /ts-node@10.9.2(@swc/core@1.5.25)(@types/node@18.19.31)(typescript@5.4.5): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.12.7)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.5.25 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.19.31 + '@types/node': 20.12.7 acorn: 8.9.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -10886,28 +13460,38 @@ packages: typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true + optionalDependencies: + '@swc/core': 1.10.9 - /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@swc/core@1.10.9)(@types/node@20.14.1)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.12.7 + '@types/node': 20.14.1 + acorn: 8.9.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.10.9 + optional: true + + ts-node@10.9.2(@swc/core@1.2.204)(@types/node@18.19.31)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.19.31 acorn: 8.9.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -10917,29 +13501,21 @@ packages: typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true + optionalDependencies: + '@swc/core': 1.2.204 - /ts-pattern@5.1.2: - resolution: {integrity: sha512-u+ElKUIWnqisjpRBhv6Y89yNq7Pmz6xL0v7pTSckrVZ0+5Vf32oh/3jmxWl80rAOGcnbBa7fCyeqNdP4yXzWWg==} - dev: true + ts-pattern@5.6.2: {} - /ts-toolbelt@9.6.0: - resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} - dev: true + ts-toolbelt@9.6.0: {} - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tsd@0.31.0: - resolution: {integrity: sha512-yjBiQ5n8OMv/IZOuhDjBy0ZLCoJ7rky/RxRh5W4sJ0oNNCU/kf6s3puPAkGNi59PptDdkcpUm+RsKSdjR2YbNg==} - engines: {node: '>=14.16'} - hasBin: true + tsd@0.31.2: dependencies: '@tsd/typescript': 5.4.3 eslint-formatter-pretty: 4.1.0 @@ -10948,338 +13524,194 @@ packages: meow: 9.0.0 path-exists: 4.0.0 read-pkg-up: 7.0.1 - dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.2: {} - /tsx@4.15.1: - resolution: {integrity: sha512-k/6h17jA1KfUR7SpcteOa880zGmF56s8gMIcSqUR5avyNFi9nlCEKpMiHLrzrqyARGr52A/JablmGey1DEWbCA==} - engines: {node: '>=18.0.0'} - hasBin: true + tslib@2.6.3: {} + + tsx@4.15.6: dependencies: - esbuild: 0.21.4 + esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 - dev: true - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - /type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true + type-fest@0.16.0: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + type-fest@0.18.1: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.21.3: {} - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.7.1: {} - /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - dev: true + type-fest@0.8.1: {} - /type-fest@4.11.0: - resolution: {integrity: sha512-DPsoHKtnCUqqoB5Y4OPyat7ObSLz1XOkhHTmz+gOkz2p1xs+BBneTvHWriTwc313eozfBWh8b45EpaV3ZrrPPQ==} - engines: {node: '>=16'} - dev: true + type-fest@4.11.0: {} - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.0: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-typed-array: 1.1.10 - dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.0: dependencies: call-bind: 1.0.2 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.10 - dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.0: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.10 - dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.4: dependencies: call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.10 - dev: true - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true + typescript@5.4.2: {} - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true + typescript@5.4.5: {} - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.5.4: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@5.26.5: {} - /undici@5.28.4: - resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} - engines: {node: '>=14.0'} + undici@5.28.4: dependencies: '@fastify/busboy': 2.0.0 - /unenv-nightly@1.10.0-1717606461.a117952: - resolution: {integrity: sha512-u3TfBX02WzbHTpaEfWEKwDijDSFAHcgXkayUZ+MVDrjhLFvgAJzFGTSTmwlEhwWi2exyRQey23ah9wELMM6etg==} + undici@7.2.3: {} + + unenv-nightly@2.0.0-20241121-161142-806b5c0: dependencies: - consola: 3.2.3 defu: 6.1.4 - mime: 3.0.0 - node-fetch-native: 1.6.4 + ohash: 1.1.4 pathe: 1.1.2 - ufo: 1.5.3 + ufo: 1.5.4 - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: true + unicorn-magic@0.1.0: {} - /unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - requiresBuild: true + unique-filename@1.1.1: dependencies: unique-slug: 2.0.2 - dev: true optional: true - /unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - requiresBuild: true + unique-slug@2.0.2: dependencies: imurmurhash: 0.1.4 - dev: true optional: true - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} + unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 - dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true + universalify@0.1.2: {} - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + universalify@2.0.0: {} - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true + unpipe@1.0.0: {} - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true + untildify@4.0.0: {} - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.22.2): dependencies: browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.0 - dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + util-deprecate@1.0.2: {} - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true + utils-merge@1.0.1: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: true + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: true + uuid@9.0.1: {} - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /v8-to-istanbul@9.0.1: - resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.0.1: dependencies: '@jridgewell/trace-mapping': 0.3.22 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 - dev: true - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 - dev: true - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true + vary@1.1.2: {} - /verror@1.10.1: - resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} - engines: {node: '>=0.6.0'} + verror@1.10.1: dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.4.1 - dev: true - /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + walker@1.0.8: dependencies: makeerror: 1.0.12 - dev: true - /watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} + watchpack@2.4.1: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - dev: true - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} + web-streams-polyfill@3.2.1: {} - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true + webidl-conversions@3.0.1: {} - /webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - dev: true + webidl-conversions@7.0.0: {} - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true + webpack-sources@3.2.3: {} - /webpack@5.91.0(esbuild@0.21.4): - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + webpack@5.92.1(@swc/core@1.10.9)(esbuild@0.24.2): dependencies: '@types/eslint-scope': 3.7.4 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.9.0 - acorn-import-assertions: 1.9.0(acorn@8.9.0) + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) browserslist: 4.22.2 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.17.0 es-module-lexer: 1.2.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -11291,247 +13723,157 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.21.4)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.9)(esbuild@0.24.2)(webpack@5.92.1(@swc/core@1.10.9)(esbuild@0.24.2)) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - dev: true - /webpod@0.0.2: - resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} - hasBin: true - dev: true + webpod@0.0.2: {} - /whatwg-url@13.0.0: - resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==} - engines: {node: '>=16'} + whatwg-url@13.0.0: dependencies: tr46: 4.1.1 webidl-conversions: 7.0.0 - dev: true - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.11: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - dev: true - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@1.3.1: dependencies: isexe: 2.0.0 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - dev: true - /which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + which@3.0.0: dependencies: isexe: 2.0.0 - dev: true - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wide-align@1.1.5: dependencies: string-width: 4.2.3 - dev: true - /workerd@1.20240605.0: - resolution: {integrity: sha512-2yhzgaprAOFm7H988xlRFmU4rOLXhSsq24wh6ayucMB3ORfe/nYJ2ysFn1mzjB+UxEJVt5PhixgHkZLv1S8UPQ==} - engines: {node: '>=16'} - hasBin: true - requiresBuild: true + workerd@1.20241106.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240605.0 - '@cloudflare/workerd-darwin-arm64': 1.20240605.0 - '@cloudflare/workerd-linux-64': 1.20240605.0 - '@cloudflare/workerd-linux-arm64': 1.20240605.0 - '@cloudflare/workerd-windows-64': 1.20240605.0 - - /wrangler@3.60.0(@cloudflare/workers-types@4.20240605.0): - resolution: {integrity: sha512-8lW4E7VAhCVXy7AV7Vom2BsyjekIt15Aa8jnBLsfE2CxalzWQzx49BK25hOYhjHQT4GqBXeoNOZ43FrMQ+SUUA==} - engines: {node: '>=16.17.0'} - hasBin: true - peerDependencies: - '@cloudflare/workers-types': ^4.20240605.0 - peerDependenciesMeta: - '@cloudflare/workers-types': - optional: true + '@cloudflare/workerd-darwin-64': 1.20241106.1 + '@cloudflare/workerd-darwin-arm64': 1.20241106.1 + '@cloudflare/workerd-linux-64': 1.20241106.1 + '@cloudflare/workerd-linux-arm64': 1.20241106.1 + '@cloudflare/workerd-windows-64': 1.20241106.1 + + wrangler@3.91.0(@cloudflare/workers-types@4.20240614.0): dependencies: - '@cloudflare/kv-asset-handler': 0.3.2 - '@cloudflare/workers-types': 4.20240605.0 + '@cloudflare/kv-asset-handler': 0.3.4 + '@cloudflare/workers-shared': 0.9.0 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 - chokidar: 3.6.0 + chokidar: 4.0.1 + date-fns: 4.1.0 esbuild: 0.17.19 - miniflare: 3.20240605.0 + itty-time: 1.0.6 + miniflare: 3.20241106.1 nanoid: 3.3.7 - path-to-regexp: 6.2.1 + path-to-regexp: 6.3.0 resolve: 1.22.8 resolve.exports: 2.0.2 selfsigned: 2.4.1 source-map: 0.6.1 - unenv: /unenv-nightly@1.10.0-1717606461.a117952 + unenv: unenv-nightly@2.0.0-20241121-161142-806b5c0 + workerd: 1.20241106.1 xxhash-wasm: 1.0.2 optionalDependencies: + '@cloudflare/workers-types': 4.20240614.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} + wrap-ansi@9.0.0: dependencies: ansi-styles: 6.2.1 string-width: 7.0.0 strip-ansi: 7.1.0 - dev: true - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrappy@1.0.2: {} - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + ws@8.14.2: {} - /xdg-app-paths@8.3.0: - resolution: {integrity: sha512-mgxlWVZw0TNWHoGmXq+NC3uhCIc55dDpAlDkMQUaIAcQzysb0kxctwv//fvuW61/nAAeUBJMQ8mnZjMmuYwOcQ==} - engines: {node: '>= 4.0'} + ws@8.18.0: {} + + xdg-app-paths@8.3.0: dependencies: xdg-portable: 10.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /xdg-portable@10.6.0: - resolution: {integrity: sha512-xrcqhWDvtZ7WLmt8G4f3hHy37iK7D2idtosRgkeiSPZEPmBShp0VfmRBLWAPC6zLF48APJ21yfea+RfQMF4/Aw==} - engines: {node: '>= 4.0'} + xdg-portable@10.6.0: dependencies: os-paths: 7.4.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /xml@1.0.1: - resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} - dev: true + xml@1.0.1: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + xtend@4.0.2: {} - /xxhash-wasm@1.0.2: - resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} + xxhash-wasm@1.0.2: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true + y18n@5.0.8: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + yallist@4.0.0: {} - /yaml@2.2.2: - resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} - engines: {node: '>= 14'} - dev: true + yaml@2.2.2: {} - /yaml@2.4.2: - resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} - engines: {node: '>= 14'} - hasBin: true - dev: true + yaml@2.5.0: {} - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true + yargs-parser@20.2.9: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@21.1.1: {} - /yargs@17.6.0: - resolution: {integrity: sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==} - engines: {node: '>=12'} + yargs@17.6.0: dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -11540,53 +13882,30 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yarn@1.22.22: - resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} - engines: {node: '>=4.0.0'} - hasBin: true - requiresBuild: true - dev: true + yarn@1.22.22: {} - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.0.0: {} - /youch@3.3.3: - resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} + youch@3.3.3: dependencies: cookie: 0.5.0 mustache: 4.2.0 stacktracey: 2.1.8 - /zip-stream@5.0.1: - resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} - engines: {node: '>= 12.0.0'} + zip-stream@5.0.1: dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 readable-stream: 3.6.0 - dev: true - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.22.4: {} - /zx@7.2.3: - resolution: {integrity: sha512-QODu38nLlYXg/B/Gw7ZKiZrvPkEsjPN3LQ5JFXM7h0JvwhEdPNNl+4Ao1y4+o3CLNiDUNcwzQYZ4/Ko7kKzCMA==} - engines: {node: '>= 16.0.0'} - hasBin: true + zx@7.2.3: dependencies: '@types/fs-extra': 11.0.1 '@types/minimist': 1.2.2 @@ -11603,4 +13922,3 @@ packages: webpod: 0.0.2 which: 3.0.0 yaml: 2.2.2 - dev: true diff --git a/sandbox/.gitignore b/sandbox/.gitignore index 6128a33f41b8..1ab3b6975290 100644 --- a/sandbox/.gitignore +++ b/sandbox/.gitignore @@ -14,6 +14,8 @@ !driver-adapters/** !d1 !d1/** +!query-compiler +!query-compiler/** # Ignore node_modules **/node_modules diff --git a/sandbox/basic-sqlite/.gitignore b/sandbox/basic-sqlite/.gitignore new file mode 100644 index 000000000000..0df55fc557c7 --- /dev/null +++ b/sandbox/basic-sqlite/.gitignore @@ -0,0 +1 @@ +dev.db diff --git a/sandbox/d1/src/index.ts b/sandbox/d1/src/index.ts index f0248a7aa05b..bbd5a025518e 100644 --- a/sandbox/d1/src/index.ts +++ b/sandbox/d1/src/index.ts @@ -8,26 +8,26 @@ * Learn more at https://developers.cloudflare.com/workers/ */ -import { PrismaClient } from 'db' -import { PrismaD1 } from '@prisma/adapter-d1' +import { PrismaClient } from 'db'; +import { PrismaD1 } from '@prisma/adapter-d1'; export interface Env { MY_DATABASE: D1Database; } declare global { - var DEBUG: undefined | string + var DEBUG: undefined | string; } -globalThis.DEBUG = '*' +globalThis.DEBUG = '*'; export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise { - const adapter = new PrismaD1(env.MY_DATABASE) - const prisma = new PrismaClient({ adapter }) + const adapter = new PrismaD1(env.MY_DATABASE); + const prisma = new PrismaClient({ adapter }); - let tenc = new TextEncoder() - let buffer = tenc.encode("Hello") + let tenc = new TextEncoder(); + let buffer = tenc.encode('Hello'); // let buffer = Uint8Array.from(['H', 'e', 'l', 'l', 'o']) @@ -36,8 +36,8 @@ export default { ("boolean", "blob") VALUES (true, ${buffer}) RETURNING * - ` - console.log({qr}); + `; + console.log({ qr }); console.log('--------'); @@ -85,7 +85,7 @@ export default { // // id: 1, // text: "Test name", // boolean: true, - // blob: new Uint8Array([1, 2, 3]) as Buffer, + // blob: new Uint8Array([1, 2, 3]), // int: 9, // real: 9.9, // } @@ -99,17 +99,17 @@ export default { // } // }) - // const result = await prisma.user.create({ - // data: { - // posts: { - // create: [ - // { title: "The fire living beneath your curtains" }, - // { title: "The ocean breeze beneath your feet" }, - // { title: "The starlight beaming afore your eyes" }, - // ] - // } - // } - // }) + // const result = await prisma.user.create({ + // data: { + // posts: { + // create: [ + // { title: "The fire living beneath your curtains" }, + // { title: "The ocean breeze beneath your feet" }, + // { title: "The starlight beaming afore your eyes" }, + // ] + // } + // } + // }) // await prisma.$transaction([ // prisma.customers.create({ @@ -141,4 +141,3 @@ export default { return new Response(`Hello World! Result from Prisma Client from D1!:\n${JSON.stringify(result, null, 2)}`); }, }; - diff --git a/sandbox/driver-adapters/README.md b/sandbox/driver-adapters/README.md index f0353b01d134..6c557084ac1e 100644 --- a/sandbox/driver-adapters/README.md +++ b/sandbox/driver-adapters/README.md @@ -4,8 +4,8 @@ This is a playground for testing the Prisma Client with Driver Adapters (aka Nod ## How to setup -We assume Node.js `v18.16.1`+ is installed. If not, run `nvm use` in the current directory. -This is very important to double-check if you have multiple versions installed, as PlanetScale requires either Node.js `v18.16.1`+ or a custom `fetch` function. +We assume Node.js `v18.18`+ is installed. If not, run `nvm use` in the current directory. +This is very important to double-check if you have multiple versions installed, as PlanetScale requires either Node.js `v18.18`+ or a custom `fetch` function. - Create a `.envrc` starting from `.envrc.example`, and fill in the missing values following the given template - Install Node.js dependencies via diff --git a/sandbox/query-compiler/.gitignore b/sandbox/query-compiler/.gitignore new file mode 100644 index 000000000000..0df55fc557c7 --- /dev/null +++ b/sandbox/query-compiler/.gitignore @@ -0,0 +1 @@ +dev.db diff --git a/sandbox/query-compiler/index.ts b/sandbox/query-compiler/index.ts new file mode 100644 index 000000000000..7720904a7e17 --- /dev/null +++ b/sandbox/query-compiler/index.ts @@ -0,0 +1,97 @@ +import { Prisma, PrismaClient } from '.prisma/client' +import { PrismaPg } from '@prisma/adapter-pg' +import { Pool } from 'pg' + +import util from 'node:util' + +async function main() { + const prisma = new PrismaClient({ + adapter: new PrismaPg( + new Pool({ + connectionString: process.env.TEST_POSTGRES_URI + }) + ), + }) + + const email = `user.${Date.now()}@prisma.io` + const user = await prisma.user.create({ + data: { email }, + }) + + // TODO: `create` currently returns an array instead of a single record, this is a bug + const userId = user[0].id + + await prisma.post.createMany({ + data: [ + { + title: 'First post', + userId, + }, + { + title: 'Second post', + userId, + }, + ] + }) + + const query = prisma.user.findMany({ + where: { + createdAt: { + gt: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(), + }, + }, + }) + + const nestedQuery = await prisma.user.findMany({ + include: { + posts: true + } + }) + + console.log(util.inspect(nestedQuery, { depth: null })) + + + // -------------- + // timings + // -------------- + + // warm up native connector + await prisma.user.findMany() + + // console.time('old way') + const [, timing] = await benchmark(() => query) + // console.timeEnd('old way') + console.log('timing', timing) + + + /// -------------- + /// misc + /// -------------- + + // console.log( + // await newQuery({ + // email: 'user.1730130638271@prisma.io', + // startDate: new Date(Date.now() - 60 * 60 * 1000).toISOString(), + // }), + // ) +} + +const benchmark = async (fn: () => Promise): Promise<[result: T, ms: number]> => { + const start = process.hrtime.bigint() + const result = await fn() + const end = process.hrtime.bigint() + const ms = Number(end - start) / 1e6 // Duration in milliseconds + + return [result, ms] +} + +void main() + .then(() => { + console.log('✅ done') + process.exit(0) + }) + .catch((e) => { + console.log('❌ error') + console.error(e) + process.exit(1) + }) diff --git a/sandbox/query-compiler/package.json b/sandbox/query-compiler/package.json new file mode 100644 index 000000000000..18a6e1c1bf1d --- /dev/null +++ b/sandbox/query-compiler/package.json @@ -0,0 +1,29 @@ +{ + "private": true, + "name": "query-compiler", + "description": "Prisma development playground", + "main": "index.ts", + "scripts": { + "dbpush": "prisma db push --skip-generate", + "generate": "PRISMA_COPY_RUNTIME_SOURCEMAPS=1 prisma generate", + "start": "npm run generate && npm run test", + "test": "ts-node index.ts", + "debug": "node -r ts-node/register --enable-source-maps index.ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@prisma/client": "../../packages/client", + "@prisma/adapter-pg": "../../packages/adapter-pg", + "pg": "../../packages/adapter-pg/node_modules/pg" + }, + "devDependencies": { + "@types/node": "18.18.9", + "@types/pg": "../../packages/adapter-pg/node_modules/@types/pg", + "prisma": "../../packages/cli", + "ts-node": "*", + "tsx": "*", + "typescript": "*" + } +} diff --git a/sandbox/query-compiler/prisma/schema.prisma b/sandbox/query-compiler/prisma/schema.prisma new file mode 100644 index 000000000000..d1d133db69ea --- /dev/null +++ b/sandbox/query-compiler/prisma/schema.prisma @@ -0,0 +1,25 @@ +generator client { + provider = "prisma-client-js" + output = "../node_modules/.prisma/client" + previewFeatures = ["driverAdapters"] + engineType = "client" +} + +datasource db { + provider = "postgresql" + url = env("TEST_POSTGRES_URI") +} + +model User { + id Int @id @default(autoincrement()) + email String @unique + createdAt DateTime @default(now()) + posts Post[] +} + +model Post { + id Int @id @default(autoincrement()) + title String + userId Int + user User @relation(fields: [userId], references: [id]) +} diff --git a/sandbox/tracing/.gitignore b/sandbox/tracing/.gitignore new file mode 100644 index 000000000000..fdc615a09cdb --- /dev/null +++ b/sandbox/tracing/.gitignore @@ -0,0 +1 @@ +/prisma/dev.db diff --git a/sandbox/tracing/index.ts b/sandbox/tracing/index.ts index 921aff947256..a8621d47b310 100644 --- a/sandbox/tracing/index.ts +++ b/sandbox/tracing/index.ts @@ -1,8 +1,7 @@ import { context, trace } from '@opentelemetry/api' -import { debug } from 'console' import { otelSetup } from './otelSetup' -import { Prisma, PrismaClient } from '.prisma/client' +import { PrismaClient } from '.prisma/client' otelSetup() diff --git a/sandbox/tracing/otelSetup.ts b/sandbox/tracing/otelSetup.ts index 701ec47b89ba..ff959b097373 100644 --- a/sandbox/tracing/otelSetup.ts +++ b/sandbox/tracing/otelSetup.ts @@ -7,9 +7,8 @@ import { BasicTracerProvider, ConsoleSpanExporter, SimpleSpanProcessor, - TraceIdRatioBasedSampler, } from '@opentelemetry/sdk-trace-base' -import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions' +import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions' import { PrismaInstrumentation } from '@prisma/instrumentation' /** SETUP */ @@ -32,8 +31,8 @@ export function otelSetup() { const provider = new BasicTracerProvider({ resource: new Resource({ // we can define some metadata about the trace resource - [SEMRESATTRS_SERVICE_NAME]: 'basic-service', - [SEMRESATTRS_SERVICE_VERSION]: '1.0.0', + [ATTR_SERVICE_NAME]: 'basic-service', + [ATTR_SERVICE_VERSION]: '1.0.0', }), }) diff --git a/sandbox/tracing/package.json b/sandbox/tracing/package.json index a43d35da4bf2..8df1940a2270 100644 --- a/sandbox/tracing/package.json +++ b/sandbox/tracing/package.json @@ -18,17 +18,16 @@ "@prisma/instrumentation": "../../packages/instrumentation" }, "devDependencies": { - "@opentelemetry/api": "1.7.0", - "@opentelemetry/context-async-hooks": "1.18.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-trace-otlp-http": "0.45.1", - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1", - "@types/node": "18.18.9", + "@opentelemetry/api": "1.9.0", + "@opentelemetry/context-async-hooks": "1.26.0", + "@opentelemetry/exporter-trace-otlp-http": "0.52.1", + "@opentelemetry/instrumentation": "0.52.1", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0", + "@types/node": "22.5.3", "prisma": "../../packages/cli", - "ts-node": "10.9.1", - "typescript": "5.2.2" + "ts-node": "10.9.2", + "typescript": "5.5.4" } } diff --git a/sandbox/tracing/prisma/schema.prisma b/sandbox/tracing/prisma/schema.prisma index 1e5adabf2d53..3d93811d0989 100644 --- a/sandbox/tracing/prisma/schema.prisma +++ b/sandbox/tracing/prisma/schema.prisma @@ -1,8 +1,8 @@ generator client { - provider = "prisma-client-js" - output = "../node_modules/.prisma/client" - previewFeatures = ["tracing"] + provider = "prisma-client-js" + output = "../node_modules/.prisma/client" } + datasource db { provider = "sqlite" url = "file:./dev.db" diff --git a/sandbox/tracing/tsconfig.json b/sandbox/tracing/tsconfig.json index e418d36b2c02..8e7366407b81 100644 --- a/sandbox/tracing/tsconfig.json +++ b/sandbox/tracing/tsconfig.json @@ -9,7 +9,7 @@ // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "ES2020" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + "target": "ES2021" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ diff --git a/scripts/bump-engines.ts b/scripts/bump-engines.ts index a7b8f86ad81b..529074537992 100644 --- a/scripts/bump-engines.ts +++ b/scripts/bump-engines.ts @@ -26,6 +26,8 @@ async function main() { await run(path.join(__dirname, '..'), `pnpm update -r @prisma/prisma-schema-wasm@${version}`) // Update `@prisma/query-engine-wasm` version in all package.json await run(path.join(__dirname, '..'), `pnpm update -r @prisma/query-engine-wasm@${version}`) + // Update `@prisma/query-compiler-wasm` version in all package.json + await run(path.join(__dirname, '..'), `pnpm update -r @prisma/query-compiler-wasm@${version}`) await run(path.join(__dirname, '..'), `pnpm run --filter @prisma/engines dev`) await run(path.join(__dirname, '..'), `pnpm run --filter @prisma/engines postinstall`) diff --git a/scripts/check-version-conflicts.ts b/scripts/check-version-conflicts.ts deleted file mode 100644 index 18735592a311..000000000000 --- a/scripts/check-version-conflicts.ts +++ /dev/null @@ -1,129 +0,0 @@ -import arg from 'arg' -import execa from 'execa' -import { promises as fs } from 'fs' -import globby from 'globby' -import { blue, bold, dim, red, underline } from 'kleur/colors' -import pMap from 'p-map' -import path from 'path' - -type PackageUser = { - path: string - version: string - dev: boolean -} - -const tab = ' ' - -async function main() { - const packagePaths = await globby( - ['migrate/package.json', 'prisma2/cli/**/package.json', 'prisma-client-js/packages/**/package.json'], - { - ignore: ['**/node_modules/**', '**/examples/**'], - }, - ) - const packages = await Promise.all( - packagePaths.map(async (p) => ({ - path: p, - package: JSON.parse(await fs.readFile(p, 'utf-8')), - })), - ) - - const packageCache: { [key: string]: PackageUser[] } = {} - - for (const p of packages) { - const handler = - (dev) => - ([name, version]: any) => { - const v = version.replace('^', '') - if (packageCache[name]) { - if (packageCache[name].find((c) => c.version !== v)) { - packageCache[name].push({ - path: p.path, - version: v, - dev, - }) - } - } else { - packageCache[name] = [{ path: p.path, version: v, dev }] - } - } - if (p.package.dependencies) { - Object.entries(p.package.dependencies).forEach(handler(false)) - } - if (p.package.devDependencies) { - Object.entries(p.package.devDependencies).forEach(handler(true)) - } - } - - Object.entries(packageCache).forEach(([key, value]) => { - let out = '\n' - if (value.length > 1) { - out += bold(red(`Version mismatch`)) + ` for ${bold(blue(key))}\n` - value.forEach((v) => { - out += `${tab}${underline(v.path).padEnd(60)}${v.version.padEnd(20)} ${ - v.dev ? dim('dependency') : dim('devDependency') - }\n` - }) - console.error(out) - } - }) - - console.log(`Found mismatches for ${Object.values(packageCache).filter((v) => v.length > 1).length} packages`) - - const argv = arg({ - ['--auto-fix']: Boolean, - }) - - const denyList = ['@zeit/ncc', 'prisma-datamodel'] - - if (argv['--auto-fix']) { - console.log('Auto fix turned on...') - await pMap( - Object.entries(packageCache), - async ([packageName, packageUsers]) => { - if (denyList.includes(packageName)) { - return - } - if (!packageName.startsWith('@types')) { - return - } - const latestVersion = await runResult('.', `npm info ${packageName} version`) - console.log(`\nSetting ${blue(`${packageName}@${latestVersion}`)}`) - await pMap( - packageUsers, - async (u) => { - await run(path.dirname(u.path), `yarn add ${packageName}@${latestVersion}${u.dev ? ' -D' : ''}`) - }, - { concurrency: 1 }, - ) - }, - { concurrency: 1 }, - ) - } -} - -void main() - -async function runResult(cwd: string, cmd: string): Promise { - try { - const result = await execa.command(cmd, { - cwd, - stdio: 'pipe', - }) - return result.stdout - } catch (e) { - throw new Error(bold(red(`Error running ${bold(cmd)} in ${underline(cwd)}:`) + (e.stderr || e.stack || e.message))) - } -} - -async function run(cwd: string, cmd: string): Promise { - console.log(underline('./' + cwd).padEnd(20), bold(cmd)) - try { - await execa.command(cmd, { - cwd, - stdio: 'inherit', - }) - } catch (e) { - throw new Error(bold(red(`Error running ${bold(cmd)} in ${underline(cwd)}:`) + (e.stderr || e.stack || e.message))) - } -} diff --git a/scripts/ci/publish.ts b/scripts/ci/publish.ts index 24578e061482..bc1fa3c25840 100644 --- a/scripts/ci/publish.ts +++ b/scripts/ci/publish.ts @@ -634,12 +634,6 @@ Check them out at https://github.com/prisma/ecosystem-tests/actions?query=workfl } catch (e) { console.error(e) } - - try { - await tagEnginesRepo(prismaVersion, enginesCommitHash, patchBranch, dryRun) - } catch (e) { - console.error(e) - } } } } catch (e) { @@ -664,60 +658,6 @@ function getEnginesCommitHash(): string { return commitHash } -async function tagEnginesRepo( - prismaVersion: string, - engineVersion: string, - patchBranch: string | null, - dryRun = false, -) { - let previousTag: string - - console.log(`Going to tag the engines repo with "${prismaVersion}", patchBranch: ${patchBranch}, dryRun: ${dryRun}`) - /** Get ready */ - await cloneOrPull('prisma-engines', dryRun) - - // 3.2.x - if (patchBranch) { - // 3.2 - const [major, minor] = patchBranch.split('.') - const majorMinor = [major, minor].join('.') - // ['3.2.0', '3.2.1'] - const patchesPublished: string | string[] = JSON.parse( - // TODO this line is useful for retrieving versions - await runResult('.', `npm view @prisma/client@${majorMinor} version --json`), - ) - - console.log({ patchesPublished }) - - if (typeof patchesPublished === 'string') { - previousTag = patchesPublished - } else if (patchesPublished.length > 0) { - // 3.2.0 - previousTag = patchesPublished.pop() as string - } else { - console.warn('No version found for this patch branch') - return - } - } else { - /** Get previous tag */ - previousTag = await runResult('prisma-engines', `git describe --tags --abbrev=0`) - } - - /** Get commits between previous tag and engines sha1 */ - const changelog = await runResult( - 'prisma-engines', - `git log ${previousTag}..${engineVersion} --pretty=format:' * %h - %s - by %an' --`, - ) - - // TODO remove later - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const changelogSanitized = changelog.replace(/"/gm, '\\"').replace(/`/gm, '\\`') - - if (typeof process.env.GITHUB_OUTPUT == 'string' && process.env.GITHUB_OUTPUT.length > 0) { - // fs.appendFileSync(process.env.GITHUB_OUTPUT, `changelogSanitized=${changelogSanitized}\n`) - } -} - /** * Tests packages in "publishOrder" * @param packages Packages @@ -1102,28 +1042,6 @@ async function getCommitInfo(repo: string, hash: string): Promise { } } -function getCommitEnvVar(name: string): string { - return `${name.toUpperCase().replace(/-/g, '_')}_COMMIT` -} - -async function cloneOrPull(repo: string, dryRun = false) { - if (fs.existsSync(path.join(__dirname, '../../', repo))) { - return run(repo, `git pull --tags`, dryRun) - } else { - await run('.', `git clone ${repoUrl(repo)}`, dryRun) - const envVar = getCommitEnvVar(repo) - if (process.env[envVar]) { - await run(repo, `git checkout ${process.env[envVar]}`, dryRun) - } - } - - return undefined -} - -function repoUrl(repo: string, org = 'prisma') { - return `https://github.com/${org}/${repo}.git` -} - if (require.main === module) { publish().catch((e) => { console.error(red(bold('Error: ')) + (e.stack || e.message)) diff --git a/tsconfig.build.regular.json b/tsconfig.build.regular.json index 39f71db89692..8b5bddbe9361 100644 --- a/tsconfig.build.regular.json +++ b/tsconfig.build.regular.json @@ -1,8 +1,8 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2021", "module": "commonjs", - "lib": ["ES2020", "ES2021.WeakRef"], + "lib": ["ES2021"], "esModuleInterop": true, "isolatedModules": true, "sourceMap": true,