diff --git a/.github/scripts/discover-test-packages.ts b/.github/scripts/discover-test-packages.ts deleted file mode 100644 index 0c0f860..0000000 --- a/.github/scripts/discover-test-packages.ts +++ /dev/null @@ -1,27 +0,0 @@ -import fs from 'fs'; - -interface MatrixEntry { - name: string; - package: string; -} - -function getMatrix(script: string): string { - const result: MatrixEntry[] = []; - for (const dir of ['packages', 'apps']) { - if (!fs.existsSync(dir)) continue; - for (const pkg of fs.readdirSync(dir)) { - const pkgJsonPath = `${dir}/${pkg}/package.json`; - if (!fs.existsSync(pkgJsonPath)) continue; - const json = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8')); - if (json.scripts?.[script]) { - result.push({ name: pkg, package: json.name }); - } - } - } - return JSON.stringify({ include: result }); -} - -const integration = getMatrix('test:integration'); -const e2e = getMatrix('test:e2e'); - -fs.appendFileSync(process.env.GITHUB_OUTPUT!, `integration=${integration}\ne2e=${e2e}\n`); diff --git a/.github/scripts/tsconfig.json b/.github/scripts/tsconfig.json deleted file mode 100644 index e307cc9..0000000 --- a/.github/scripts/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", - "types": ["node"], - "strict": true - } -} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ff77abc..bcb3c26 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,12 +14,13 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: - install: - name: 'install' + setup: + name: 'setup (node ${{ matrix.node-version }})' runs-on: ubuntu-latest - outputs: - integration-matrix: ${{ steps.discover.outputs.integration }} - e2e-matrix: ${{ steps.discover.outputs.e2e }} + strategy: + fail-fast: false + matrix: + node-version: [22, 24] steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -28,29 +29,37 @@ jobs: version: 10.18.1 - uses: actions/setup-node@v4 with: - node-version: 24 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - - name: Cache dependencies - id: dependencies-cache + - name: Cache setup + id: setup-cache uses: actions/cache@v4 with: path: | node_modules apps/*/node_modules packages/*/node_modules + plugins/*/node_modules ~/.cache/ms-playwright - key: ${{ runner.os }}-dependencies-${{ hashFiles('pnpm-lock.yaml') }} + packages/*/dist + plugins/*/dist + apps/*/dist + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} - name: Install dependencies - if: steps.dependencies-cache.outputs.cache-hit != 'true' - run: pnpm install - - name: Discover test packages - id: discover - run: node --experimental-strip-types .github/scripts/discover-test-packages.ts + if: steps.setup-cache.outputs.cache-hit != 'true' + run: pnpm install --config.inject-workspace-packages=true --no-frozen-lockfile + - name: Run build + if: steps.setup-cache.outputs.cache-hit != 'true' + run: pnpm run build - build: - needs: [install] - name: 'build' + lint: + needs: [setup] + name: 'lint (node ${{ matrix.node-version }})' runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24] steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -59,33 +68,32 @@ jobs: version: 10.18.1 - uses: actions/setup-node@v4 with: - node-version: 24 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - - name: Restore dependencies + - name: Restore setup uses: actions/cache@v4 with: path: | node_modules apps/*/node_modules packages/*/node_modules + plugins/*/node_modules ~/.cache/ms-playwright - key: ${{ runner.os }}-dependencies-${{ hashFiles('pnpm-lock.yaml') }} - - name: Cache build outputs - id: build-cache - uses: actions/cache@v4 - with: - path: | packages/*/dist + plugins/*/dist apps/*/dist - key: ${{ runner.os }}-build-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'apps/**') }} - - name: Run build - if: steps.build-cache.outputs.cache-hit != 'true' - run: pnpm run build + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run linting + run: pnpm run lint - lint: - needs: [install, build] - name: 'lint' + typescript: + needs: [setup] + name: 'typescript (node ${{ matrix.node-version }})' runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24] steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -94,24 +102,32 @@ jobs: version: 10.18.1 - uses: actions/setup-node@v4 with: - node-version: 24 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - - name: Restore dependencies + - name: Restore setup uses: actions/cache@v4 with: path: | node_modules apps/*/node_modules packages/*/node_modules + plugins/*/node_modules ~/.cache/ms-playwright - key: ${{ runner.os }}-dependencies-${{ hashFiles('pnpm-lock.yaml') }} - - name: Run linting - run: pnpm run lint + packages/*/dist + plugins/*/dist + apps/*/dist + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run TypeScript checks + run: pnpm run lint:ts - typescript: - needs: [install, build] - name: 'typescript' + test-integration-sqlite: + needs: [setup, lint, typescript] + name: 'test:integration:sqlite (node ${{ matrix.node-version }})' runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24] steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -120,34 +136,66 @@ jobs: version: 10.18.1 - uses: actions/setup-node@v4 with: - node-version: 24 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - - name: Restore dependencies + - name: Restore setup uses: actions/cache@v4 with: path: | node_modules apps/*/node_modules packages/*/node_modules + plugins/*/node_modules ~/.cache/ms-playwright - key: ${{ runner.os }}-dependencies-${{ hashFiles('pnpm-lock.yaml') }} - - name: Restore build outputs + packages/*/dist + plugins/*/dist + apps/*/dist + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run integration tests + run: pnpm run test:integration + + test-integration-postgres: + needs: [setup, lint, typescript] + name: 'test:integration:postgres (node ${{ matrix.node-version }})' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24] + steps: + - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.18.1 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + - name: Restore setup uses: actions/cache@v4 with: path: | + node_modules + apps/*/node_modules + packages/*/node_modules + plugins/*/node_modules + ~/.cache/ms-playwright packages/*/dist + plugins/*/dist apps/*/dist - key: ${{ runner.os }}-build-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'apps/**') }} - - name: Run TypeScript checks - run: pnpm run check-types + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run integration tests + run: pnpm run test:integration:postgres - test-integration: - needs: [install, build, lint, typescript] - name: 'test:integration (${{ matrix.name }})' + test-integration-mysql: + needs: [setup, lint, typescript] + name: 'test:integration:mysql (node ${{ matrix.node-version }})' runs-on: ubuntu-latest strategy: fail-fast: false - matrix: ${{ fromJSON(needs.install.outputs.integration-matrix) }} + matrix: + node-version: [22, 24] steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -156,34 +204,72 @@ jobs: version: 10.18.1 - uses: actions/setup-node@v4 with: - node-version: 24 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - - name: Restore dependencies + - name: Restore setup uses: actions/cache@v4 with: path: | node_modules apps/*/node_modules packages/*/node_modules + plugins/*/node_modules ~/.cache/ms-playwright - key: ${{ runner.os }}-dependencies-${{ hashFiles('pnpm-lock.yaml') }} - - name: Restore build outputs + packages/*/dist + plugins/*/dist + apps/*/dist + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run integration tests + run: pnpm run test:integration:mysql + + test-e2e-sqlite: + needs: [setup, lint, typescript] + name: 'test:e2e:sqlite (node ${{ matrix.node-version }})' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24] + steps: + - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.18.1 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + - name: Restore setup uses: actions/cache@v4 with: path: | + node_modules + apps/*/node_modules + packages/*/node_modules + plugins/*/node_modules + ~/.cache/ms-playwright packages/*/dist + plugins/*/dist apps/*/dist - key: ${{ runner.os }}-build-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'apps/**') }} - - name: Run integration tests - run: pnpm --filter='${{ matrix.package }}' run test:integration + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run e2e tests + run: pnpm run test:e2e + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report-node${{ matrix.node-version }}-sqlite + path: '**/playwright-report/' + retention-days: 30 - test-e2e: - needs: [install, build, lint, typescript] - name: 'test:e2e (${{ matrix.name }})' + test-e2e-postgres: + needs: [setup, lint, typescript] + name: 'test:e2e:postgres (node ${{ matrix.node-version }})' runs-on: ubuntu-latest strategy: fail-fast: false - matrix: ${{ fromJSON(needs.install.outputs.e2e-matrix) }} + matrix: + node-version: [22, 24] steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -192,29 +278,66 @@ jobs: version: 10.18.1 - uses: actions/setup-node@v4 with: - node-version: 24 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - - name: Restore dependencies + - name: Restore setup uses: actions/cache@v4 with: path: | node_modules apps/*/node_modules packages/*/node_modules + plugins/*/node_modules ~/.cache/ms-playwright - key: ${{ runner.os }}-dependencies-${{ hashFiles('pnpm-lock.yaml') }} - - name: Restore build outputs + packages/*/dist + plugins/*/dist + apps/*/dist + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} + - name: Run e2e tests + run: pnpm run test:e2e:postgres + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report-node${{ matrix.node-version }}-postgres + path: '**/playwright-report/' + retention-days: 30 + + test-e2e-mysql: + needs: [setup, lint, typescript] + name: 'test:e2e:mysql (node ${{ matrix.node-version }})' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24] + steps: + - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.18.1 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + - name: Restore setup uses: actions/cache@v4 with: path: | + node_modules + apps/*/node_modules + packages/*/node_modules + plugins/*/node_modules + ~/.cache/ms-playwright packages/*/dist + plugins/*/dist apps/*/dist - key: ${{ runner.os }}-build-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'apps/**') }} + key: ${{ runner.os }}-node${{ matrix.node-version }}-setup-${{ hashFiles('pnpm-lock.yaml', 'packages/**', 'plugins/**', 'apps/**') }} - name: Run e2e tests - run: pnpm --filter='${{ matrix.package }}' run test:e2e + run: pnpm run test:e2e:mysql - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} with: - name: playwright-report-${{ matrix.name }} + name: playwright-report-node${{ matrix.node-version }}-mysql path: '**/playwright-report/' retention-days: 30 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index ab3bf70..84d1925 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -24,7 +24,7 @@ Examples of unacceptable behavior: ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the maintainers at **boaz@pluginpal.io**. All complaints will be reviewed and investigated promptly and fairly. Maintainers are obligated to maintain confidentiality with regard to the reporter. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the maintainers at **boaz.poolman@strapi.io**. All complaints will be reviewed and investigated promptly and fairly. Maintainers are obligated to maintain confidentiality with regard to the reporter. ## Attribution diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 54b5cc8..1325612 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,44 +13,64 @@ Thank you for your interest in contributing! This project is in early beta, so c ```bash git clone https://github.com/strapi-community/plugin-better-auth.git -cd auth +cd plugin-better-auth pnpm install pnpm build pnpm dev ``` +### Dev commands + +All dev commands start the playground Strapi app. Postgres and MySQL variants start the required Docker service automatically. + +```bash +pnpm dev # SQLite (default) +pnpm dev:postgres # Postgres +pnpm dev:mysql # MySQL +``` + +See [`packages/dev-utils`](./packages/dev-utils/README.md) for details on `dev-strapi` and `with-db`. + ## Project structure ``` +plugins/ + plugin-better-auth/ # Better Auth database adapter for Strapi + plugin-better-auth-dashboard/ # Admin panel dashboard for Better Auth users + plugin-api-permissions/ # Content API RBAC (roles & permissions) packages/ - plugin-better-auth/ # Better Auth database adapter for Strapi - plugin-api-permissions/ # Content API RBAC (roles & permissions) + dev-utils/ # Dev tooling: test helpers, dev server, Docker apps/ - playground/ # Development Strapi app + playground/ # Development Strapi app + docs/ # Documentation site ``` ## Making changes 1. Fork the repository and create a branch from `main`. -2. Make your changes in the relevant package under `packages/`. +2. Make your changes in the relevant plugin under `plugins/`. 3. Add or update tests where appropriate. 4. Run the checks below before opening a pull request. ### Checks ```bash -# Type checking -pnpm check-types - # Linting pnpm lint +# Type checking +pnpm lint:ts + # Integration tests pnpm test:integration +pnpm test:integration:postgres +pnpm test:integration:mysql -# Integration tests (requires a build first) +# E2e tests — requires a build first pnpm build pnpm test:e2e +pnpm test:e2e:postgres +pnpm test:e2e:mysql ``` ## Pull requests diff --git a/README.md b/README.md index 68123a2..8af43c3 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ # 🔐 Strapi + Better Auth > [!CAUTION] -> These packages are in **beta**. Do not use in production. +> These plugins are in **beta**. Do not use in production. A monorepo of Strapi v5 plugins for modern authentication and Content API authorization. | Package | Description | | ------- | ----------- | -| [`plugin-better-auth`](./packages/plugin-better-auth) | Better Auth database adapter for Strapi | -| [`plugin-better-auth-dashboard`](./packages/plugin-better-auth-dashboard) | Admin panel dashboard for Better Auth | -| [`plugin-api-permissions`](./packages/plugin-api-permissions) | Auth-agnostic Content API RBAC | +| [`plugin-better-auth`](./plugins/plugin-better-auth) | Better Auth database adapter for Strapi | +| [`plugin-better-auth-dashboard`](./plugins/plugin-better-auth-dashboard) | Admin panel dashboard for Better Auth | +| [`plugin-api-permissions`](./plugins/plugin-api-permissions) | Auth-agnostic Content API RBAC | ## Contributing diff --git a/apps/playground/.lintstagedrc b/apps/playground/.lintstagedrc index f9376f0..b21d21a 100644 --- a/apps/playground/.lintstagedrc +++ b/apps/playground/.lintstagedrc @@ -1,4 +1,4 @@ { "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts,js,cjs,mjs,jsx,json,jsonc}": ["pnpm run lint"], - "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run check-types'"] + "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run lint:ts:server'"] } \ No newline at end of file diff --git a/apps/playground/package.json b/apps/playground/package.json index 02669f3..fe3a5f5 100644 --- a/apps/playground/package.json +++ b/apps/playground/package.json @@ -7,12 +7,12 @@ "build": "strapi build", "console": "strapi console", "deploy": "strapi deploy", - "dev": "tsx scripts/dev.ts", + "dev": "dev-strapi", "develop": "strapi develop", "start": "strapi start", "strapi": "strapi", "lint": "biome check --fix", - "check-types": "tsc --noEmit", + "lint:ts:server": "tsc --noEmit", "upgrade": "npx @strapi/upgrade latest", "upgrade:dry": "npx @strapi/upgrade latest --dry" }, @@ -25,6 +25,8 @@ "@strapi/types": "catalog:strapi", "better-auth": "catalog:better-auth", "better-sqlite3": "12.4.1", + "mysql2": "3.20.0", + "pg": "8.20.0", "react": "^18.0.0", "react-dom": "^18.0.0", "react-router-dom": "^6.0.0", @@ -32,10 +34,10 @@ }, "devDependencies": { "@biomejs/biome": "^2.3.11", + "@strapi-community/dev-utils": "workspace:*", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", - "tsx": "^4.21.0", "typescript": "^5" }, "engines": { diff --git a/apps/playground/src/extensions/better-auth/content-types/invitation/schema.json b/apps/playground/src/extensions/better-auth/content-types/invitation/schema.json index 226c502..b27a3eb 100644 --- a/apps/playground/src/extensions/better-auth/content-types/invitation/schema.json +++ b/apps/playground/src/extensions/better-auth/content-types/invitation/schema.json @@ -39,7 +39,16 @@ "required": true }, "role": { - "type": "string", + "type": "text", + "configurable": false, + "pluginOptions": { + "better-auth": { + "managed": true + } + } + }, + "teamId": { + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { @@ -48,7 +57,7 @@ } }, "status": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { @@ -77,15 +86,6 @@ } }, "required": true - }, - "teamId": { - "type": "text", - "configurable": false, - "pluginOptions": { - "better-auth": { - "managed": true - } - } } } } diff --git a/apps/playground/src/extensions/better-auth/content-types/member/schema.json b/apps/playground/src/extensions/better-auth/content-types/member/schema.json index 46858bb..f4a0d86 100644 --- a/apps/playground/src/extensions/better-auth/content-types/member/schema.json +++ b/apps/playground/src/extensions/better-auth/content-types/member/schema.json @@ -39,7 +39,7 @@ "required": true }, "role": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { diff --git a/apps/playground/src/extensions/better-auth/content-types/organization/schema.json b/apps/playground/src/extensions/better-auth/content-types/organization/schema.json index 422ccde..9da9615 100644 --- a/apps/playground/src/extensions/better-auth/content-types/organization/schema.json +++ b/apps/playground/src/extensions/better-auth/content-types/organization/schema.json @@ -19,7 +19,7 @@ }, "attributes": { "name": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { @@ -29,7 +29,7 @@ "required": true }, "slug": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { @@ -40,7 +40,7 @@ "unique": true }, "logo": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { @@ -49,7 +49,7 @@ } }, "metadata": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { diff --git a/apps/playground/src/extensions/better-auth/content-types/session/schema.json b/apps/playground/src/extensions/better-auth/content-types/session/schema.json index ba9c5b0..2c079a5 100644 --- a/apps/playground/src/extensions/better-auth/content-types/session/schema.json +++ b/apps/playground/src/extensions/better-auth/content-types/session/schema.json @@ -68,7 +68,7 @@ "required": true }, "activeOrganizationId": { - "type": "string", + "type": "text", "configurable": false, "pluginOptions": { "better-auth": { diff --git a/apps/playground/src/extensions/better-auth/content-types/user/schema.json b/apps/playground/src/extensions/better-auth/content-types/user/schema.json index ec8ae11..7972013 100644 --- a/apps/playground/src/extensions/better-auth/content-types/user/schema.json +++ b/apps/playground/src/extensions/better-auth/content-types/user/schema.json @@ -11,7 +11,7 @@ }, "pluginOptions": { "content-manager": { - "visible": false + "visible": true }, "content-type-builder": { "visible": true @@ -79,14 +79,6 @@ }, "default": false }, - "verified": { - "type": "boolean" - }, - "test": { - "type": "relation", - "relation": "oneToOne", - "target": "api::test.test" - }, "role": { "type": "text", "configurable": false, diff --git a/apps/playground/types/generated/contentTypes.d.ts b/apps/playground/types/generated/contentTypes.d.ts index e62a9f1..38eb911 100644 --- a/apps/playground/types/generated/contentTypes.d.ts +++ b/apps/playground/types/generated/contentTypes.d.ts @@ -710,13 +710,13 @@ export interface PluginBetterAuthInvitation }; }>; publishedAt: Schema.Attribute.DateTime; - role: Schema.Attribute.String & + role: Schema.Attribute.Text & Schema.Attribute.SetPluginOptions<{ 'better-auth': { managed: true; }; }>; - status: Schema.Attribute.String & + status: Schema.Attribute.Text & Schema.Attribute.Required & Schema.Attribute.SetPluginOptions<{ 'better-auth': { @@ -827,7 +827,7 @@ export interface PluginBetterAuthMember extends Struct.CollectionTypeSchema { }; }>; publishedAt: Schema.Attribute.DateTime; - role: Schema.Attribute.String & + role: Schema.Attribute.Text & Schema.Attribute.Required & Schema.Attribute.SetPluginOptions<{ 'better-auth': { @@ -877,19 +877,19 @@ export interface PluginBetterAuthOrganization 'plugin::better-auth.organization' > & Schema.Attribute.Private; - logo: Schema.Attribute.String & + logo: Schema.Attribute.Text & Schema.Attribute.SetPluginOptions<{ 'better-auth': { managed: true; }; }>; - metadata: Schema.Attribute.String & + metadata: Schema.Attribute.Text & Schema.Attribute.SetPluginOptions<{ 'better-auth': { managed: true; }; }>; - name: Schema.Attribute.String & + name: Schema.Attribute.Text & Schema.Attribute.Required & Schema.Attribute.SetPluginOptions<{ 'better-auth': { @@ -897,7 +897,7 @@ export interface PluginBetterAuthOrganization }; }>; publishedAt: Schema.Attribute.DateTime; - slug: Schema.Attribute.String & + slug: Schema.Attribute.Text & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetPluginOptions<{ @@ -930,7 +930,7 @@ export interface PluginBetterAuthSession extends Struct.CollectionTypeSchema { }; }; attributes: { - activeOrganizationId: Schema.Attribute.String & + activeOrganizationId: Schema.Attribute.Text & Schema.Attribute.SetPluginOptions<{ 'better-auth': { managed: true; @@ -1172,7 +1172,7 @@ export interface PluginBetterAuthUser extends Struct.CollectionTypeSchema { }; pluginOptions: { 'content-manager': { - visible: false; + visible: true; }; 'content-type-builder': { visible: true; @@ -1247,7 +1247,6 @@ export interface PluginBetterAuthUser extends Struct.CollectionTypeSchema { 'manyToMany', 'plugin::api-permissions.role' >; - test: Schema.Attribute.Relation<'oneToOne', 'api::test.test'>; twoFactorEnabled: Schema.Attribute.Boolean & Schema.Attribute.SetPluginOptions<{ 'better-auth': { @@ -1258,7 +1257,6 @@ export interface PluginBetterAuthUser extends Struct.CollectionTypeSchema { updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; - verified: Schema.Attribute.Boolean; }; } diff --git a/package.json b/package.json index 1b8ef27..5411f2d 100644 --- a/package.json +++ b/package.json @@ -2,18 +2,23 @@ "name": "@strapi-community/plugin-better-auth", "private": true, "scripts": { - "postinstall": "playwright install --with-deps", "build": "turbo build", "dev": "turbo dev", + "dev:postgres": "DATABASE_CLIENT=postgres DATABASE_NAME=strapi with-db turbo dev", + "dev:mysql": "DATABASE_CLIENT=mysql DATABASE_NAME=strapi with-db turbo dev", "lint": "turbo lint", - "test:integration": "turbo test:integration", - "test:e2e": "turbo test:e2e", - "check-types": "turbo check-types", + "lint:ts": "turbo lint:ts:admin lint:ts:server", + "test:integration": "DATABASE_CLIENT=sqlite with-db turbo test:integration --concurrency=1", + "test:integration:postgres": "DATABASE_CLIENT=postgres with-db turbo test:integration --concurrency=1", + "test:integration:mysql": "DATABASE_CLIENT=mysql with-db turbo test:integration --concurrency=1", + "test:e2e": "DATABASE_CLIENT=sqlite with-db turbo test:e2e", + "test:e2e:postgres": "DATABASE_CLIENT=postgres with-db turbo test:e2e", + "test:e2e:mysql": "DATABASE_CLIENT=mysql with-db turbo test:e2e", "update-dependencies": "pnpm --recursive --interactive --latest update", "prepare": "husky" }, "devDependencies": { - "@playwright/test": "catalog:playwright", + "@strapi-community/dev-utils": "workspace:*", "@types/node": "^22.0.0", "husky": "9.1.7", "lint-staged": "^16.4.0", diff --git a/packages/dev-utils/README.md b/packages/dev-utils/README.md new file mode 100644 index 0000000..88570f1 --- /dev/null +++ b/packages/dev-utils/README.md @@ -0,0 +1,96 @@ +# @strapi-community/dev-utils + +Internal dev tooling for the `plugin-better-auth` monorepo. Not published to npm. + +## What's inside + +### Binaries + +| Binary | Description | +| ------ | ----------- | +| `dev-strapi` | Starts the playground Strapi app in dev mode and watches `packages/` and `plugins/` for compiled output changes, automatically restarting on rebuild | +| `with-db` | Starts the required Docker Compose service for `DATABASE_CLIENT` (postgres or mysql), exports connection env vars, runs the given command, then stops the service on exit | + +### TypeScript API + +Imported via `@strapi-community/dev-utils` in test files. + +#### `setupStrapi()` + +Boots a full Strapi instance against the playground app for use in Vitest integration tests. Picks a free port per worker thread so parallel test files don't collide. Respects `DATABASE_CLIENT` and related env vars for the database backend. + +#### `stopStrapi()` + +Destroys the running Strapi instance and cleans up any temporary SQLite database file created by `setupStrapi`. + +#### `createPlaywrightConfig(options)` + +Returns a Playwright `defineConfig` preconfigured for this monorepo — starts the playground as a web server, sets up the `setup` / `chromium` project structure, handles per-process SQLite filenames or ephemeral postgres/mysql databases, and registers `globalTeardown` to clean up the SQLite file after the run. + +#### `registerAuthSetup(authFilePath)` + +Playwright setup step that registers the Strapi admin account and saves storage state to `authFilePath`. + +#### `cleanupDir(dir)` + +Removes all contents of a directory except a `build/` subfolder. Used between test runs to reset playground state. + +#### `getFreePort()` + +Returns a free TCP port on `127.0.0.1`, used internally by `setupStrapi`. + +## Usage + +### `dev-strapi` + +Run from the playground (or via `pnpm dev` at the root): + +```bash +pnpm dev # SQLite +pnpm dev:postgres # Postgres (starts Docker automatically) +pnpm dev:mysql # MySQL (starts Docker automatically) +``` + +### `with-db` + +Wrap any command to spin up a database service first: + +```bash +DATABASE_CLIENT=postgres with-db +DATABASE_CLIENT=mysql with-db +``` + +**Ephemeral databases** — when `DATABASE_NAME` is not set, each test process (`setupStrapi` for integration tests, `createPlaywrightConfig` for e2e tests) automatically creates its own isolated database named `strapi_`. On exit, `with-db` bulk-drops all `strapi_*` databases and stops the service. In CI (no Docker), the service container is destroyed at job end so no explicit cleanup is needed. + +To use a persistent, named database (e.g. for `pnpm dev:postgres`), set `DATABASE_NAME` explicitly: + +```bash +DATABASE_CLIENT=postgres DATABASE_NAME=strapi with-db +``` + +Set `WITH_DB_SKIP_DOCKER=1` to skip Docker entirely (useful when a database is already running). + +### Integration tests + +```ts +import { setupStrapi, stopStrapi } from "@strapi-community/dev-utils"; + +beforeAll(setupStrapi); +afterAll(stopStrapi); +``` + +### E2e tests (Playwright) + +```ts +// playwright.config.ts +import { createPlaywrightConfig } from "@strapi-community/dev-utils"; +export default createPlaywrightConfig({ testDir: "./admin/test" }); + +// setup/auth.setup.ts +import { registerAuthSetup } from "@strapi-community/dev-utils"; +registerAuthSetup(`${__dirname}/../.auth/user.json`); +``` + +## Docker Compose + +`with-db` uses the `docker-compose.yml` in this package to manage Postgres and MySQL services. diff --git a/packages/dev-utils/bin/dev-strapi.sh b/packages/dev-utils/bin/dev-strapi.sh new file mode 100755 index 0000000..44c1f5c --- /dev/null +++ b/packages/dev-utils/bin/dev-strapi.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +exec "$SCRIPT_DIR/../node_modules/.bin/tsx" "$SCRIPT_DIR/../src/dev.ts" "$@" diff --git a/packages/dev-utils/bin/with-db.sh b/packages/dev-utils/bin/with-db.sh new file mode 100755 index 0000000..b93ded8 --- /dev/null +++ b/packages/dev-utils/bin/with-db.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +# Starts the required docker-compose service for DATABASE_CLIENT (postgres/mysql), +# exports connection credentials, runs the given command, then on exit drops all +# ephemeral databases (strapi_*), removes ephemeral SQLite files, and +# stops the service. +set -euo pipefail + +COMPOSE_DIR="packages/dev-utils" +SERVICE="" + +case "${DATABASE_CLIENT:-}" in + postgres) SERVICE="postgres" ;; + mysql) SERVICE="mysql" ;; +esac + +if [[ -n "$SERVICE" ]]; then + export DATABASE_HOST="${DATABASE_HOST:-127.0.0.1}" + export DATABASE_USERNAME="${DATABASE_USERNAME:-strapi}" + export DATABASE_PASSWORD="${DATABASE_PASSWORD:-strapi}" + case "$SERVICE" in + postgres) export DATABASE_PORT="${DATABASE_PORT:-5432}" ;; + mysql) export DATABASE_PORT="${DATABASE_PORT:-3306}" ;; + esac + + echo "[with-db] Starting $SERVICE..." + docker compose --project-directory "$COMPOSE_DIR" up "$SERVICE" -d --wait + + [[ -n "${DATABASE_NAME:-}" ]] && export DATABASE_NAME +fi + +cleanup() { + case "${DATABASE_CLIENT:-sqlite}" in + sqlite) + echo "[with-db] Removing ephemeral SQLite databases..." + find apps/playground/.tmp -maxdepth 1 -name 'strapi_[0-9]*.db' -delete 2>/dev/null || true + ;; + postgres) + echo "[with-db] Dropping ephemeral postgres databases..." + docker compose --project-directory "$COMPOSE_DIR" exec -T postgres sh -c \ + "psql -U '$DATABASE_USERNAME' -t -A -c \ + \"SELECT format('DROP DATABASE IF EXISTS %I;', datname) \ + FROM pg_database WHERE datname ~ '^strapi_[0-9]'\" \ + | psql -U '$DATABASE_USERNAME'" || true + echo "[with-db] Stopping postgres..." + docker compose --project-directory "$COMPOSE_DIR" stop postgres + ;; + mysql) + echo "[with-db] Dropping ephemeral mysql databases..." + docker compose --project-directory "$COMPOSE_DIR" exec -T mysql sh -c \ + "mysql -u root -proot -N -e \ + \"SELECT CONCAT('DROP DATABASE IF EXISTS \\\`', schema_name, '\\\`;') \ + FROM information_schema.schemata \ + WHERE schema_name REGEXP '^strapi_[0-9]'\" \ + | mysql -u root -proot" || true + echo "[with-db] Stopping mysql..." + docker compose --project-directory "$COMPOSE_DIR" stop mysql + ;; + esac +} +trap cleanup EXIT + +"$@" diff --git a/packages/dev-utils/docker-compose.yml b/packages/dev-utils/docker-compose.yml new file mode 100644 index 0000000..c776bcd --- /dev/null +++ b/packages/dev-utils/docker-compose.yml @@ -0,0 +1,32 @@ +name: plugin-better-auth + +services: + postgres: + image: postgres:16 + environment: + POSTGRES_USER: strapi + POSTGRES_PASSWORD: strapi + POSTGRES_DB: strapi + ports: + - "5432:5432" + healthcheck: + test: ["CMD", "pg_isready", "-U", "strapi"] + interval: 5s + timeout: 5s + retries: 5 + + mysql: + image: mysql:8 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_ROOT_HOST: '%' + MYSQL_DATABASE: strapi + MYSQL_USER: strapi + MYSQL_PASSWORD: strapi + ports: + - "3306:3306" + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"] + interval: 5s + timeout: 5s + retries: 5 diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json new file mode 100644 index 0000000..4d6b967 --- /dev/null +++ b/packages/dev-utils/package.json @@ -0,0 +1,22 @@ +{ + "name": "@strapi-community/dev-utils", + "version": "0.0.1", + "private": true, + "exports": { + ".": "./src/index.ts" + }, + "scripts": { + "postinstall": "playwright install chromium --with-deps" + }, + "bin": { + "with-db": "./bin/with-db.sh", + "dev-strapi": "./bin/dev-strapi.sh" + }, + "devDependencies": { + "@playwright/test": "catalog:playwright", + "@strapi/strapi": "catalog:strapi", + "@strapi/types": "catalog:strapi", + "@types/node": "^22.0.0", + "tsx": "^4.21.0" + } +} diff --git a/packages/dev-utils/src/db.ts b/packages/dev-utils/src/db.ts new file mode 100644 index 0000000..93d7a8d --- /dev/null +++ b/packages/dev-utils/src/db.ts @@ -0,0 +1,82 @@ +import { spawnSync } from "node:child_process"; +import path from "node:path"; + +// packages/dev-utils/src → packages/dev-utils (where docker-compose.yml lives) +const COMPOSE_DIR = path.resolve(__dirname, ".."); + +function spawnOrThrow( + cmd: string, + args: string[], + env?: NodeJS.ProcessEnv, +): void { + const result = spawnSync(cmd, args, { + stdio: "pipe", + env: env ?? process.env, + }); + if (result.status !== 0 || result.error) { + const stderr = result.stderr?.toString().trim() ?? ""; + const stdout = result.stdout?.toString().trim() ?? ""; + const spawnErr = result.error ? ` (${result.error.message})` : ""; + const output = [stderr, stdout].filter(Boolean).join("\n"); + throw new Error(`[db] Command failed: ${cmd} ${args.join(" ")}${spawnErr}${output ? `\n${output}` : ""}`); + } +} + +function createRemoteDb(name: string): void { + const client = process.env.DATABASE_CLIENT!; + const user = process.env.DATABASE_USERNAME ?? "strapi"; + + if (client === "postgres") { + spawnOrThrow("docker", [ + "compose", "--project-directory", COMPOSE_DIR, + "exec", "-T", "postgres", + "psql", "-U", user, "postgres", "-c", `CREATE DATABASE "${name}"`, + ]); + } else if (client === "mysql") { + spawnOrThrow("docker", [ + "compose", "--project-directory", COMPOSE_DIR, + "exec", "-T", "mysql", + "mysql", "-u", "root", "-proot", + "-e", `CREATE DATABASE \`${name}\`; GRANT ALL ON \`${name}\`.* TO '${user}'@'%';`, + ]); + } +} + +/** + * Sets up the database for a test process and returns the env vars that + * configure the database connection (for use in process.env or webServer.env). + * + * - sqlite: sets DATABASE_FILENAME to a per-instance file and removes any stale file. + * Cleanup of the .db file is handled by with-db on exit. + * - postgres/mysql: creates an ephemeral database (strapi_) when + * DATABASE_NAME is not already set, then sets DATABASE_NAME. + */ +export function setupDb( + instanceId: string, +): Record { + const client = process.env.DATABASE_CLIENT ?? "sqlite"; + + if (client === "sqlite") { + const filename = `.tmp/strapi_${instanceId}.db`; + process.env.DATABASE_FILENAME = filename; + return { DATABASE_CLIENT: "sqlite", DATABASE_FILENAME: filename }; + } + + if (!process.env.DATABASE_NAME) { + const dbName = `strapi_${instanceId}`; + console.log(`[dev-utils] Creating ephemeral database ${dbName}...`); + createRemoteDb(dbName); + process.env.DATABASE_NAME = dbName; + } + + return { + DATABASE_CLIENT: client, + DATABASE_HOST: process.env.DATABASE_HOST ?? "127.0.0.1", + DATABASE_PORT: + process.env.DATABASE_PORT ?? (client === "postgres" ? "5432" : "3306"), + DATABASE_NAME: process.env.DATABASE_NAME!, + DATABASE_USERNAME: process.env.DATABASE_USERNAME ?? "strapi", + DATABASE_PASSWORD: process.env.DATABASE_PASSWORD ?? "strapi", + }; +} + diff --git a/apps/playground/scripts/dev.ts b/packages/dev-utils/src/dev.ts similarity index 76% rename from apps/playground/scripts/dev.ts rename to packages/dev-utils/src/dev.ts index c9b4116..51759e4 100644 --- a/apps/playground/scripts/dev.ts +++ b/packages/dev-utils/src/dev.ts @@ -3,8 +3,10 @@ import { existsSync, watch } from "node:fs"; import { createConnection } from "node:net"; import { resolve } from "node:path"; -const playgroundDir = resolve(__dirname, ".."); -const packagesDir = resolve(__dirname, "../../../packages"); +// process.cwd() is the app directory (e.g. apps/playground) where dev-strapi is invoked +const playgroundDir = process.cwd(); +const packagesDir = resolve(playgroundDir, "../../packages"); +const pluginsDir = resolve(playgroundDir, "../../plugins"); const strapiBin = resolve(playgroundDir, "node_modules/.bin/strapi"); const STRAPI_PORT = process.env.PORT ? Number(process.env.PORT) : 1337; @@ -71,10 +73,12 @@ process.on("SIGINT", () => { startStrapi(); -if (existsSync(packagesDir)) { - watch(packagesDir, { recursive: true }, (_, filename) => { - if (!filename?.includes("dist") || filename.includes("dist/admin")) return; - if (!/\.(js|mjs|cjs)$/.test(filename)) return; - restartStrapi(filename); - }); +for (const dir of [packagesDir, pluginsDir]) { + if (existsSync(dir)) { + watch(dir, { recursive: true }, (_, filename) => { + if (!filename?.includes("dist") || filename.includes("dist/admin")) return; + if (!/\.(js|mjs|cjs)$/.test(filename)) return; + restartStrapi(filename); + }); + } } diff --git a/packages/dev-utils/src/index.ts b/packages/dev-utils/src/index.ts new file mode 100644 index 0000000..cf7eeb5 --- /dev/null +++ b/packages/dev-utils/src/index.ts @@ -0,0 +1,9 @@ +export { + cleanupDir, + getFreePort, + playgroundDir, + setupStrapi, + stopStrapi, +} from "./strapi"; + +export { createPlaywrightConfig, registerAuthSetup } from "./playwright"; diff --git a/packages/dev-utils/src/playwright.ts b/packages/dev-utils/src/playwright.ts new file mode 100644 index 0000000..7a38dc9 --- /dev/null +++ b/packages/dev-utils/src/playwright.ts @@ -0,0 +1,85 @@ +import { join } from "node:path"; +import { defineConfig, devices, expect, test as setup } from "@playwright/test"; +import { setupDb } from "./db"; + +export function createPlaywrightConfig(options: { testDir: string }) { + const PORT = process.env.STRAPI_PORT ?? String(10000 + (process.pid % 50000)); + const baseURL = + process.env.PLAYWRIGHT_TEST_BASE_URL ?? + process.env.STRAPI_BASE_URL ?? + `http://localhost:${PORT}`; + process.env.PLAYWRIGHT_TEST_BASE_URL ??= baseURL; + + const dbEnv = setupDb(String(process.pid)); + + return defineConfig({ + testDir: options.testDir, + fullyParallel: false, + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + workers: 10, + reporter: "html", + use: { + baseURL, + trace: "on-first-retry", + screenshot: "only-on-failure", + }, + webServer: { + command: process.env.CI + ? "cd ../../apps/playground/ && pnpm run start" + : "cd ../../apps/playground/ && pnpm run dev", + reuseExistingServer: !process.env.CI, + timeout: 180_000, + env: { + PORT, + APP_KEYS: "test-app-key-1,test-app-key-2,test-app-key-3,test-app-key-4", + API_TOKEN_SALT: "test-api-token-salt", + ADMIN_JWT_SECRET: "test-admin-jwt-secret", + TRANSFER_TOKEN_SALT: "test-transfer-token-salt", + ENCRYPTION_KEY: "test-encryption-key-1234567890", + JWT_SECRET: "test-jwt-secret", + BETTER_AUTH_URL: baseURL, + STRAPI_URL: `http://localhost:${PORT}`, + ...dbEnv, + }, + // Strapi logs "Strapi started successfully" to stdout after the HTTP server + // is fully ready (including after any hot-reload recompile). + wait: { + stdout: /Strapi started successfully/, + }, + }, + projects: [ + { + name: "setup", + testMatch: "**/setup/auth.setup.ts", + }, + { + name: "chromium", + use: { + ...devices["Desktop Chrome"], + storageState: `${options.testDir}/.auth/user.json`, + }, + dependencies: ["setup"], + }, + ], + }); +} + +export function registerAuthSetup(authFilePath: string) { + setup("authenticate", async ({ page }) => { + await page.goto("/admin/auth/login"); + + await page.getByLabel("First name").fill("John"); + await page.getByLabel("Email").fill("johndoe@example.com"); + await page.getByLabel("Password*", { exact: true }).fill("Abc12345678"); + await page + .getByLabel("Confirm Password*", { exact: true }) + .fill("Abc12345678"); + + await page.getByRole("button", { name: /let's start/i }).click(); + + await expect(page).toHaveURL(/\/admin(?!\/auth)/); + + await page.context().storageState({ path: authFilePath }); + }); +} diff --git a/packages/plugin-api-permissions/server/test/utils.ts b/packages/dev-utils/src/strapi.ts similarity index 62% rename from packages/plugin-api-permissions/server/test/utils.ts rename to packages/dev-utils/src/strapi.ts index 2640251..f3a6f2a 100644 --- a/packages/plugin-api-permissions/server/test/utils.ts +++ b/packages/dev-utils/src/strapi.ts @@ -1,18 +1,19 @@ -import assert from "node:assert"; -import fs from "node:fs"; import fspromises from "node:fs/promises"; import { createRequire } from "node:module"; import net from "node:net"; import path from "node:path"; import { threadId } from "node:worker_threads"; import type { Core } from "@strapi/strapi"; +import { setupDb } from "./db"; -const require = createRequire(import.meta.url); +// Packages in this monorepo live at packages/; playground is at apps/playground +export const playgroundDir = path.resolve(process.cwd(), "../../apps/playground"); + +const _require = createRequire(playgroundDir + "/package.json"); const { compileStrapi, createStrapi } = - require("@strapi/strapi") as typeof import("@strapi/strapi"); + _require("@strapi/strapi") as typeof import("@strapi/strapi"); -/** Find a free TCP port on localhost. */ -function getFreePort(): Promise { +export function getFreePort(): Promise { return new Promise((resolve, reject) => { const srv = net.createServer(); srv.listen(0, "127.0.0.1", () => { @@ -24,15 +25,11 @@ function getFreePort(): Promise { } // threadId is unique per worker thread within a process; safe for parallel test files -const instanceId = `${process.pid}-${threadId}`; +const instanceId = `${process.pid}_${threadId}`; let instance: Core.Strapi | undefined; export async function setupStrapi() { - const playgroundDir = path.resolve(process.cwd(), "../../apps/playground"); - const databaseFilename = `.tmp/vitest-${instanceId}.db`; - const databasePath = path.join(playgroundDir, databaseFilename); - const port = await getFreePort(); process.env.APP_KEYS ??= @@ -44,9 +41,8 @@ export async function setupStrapi() { process.env.JWT_SECRET ??= "test-jwt-secret"; process.env.BETTER_AUTH_URL = `http://localhost:${port}`; process.env.PORT = String(port); - process.env.DATABASE_FILENAME = databaseFilename; - await fspromises.rm(databasePath, { force: true }); + setupDb(instanceId); if (!instance) { const appContext = await compileStrapi({ @@ -55,25 +51,35 @@ export async function setupStrapi() { }); const strapi = await createStrapi(appContext).load(); await strapi.start(); - - instance = strapi; // strapi is global now + instance = strapi; } } export async function stopStrapi() { if (instance) { - const tmpDbFile = instance.config.get( - "database.connection.connection.filename", - ); - - assert(typeof tmpDbFile === "string"); - await instance.destroy(); - - if (fs.existsSync(tmpDbFile)) { - fs.unlinkSync(tmpDbFile); - } - instance = undefined; } } + +export const cleanupDir = async (dir: string) => { + if ( + !dir || + (await fspromises + .access(dir) + .then(() => false) + .catch(() => true)) + ) { + return; + } + + try { + const dirContent = await fspromises.readdir(dir); + const validFilenames = dirContent.filter((f) => f !== "build"); + for (const filename of validFilenames) { + await fspromises.rm(path.resolve(dir, filename), { recursive: true }); + } + } catch { + return; + } +}; diff --git a/packages/dev-utils/tsconfig.json b/packages/dev-utils/tsconfig.json new file mode 100644 index 0000000..f9b9f34 --- /dev/null +++ b/packages/dev-utils/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "CommonJS", + "moduleResolution": "Node", + "strict": true, + "esModuleInterop": true + }, + "include": ["src"] +} diff --git a/packages/plugin-api-permissions/.lintstagedrc b/packages/plugin-api-permissions/.lintstagedrc deleted file mode 100644 index f9376f0..0000000 --- a/packages/plugin-api-permissions/.lintstagedrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts,js,cjs,mjs,jsx,json,jsonc}": ["pnpm run lint"], - "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run check-types'"] -} \ No newline at end of file diff --git a/packages/plugin-api-permissions/admin/test/setup/auth.setup.ts b/packages/plugin-api-permissions/admin/test/setup/auth.setup.ts deleted file mode 100644 index 2808237..0000000 --- a/packages/plugin-api-permissions/admin/test/setup/auth.setup.ts +++ /dev/null @@ -1,21 +0,0 @@ -import path from "node:path"; -import { expect, test as setup } from "@playwright/test"; - -const authFile = path.join(__dirname, "../.auth/user.json"); - -setup("authenticate", async ({ page }) => { - await page.goto("/admin/auth/login"); - - await page.getByLabel("First name").fill("John"); - await page.getByLabel("Email").fill("johndoe@example.com"); - await page.getByLabel("Password*", { exact: true }).fill("Abc12345678"); - await page - .getByLabel("Confirm Password*", { exact: true }) - .fill("Abc12345678"); - - await page.getByRole("button", { name: /let's start/i }).click(); - - await expect(page).toHaveURL(/\/admin(?!\/auth)/); - - await page.context().storageState({ path: authFile }); -}); diff --git a/packages/plugin-api-permissions/admin/test/teardown/db.teardown.ts b/packages/plugin-api-permissions/admin/test/teardown/db.teardown.ts deleted file mode 100644 index 64fc632..0000000 --- a/packages/plugin-api-permissions/admin/test/teardown/db.teardown.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { existsSync, rmSync } from "node:fs"; -import { join } from "node:path"; -import { test as teardown } from "@playwright/test"; - -teardown("delete database", async () => { - const dbFilename = process.env.PLAYWRIGHT_DATABASE_FILENAME; - if (!dbFilename) return; - const dbPath = join(__dirname, "../../../../../apps/playground", dbFilename); - if (existsSync(dbPath)) { - rmSync(dbPath); - } -}); diff --git a/packages/plugin-api-permissions/playwright.config.ts b/packages/plugin-api-permissions/playwright.config.ts deleted file mode 100644 index 15917e3..0000000 --- a/packages/plugin-api-permissions/playwright.config.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { defineConfig, devices } from "@playwright/test"; - -const PORT = process.env.STRAPI_PORT ?? String(10000 + (process.pid % 50000)); -const baseURL = - process.env.PLAYWRIGHT_TEST_BASE_URL ?? - process.env.STRAPI_BASE_URL ?? - `http://localhost:${PORT}`; -process.env.PLAYWRIGHT_TEST_BASE_URL ??= baseURL; -const databaseFilename = `.tmp/playwright-${process.pid}.db`; -process.env.PLAYWRIGHT_DATABASE_FILENAME ??= databaseFilename; - -export default defineConfig({ - testDir: "./admin/test", - fullyParallel: false, - forbidOnly: !!process.env.CI, - retries: process.env.CI ? 2 : 0, - workers: 1, - reporter: "html", - use: { - baseURL, - trace: "on-first-retry", - screenshot: "only-on-failure", - }, - webServer: { - command: "cd ../../apps/playground/ && pnpm run dev", - reuseExistingServer: !process.env.CI, - timeout: 180_000, - env: { - PORT, - APP_KEYS: "test-app-key-1,test-app-key-2,test-app-key-3,test-app-key-4", - API_TOKEN_SALT: "test-api-token-salt", - ADMIN_JWT_SECRET: "test-admin-jwt-secret", - TRANSFER_TOKEN_SALT: "test-transfer-token-salt", - ENCRYPTION_KEY: "test-encryption-key-1234567890", - JWT_SECRET: "test-jwt-secret", - BETTER_AUTH_URL: baseURL, - STRAPI_URL: `http://localhost:${PORT}`, - DATABASE_FILENAME: databaseFilename, - }, - // Strapi logs "Strapi started successfully" to stdout after the HTTP server - // is fully ready (including after any hot-reload recompile). - wait: { - stdout: /Strapi started successfully/, - }, - }, - projects: [ - { - name: "setup", - testMatch: "**/setup/auth.setup.ts", - teardown: "teardown", - }, - { - name: "teardown", - testMatch: "**/teardown/db.teardown.ts", - }, - { - name: "chromium", - use: { - ...devices["Desktop Chrome"], - storageState: "./admin/test/.auth/user.json", - }, - dependencies: ["setup"], - }, - ], -}); diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/PluginIcon.tsx b/packages/plugin-better-auth-dashboard/admin/src/components/PluginIcon.tsx deleted file mode 100644 index 4532db6..0000000 --- a/packages/plugin-better-auth-dashboard/admin/src/components/PluginIcon.tsx +++ /dev/null @@ -1,38 +0,0 @@ -export const PluginIcon = ({ - size = 16, - background = 'transparent', - opacity = 1, - rotation = 0, - shadow = 0, - flipHorizontal = false, - flipVertical = false, - padding = 0 -}) => { - const transforms = []; - if (rotation !== 0) transforms.push(`rotate(${rotation}deg)`); - if (flipHorizontal) transforms.push('scaleX(-1)'); - if (flipVertical) transforms.push('scaleY(-1)'); - - const viewBoxSize = 24 + (padding * 2); - const viewBoxOffset = -padding; - const viewBox = `${viewBoxOffset} ${viewBoxOffset} ${viewBoxSize} ${viewBoxSize}`; - - return ( - 0 ? `drop-shadow(0 ${shadow}px ${shadow * 2}px rgba(0,0,0,0.3))` : undefined, - backgroundColor: background !== 'transparent' ? background : undefined - }} - > - Better Auth Logo - - - ); -}; diff --git a/packages/plugin-better-auth-dashboard/admin/test/setup/auth.setup.ts b/packages/plugin-better-auth-dashboard/admin/test/setup/auth.setup.ts deleted file mode 100644 index 2808237..0000000 --- a/packages/plugin-better-auth-dashboard/admin/test/setup/auth.setup.ts +++ /dev/null @@ -1,21 +0,0 @@ -import path from "node:path"; -import { expect, test as setup } from "@playwright/test"; - -const authFile = path.join(__dirname, "../.auth/user.json"); - -setup("authenticate", async ({ page }) => { - await page.goto("/admin/auth/login"); - - await page.getByLabel("First name").fill("John"); - await page.getByLabel("Email").fill("johndoe@example.com"); - await page.getByLabel("Password*", { exact: true }).fill("Abc12345678"); - await page - .getByLabel("Confirm Password*", { exact: true }) - .fill("Abc12345678"); - - await page.getByRole("button", { name: /let's start/i }).click(); - - await expect(page).toHaveURL(/\/admin(?!\/auth)/); - - await page.context().storageState({ path: authFile }); -}); diff --git a/packages/plugin-better-auth-dashboard/admin/test/teardown/db.teardown.ts b/packages/plugin-better-auth-dashboard/admin/test/teardown/db.teardown.ts deleted file mode 100644 index 64fc632..0000000 --- a/packages/plugin-better-auth-dashboard/admin/test/teardown/db.teardown.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { existsSync, rmSync } from "node:fs"; -import { join } from "node:path"; -import { test as teardown } from "@playwright/test"; - -teardown("delete database", async () => { - const dbFilename = process.env.PLAYWRIGHT_DATABASE_FILENAME; - if (!dbFilename) return; - const dbPath = join(__dirname, "../../../../../apps/playground", dbFilename); - if (existsSync(dbPath)) { - rmSync(dbPath); - } -}); diff --git a/packages/plugin-better-auth-dashboard/playwright.config.ts b/packages/plugin-better-auth-dashboard/playwright.config.ts deleted file mode 100644 index 15917e3..0000000 --- a/packages/plugin-better-auth-dashboard/playwright.config.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { defineConfig, devices } from "@playwright/test"; - -const PORT = process.env.STRAPI_PORT ?? String(10000 + (process.pid % 50000)); -const baseURL = - process.env.PLAYWRIGHT_TEST_BASE_URL ?? - process.env.STRAPI_BASE_URL ?? - `http://localhost:${PORT}`; -process.env.PLAYWRIGHT_TEST_BASE_URL ??= baseURL; -const databaseFilename = `.tmp/playwright-${process.pid}.db`; -process.env.PLAYWRIGHT_DATABASE_FILENAME ??= databaseFilename; - -export default defineConfig({ - testDir: "./admin/test", - fullyParallel: false, - forbidOnly: !!process.env.CI, - retries: process.env.CI ? 2 : 0, - workers: 1, - reporter: "html", - use: { - baseURL, - trace: "on-first-retry", - screenshot: "only-on-failure", - }, - webServer: { - command: "cd ../../apps/playground/ && pnpm run dev", - reuseExistingServer: !process.env.CI, - timeout: 180_000, - env: { - PORT, - APP_KEYS: "test-app-key-1,test-app-key-2,test-app-key-3,test-app-key-4", - API_TOKEN_SALT: "test-api-token-salt", - ADMIN_JWT_SECRET: "test-admin-jwt-secret", - TRANSFER_TOKEN_SALT: "test-transfer-token-salt", - ENCRYPTION_KEY: "test-encryption-key-1234567890", - JWT_SECRET: "test-jwt-secret", - BETTER_AUTH_URL: baseURL, - STRAPI_URL: `http://localhost:${PORT}`, - DATABASE_FILENAME: databaseFilename, - }, - // Strapi logs "Strapi started successfully" to stdout after the HTTP server - // is fully ready (including after any hot-reload recompile). - wait: { - stdout: /Strapi started successfully/, - }, - }, - projects: [ - { - name: "setup", - testMatch: "**/setup/auth.setup.ts", - teardown: "teardown", - }, - { - name: "teardown", - testMatch: "**/teardown/db.teardown.ts", - }, - { - name: "chromium", - use: { - ...devices["Desktop Chrome"], - storageState: "./admin/test/.auth/user.json", - }, - dependencies: ["setup"], - }, - ], -}); diff --git a/packages/plugin-better-auth/.lintstagedrc b/packages/plugin-better-auth/.lintstagedrc deleted file mode 100644 index f9376f0..0000000 --- a/packages/plugin-better-auth/.lintstagedrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts,js,cjs,mjs,jsx,json,jsonc}": ["pnpm run lint"], - "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run check-types'"] -} \ No newline at end of file diff --git a/packages/plugin-better-auth/server/test/utils.ts b/packages/plugin-better-auth/server/test/utils.ts deleted file mode 100644 index 229949f..0000000 --- a/packages/plugin-better-auth/server/test/utils.ts +++ /dev/null @@ -1,115 +0,0 @@ -import assert from "node:assert"; -import fs from "node:fs"; -import fspromises from "node:fs/promises"; -import { createRequire } from "node:module"; -import net from "node:net"; -import path, { resolve } from "node:path"; -import { threadId } from "node:worker_threads"; -import type { Core } from "@strapi/strapi"; -import { getExistingBAContentTypes } from "../src/adapter/transformers"; - -const require = createRequire(import.meta.url); -const { compileStrapi, createStrapi } = - require("@strapi/strapi") as typeof import("@strapi/strapi"); - -/** Find a free TCP port on localhost. */ -function getFreePort(): Promise { - return new Promise((resolve, reject) => { - const srv = net.createServer(); - srv.listen(0, "127.0.0.1", () => { - const addr = srv.address(); - srv.close(() => resolve((addr as net.AddressInfo).port)); - }); - srv.on("error", reject); - }); -} - -// threadId is unique per worker thread within a process; safe for parallel test files -const instanceId = `${process.pid}-${threadId}`; - -let instance: Core.Strapi | undefined; -export const playgroundDir = path.resolve( - process.cwd(), - "../../apps/playground", -); - -/** - * Setups strapi for futher testing - */ -export async function setupStrapi() { - const playgroundDir = path.resolve(process.cwd(), "../../apps/playground"); - const databaseFilename = `.tmp/vitest-${instanceId}.db`; - const databasePath = path.join(playgroundDir, databaseFilename); - - const port = await getFreePort(); - - process.env.APP_KEYS ??= - "test-app-key-1,test-app-key-2,test-app-key-3,test-app-key-4"; - process.env.API_TOKEN_SALT ??= "test-api-token-salt"; - process.env.ADMIN_JWT_SECRET ??= "test-admin-jwt-secret"; - process.env.TRANSFER_TOKEN_SALT ??= "test-transfer-token-salt"; - process.env.ENCRYPTION_KEY ??= "test-encryption-key-1234567890"; - process.env.JWT_SECRET ??= "test-jwt-secret"; - process.env.BETTER_AUTH_URL = `http://localhost:${port}`; - process.env.PORT = String(port); - process.env.DATABASE_FILENAME = databaseFilename; - - await fspromises.rm(databasePath, { force: true }); - - if (!instance) { - const appContext = await compileStrapi({ - appDir: playgroundDir, - ignoreDiagnostics: true, - }); - const strapi = await createStrapi(appContext).load(); - await strapi.start(); - - instance = strapi; // strapi is global now - } -} - -// This method removes all non-admin build files from the dist directory -export const cleanupDir = async (dir: string) => { - if ( - !dir || // we don't have a dist dir - (await fspromises - .access(dir) - .then(() => false) - .catch(() => true)) // it doesn't exist -- if it does but no access, that will be caught later - ) { - return; - } - - try { - const dirContent = await fspromises.readdir(dir); - const validFilenames = dirContent - // Ignore the admin build folder - .filter((filename) => filename !== "build"); - for (const filename of validFilenames) { - await fspromises.rm(resolve(dir, filename), { recursive: true }); - } - } catch { - return; - } -}; - -/** - * Closes strapi after testing - */ -export async function stopStrapi() { - if (instance) { - const tmpDbFile = instance.config.get( - "database.connection.connection.filename", - ); - - assert(typeof tmpDbFile === "string"); - - await instance.destroy(); - - if (fs.existsSync(tmpDbFile)) { - fs.unlinkSync(tmpDbFile); - } - - instance = undefined; - } -} diff --git a/packages/plugin-api-permissions/.gitignore b/plugins/plugin-api-permissions/.gitignore similarity index 100% rename from packages/plugin-api-permissions/.gitignore rename to plugins/plugin-api-permissions/.gitignore diff --git a/plugins/plugin-api-permissions/.lintstagedrc b/plugins/plugin-api-permissions/.lintstagedrc new file mode 100644 index 0000000..e37405e --- /dev/null +++ b/plugins/plugin-api-permissions/.lintstagedrc @@ -0,0 +1,4 @@ +{ + "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts,js,cjs,mjs,jsx,json,jsonc}": ["pnpm run lint"], + "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run lint:ts:server'", "bash -c 'pnpm run lint:ts:admin'"] +} \ No newline at end of file diff --git a/packages/plugin-api-permissions/LICENSE.md b/plugins/plugin-api-permissions/LICENSE.md similarity index 100% rename from packages/plugin-api-permissions/LICENSE.md rename to plugins/plugin-api-permissions/LICENSE.md diff --git a/packages/plugin-api-permissions/README.md b/plugins/plugin-api-permissions/README.md similarity index 100% rename from packages/plugin-api-permissions/README.md rename to plugins/plugin-api-permissions/README.md diff --git a/packages/plugin-api-permissions/admin/src/index.ts b/plugins/plugin-api-permissions/admin/src/index.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/index.ts rename to plugins/plugin-api-permissions/admin/src/index.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/CreatePage.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/CreatePage.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/CreatePage.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/CreatePage.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/EditPage.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/EditPage.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/EditPage.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/EditPage.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/ListPage.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/ListPage.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/ListPage.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/ListPage.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypeCollapses.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypeCollapses.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypeCollapses.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypeCollapses.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypes.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypes.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypes.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/ContentTypes.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/GlobalActions.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/GlobalActions.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/GlobalActions.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/GlobalActions.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/HiddenAction.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/HiddenAction.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/HiddenAction.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/HiddenAction.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/PluginsPermissions.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/PluginsPermissions.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/PluginsPermissions.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/PluginsPermissions.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/index.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/index.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/index.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/Permissions/index.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/components/TableBody.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/components/TableBody.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/components/TableBody.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/components/TableBody.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/constants.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/constants.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/constants.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/constants.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/contexts/PermissionsContext.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/contexts/PermissionsContext.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/contexts/PermissionsContext.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/contexts/PermissionsContext.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/index.tsx b/plugins/plugin-api-permissions/admin/src/pages/Roles/index.tsx similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/index.tsx rename to plugins/plugin-api-permissions/admin/src/pages/Roles/index.tsx diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/paths.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/paths.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/paths.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/paths.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/utils/constants.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/utils/constants.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/utils/constants.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/utils/constants.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/utils/getCheckboxState.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/utils/getCheckboxState.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/utils/getCheckboxState.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/utils/getCheckboxState.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/utils/getTrad.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/utils/getTrad.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/utils/getTrad.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/utils/getTrad.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/utils/pluginId.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/utils/pluginId.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/utils/pluginId.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/utils/pluginId.ts diff --git a/packages/plugin-api-permissions/admin/src/pages/Roles/utils/transform.ts b/plugins/plugin-api-permissions/admin/src/pages/Roles/utils/transform.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/pages/Roles/utils/transform.ts rename to plugins/plugin-api-permissions/admin/src/pages/Roles/utils/transform.ts diff --git a/packages/plugin-api-permissions/admin/src/types/content-api.ts b/plugins/plugin-api-permissions/admin/src/types/content-api.ts similarity index 100% rename from packages/plugin-api-permissions/admin/src/types/content-api.ts rename to plugins/plugin-api-permissions/admin/src/types/content-api.ts diff --git a/packages/plugin-api-permissions/admin/test/.auth/.gitkeep b/plugins/plugin-api-permissions/admin/test/.auth/.gitkeep similarity index 100% rename from packages/plugin-api-permissions/admin/test/.auth/.gitkeep rename to plugins/plugin-api-permissions/admin/test/.auth/.gitkeep diff --git a/packages/plugin-api-permissions/admin/test/e2e/roles.spec.ts b/plugins/plugin-api-permissions/admin/test/e2e/roles.spec.ts similarity index 100% rename from packages/plugin-api-permissions/admin/test/e2e/roles.spec.ts rename to plugins/plugin-api-permissions/admin/test/e2e/roles.spec.ts diff --git a/plugins/plugin-api-permissions/admin/test/setup/auth.setup.ts b/plugins/plugin-api-permissions/admin/test/setup/auth.setup.ts new file mode 100644 index 0000000..c930b14 --- /dev/null +++ b/plugins/plugin-api-permissions/admin/test/setup/auth.setup.ts @@ -0,0 +1,4 @@ +import path from "node:path"; +import { registerAuthSetup } from "@strapi-community/dev-utils"; + +registerAuthSetup(path.join(__dirname, "../.auth/user.json")); diff --git a/packages/plugin-api-permissions/admin/tsconfig.build.json b/plugins/plugin-api-permissions/admin/tsconfig.build.json similarity index 100% rename from packages/plugin-api-permissions/admin/tsconfig.build.json rename to plugins/plugin-api-permissions/admin/tsconfig.build.json diff --git a/packages/plugin-api-permissions/admin/tsconfig.json b/plugins/plugin-api-permissions/admin/tsconfig.json similarity index 100% rename from packages/plugin-api-permissions/admin/tsconfig.json rename to plugins/plugin-api-permissions/admin/tsconfig.json diff --git a/packages/plugin-api-permissions/package.json b/plugins/plugin-api-permissions/package.json similarity index 90% rename from packages/plugin-api-permissions/package.json rename to plugins/plugin-api-permissions/package.json index 9fe1b76..67dbbd1 100644 --- a/packages/plugin-api-permissions/package.json +++ b/plugins/plugin-api-permissions/package.json @@ -12,7 +12,7 @@ "license": "MIT", "author": { "name": "Boaz Poolman", - "email": "boaz@pluginpal.io", + "email": "boaz.poolman@strapi.io", "url": "https://github.com/boazpoolman" }, "bugs": { @@ -22,7 +22,7 @@ "repository": { "type": "git", "url": "git+https://github.com/strapi-community/plugin-better-auth.git", - "directory": "packages/plugin-api-permissions" + "directory": "plugins/plugin-api-permissions" }, "type": "commonjs", "exports": { @@ -47,9 +47,8 @@ "build": "strapi-plugin build", "watch": "strapi-plugin watch", "dev": "strapi-plugin watch", - "test:ts:server": "cd server && tsc --noEmit", - "test:ts:admin": "cd admin && tsc --noEmit", - "check-types": "pnpm run test:ts:server && pnpm run test:ts:admin", + "lint:ts:server": "cd server && tsc --noEmit", + "lint:ts:admin": "cd admin && tsc --noEmit", "lint": "biome check --fix", "test:integration": "vitest run", "test:e2e": "playwright test" @@ -61,6 +60,7 @@ "@biomejs/biome": "^2.3.11", "vitest": "^4.1.0", "@playwright/test": "catalog:playwright", + "@strapi-community/dev-utils": "workspace:*", "@strapi/sdk-plugin": "^6.0.0", "@strapi/strapi": "catalog:strapi", "@strapi/typescript-utils": "catalog:strapi", diff --git a/plugins/plugin-api-permissions/playwright.config.ts b/plugins/plugin-api-permissions/playwright.config.ts new file mode 100644 index 0000000..f53883d --- /dev/null +++ b/plugins/plugin-api-permissions/playwright.config.ts @@ -0,0 +1,3 @@ +import { createPlaywrightConfig } from "@strapi-community/dev-utils"; + +export default createPlaywrightConfig({ testDir: "./admin/test" }); diff --git a/packages/plugin-api-permissions/server/src/bootstrap.ts b/plugins/plugin-api-permissions/server/src/bootstrap.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/bootstrap.ts rename to plugins/plugin-api-permissions/server/src/bootstrap.ts diff --git a/packages/plugin-api-permissions/server/src/config.ts b/plugins/plugin-api-permissions/server/src/config.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/config.ts rename to plugins/plugin-api-permissions/server/src/config.ts diff --git a/packages/plugin-api-permissions/server/src/content-types/index.ts b/plugins/plugin-api-permissions/server/src/content-types/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/content-types/index.ts rename to plugins/plugin-api-permissions/server/src/content-types/index.ts diff --git a/packages/plugin-api-permissions/server/src/content-types/permission.ts b/plugins/plugin-api-permissions/server/src/content-types/permission.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/content-types/permission.ts rename to plugins/plugin-api-permissions/server/src/content-types/permission.ts diff --git a/packages/plugin-api-permissions/server/src/content-types/role.ts b/plugins/plugin-api-permissions/server/src/content-types/role.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/content-types/role.ts rename to plugins/plugin-api-permissions/server/src/content-types/role.ts diff --git a/packages/plugin-api-permissions/server/src/controllers/index.ts b/plugins/plugin-api-permissions/server/src/controllers/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/controllers/index.ts rename to plugins/plugin-api-permissions/server/src/controllers/index.ts diff --git a/packages/plugin-api-permissions/server/src/controllers/permission.ts b/plugins/plugin-api-permissions/server/src/controllers/permission.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/controllers/permission.ts rename to plugins/plugin-api-permissions/server/src/controllers/permission.ts diff --git a/packages/plugin-api-permissions/server/src/controllers/role.ts b/plugins/plugin-api-permissions/server/src/controllers/role.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/controllers/role.ts rename to plugins/plugin-api-permissions/server/src/controllers/role.ts diff --git a/packages/plugin-api-permissions/server/src/index.ts b/plugins/plugin-api-permissions/server/src/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/index.ts rename to plugins/plugin-api-permissions/server/src/index.ts diff --git a/packages/plugin-api-permissions/server/src/middlewares/include-user-count.ts b/plugins/plugin-api-permissions/server/src/middlewares/include-user-count.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/middlewares/include-user-count.ts rename to plugins/plugin-api-permissions/server/src/middlewares/include-user-count.ts diff --git a/packages/plugin-api-permissions/server/src/middlewares/reassign-orphaned-users.ts b/plugins/plugin-api-permissions/server/src/middlewares/reassign-orphaned-users.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/middlewares/reassign-orphaned-users.ts rename to plugins/plugin-api-permissions/server/src/middlewares/reassign-orphaned-users.ts diff --git a/packages/plugin-api-permissions/server/src/register.ts b/plugins/plugin-api-permissions/server/src/register.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/register.ts rename to plugins/plugin-api-permissions/server/src/register.ts diff --git a/packages/plugin-api-permissions/server/src/routes/admin/index.ts b/plugins/plugin-api-permissions/server/src/routes/admin/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/routes/admin/index.ts rename to plugins/plugin-api-permissions/server/src/routes/admin/index.ts diff --git a/packages/plugin-api-permissions/server/src/routes/admin/role.ts b/plugins/plugin-api-permissions/server/src/routes/admin/role.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/routes/admin/role.ts rename to plugins/plugin-api-permissions/server/src/routes/admin/role.ts diff --git a/packages/plugin-api-permissions/server/src/routes/index.ts b/plugins/plugin-api-permissions/server/src/routes/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/routes/index.ts rename to plugins/plugin-api-permissions/server/src/routes/index.ts diff --git a/packages/plugin-api-permissions/server/src/services/index.ts b/plugins/plugin-api-permissions/server/src/services/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/services/index.ts rename to plugins/plugin-api-permissions/server/src/services/index.ts diff --git a/packages/plugin-api-permissions/server/src/services/permission.ts b/plugins/plugin-api-permissions/server/src/services/permission.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/services/permission.ts rename to plugins/plugin-api-permissions/server/src/services/permission.ts diff --git a/packages/plugin-api-permissions/server/src/services/role.ts b/plugins/plugin-api-permissions/server/src/services/role.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/services/role.ts rename to plugins/plugin-api-permissions/server/src/services/role.ts diff --git a/packages/plugin-api-permissions/server/src/services/session.ts b/plugins/plugin-api-permissions/server/src/services/session.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/services/session.ts rename to plugins/plugin-api-permissions/server/src/services/session.ts diff --git a/packages/plugin-api-permissions/server/src/strategies/content-api.ts b/plugins/plugin-api-permissions/server/src/strategies/content-api.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/strategies/content-api.ts rename to plugins/plugin-api-permissions/server/src/strategies/content-api.ts diff --git a/packages/plugin-api-permissions/server/src/types/koa.d.ts b/plugins/plugin-api-permissions/server/src/types/koa.d.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/types/koa.d.ts rename to plugins/plugin-api-permissions/server/src/types/koa.d.ts diff --git a/packages/plugin-api-permissions/server/src/utils/index.ts b/plugins/plugin-api-permissions/server/src/utils/index.ts similarity index 100% rename from packages/plugin-api-permissions/server/src/utils/index.ts rename to plugins/plugin-api-permissions/server/src/utils/index.ts diff --git a/packages/plugin-api-permissions/server/test/auth-strategy.test.ts b/plugins/plugin-api-permissions/server/test/auth-strategy.test.ts similarity index 98% rename from packages/plugin-api-permissions/server/test/auth-strategy.test.ts rename to plugins/plugin-api-permissions/server/test/auth-strategy.test.ts index 0eb08a5..3dbbc0a 100644 --- a/packages/plugin-api-permissions/server/test/auth-strategy.test.ts +++ b/plugins/plugin-api-permissions/server/test/auth-strategy.test.ts @@ -1,3 +1,4 @@ +import { setupStrapi, stopStrapi } from "@strapi-community/dev-utils"; import request from "supertest"; import { afterAll, @@ -9,7 +10,6 @@ import { it, } from "vitest"; import { getPluginService, PERMISSION_UID, ROLE_UID } from "../src/utils"; -import { setupStrapi, stopStrapi } from "./utils"; beforeAll(async () => { await setupStrapi(); diff --git a/packages/plugin-api-permissions/server/test/middlewares.test.ts b/plugins/plugin-api-permissions/server/test/middlewares.test.ts similarity index 98% rename from packages/plugin-api-permissions/server/test/middlewares.test.ts rename to plugins/plugin-api-permissions/server/test/middlewares.test.ts index 2cab6d1..12071ca 100644 --- a/packages/plugin-api-permissions/server/test/middlewares.test.ts +++ b/plugins/plugin-api-permissions/server/test/middlewares.test.ts @@ -1,6 +1,6 @@ +import { setupStrapi, stopStrapi } from "@strapi-community/dev-utils"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; import { getUserUID, ROLE_UID } from "../src/utils"; -import { setupStrapi, stopStrapi } from "./utils"; beforeAll(async () => { await setupStrapi(); diff --git a/packages/plugin-api-permissions/server/tsconfig.build.json b/plugins/plugin-api-permissions/server/tsconfig.build.json similarity index 100% rename from packages/plugin-api-permissions/server/tsconfig.build.json rename to plugins/plugin-api-permissions/server/tsconfig.build.json diff --git a/packages/plugin-api-permissions/server/tsconfig.json b/plugins/plugin-api-permissions/server/tsconfig.json similarity index 100% rename from packages/plugin-api-permissions/server/tsconfig.json rename to plugins/plugin-api-permissions/server/tsconfig.json diff --git a/packages/plugin-api-permissions/server/types/generated b/plugins/plugin-api-permissions/server/types/generated similarity index 100% rename from packages/plugin-api-permissions/server/types/generated rename to plugins/plugin-api-permissions/server/types/generated diff --git a/packages/plugin-api-permissions/vitest.config.ts b/plugins/plugin-api-permissions/vitest.config.ts similarity index 90% rename from packages/plugin-api-permissions/vitest.config.ts rename to plugins/plugin-api-permissions/vitest.config.ts index a0ff2ad..b186d61 100644 --- a/packages/plugin-api-permissions/vitest.config.ts +++ b/plugins/plugin-api-permissions/vitest.config.ts @@ -3,6 +3,7 @@ import { defineProject } from "vitest/config"; export default defineProject({ test: { pool: "threads", + maxWorkers: 1, include: ["server/test/**/*.test.ts"], hookTimeout: 60000, }, diff --git a/packages/plugin-better-auth-dashboard/.gitignore b/plugins/plugin-better-auth-dashboard/.gitignore similarity index 100% rename from packages/plugin-better-auth-dashboard/.gitignore rename to plugins/plugin-better-auth-dashboard/.gitignore diff --git a/plugins/plugin-better-auth-dashboard/.lintstagedrc b/plugins/plugin-better-auth-dashboard/.lintstagedrc new file mode 100644 index 0000000..e37405e --- /dev/null +++ b/plugins/plugin-better-auth-dashboard/.lintstagedrc @@ -0,0 +1,4 @@ +{ + "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts,js,cjs,mjs,jsx,json,jsonc}": ["pnpm run lint"], + "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run lint:ts:server'", "bash -c 'pnpm run lint:ts:admin'"] +} \ No newline at end of file diff --git a/packages/plugin-better-auth-dashboard/LICENSE.md b/plugins/plugin-better-auth-dashboard/LICENSE.md similarity index 100% rename from packages/plugin-better-auth-dashboard/LICENSE.md rename to plugins/plugin-better-auth-dashboard/LICENSE.md diff --git a/packages/plugin-better-auth-dashboard/README.md b/plugins/plugin-better-auth-dashboard/README.md similarity index 100% rename from packages/plugin-better-auth-dashboard/README.md rename to plugins/plugin-better-auth-dashboard/README.md diff --git a/packages/plugin-better-auth-dashboard/admin/src/client.ts b/plugins/plugin-better-auth-dashboard/admin/src/client.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/client.ts rename to plugins/plugin-better-auth-dashboard/admin/src/client.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/Avatar.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/Avatar.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/Avatar.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/Avatar.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/ConfirmDialog.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/ConfirmDialog.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/ConfirmDialog.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/ConfirmDialog.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/Drawer.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/Drawer.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/Drawer.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/Drawer.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/DynamicField.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/DynamicField.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/DynamicField.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/DynamicField.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/EditViewSidePanels.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/EditViewSidePanels.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/EditViewSidePanels.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/EditViewSidePanels.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/FormPrimitives.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/FormPrimitives.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/FormPrimitives.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/FormPrimitives.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/MediaPickerField.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/MediaPickerField.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/MediaPickerField.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/MediaPickerField.tsx diff --git a/plugins/plugin-better-auth-dashboard/admin/src/components/PluginIcon.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/PluginIcon.tsx new file mode 100644 index 0000000..635c2fc --- /dev/null +++ b/plugins/plugin-better-auth-dashboard/admin/src/components/PluginIcon.tsx @@ -0,0 +1,44 @@ +export const PluginIcon = ({ + size = 16, + background = "transparent", + opacity = 1, + rotation = 0, + shadow = 0, + flipHorizontal = false, + flipVertical = false, + padding = 0, +}) => { + const transforms = []; + if (rotation !== 0) transforms.push(`rotate(${rotation}deg)`); + if (flipHorizontal) transforms.push("scaleX(-1)"); + if (flipVertical) transforms.push("scaleY(-1)"); + + const viewBoxSize = 24 + padding * 2; + const viewBoxOffset = -padding; + const viewBox = `${viewBoxOffset} ${viewBoxOffset} ${viewBoxSize} ${viewBoxSize}`; + + return ( + 0 + ? `drop-shadow(0 ${shadow}px ${shadow * 2}px rgba(0,0,0,0.3))` + : undefined, + backgroundColor: background !== "transparent" ? background : undefined, + }} + > + Better Auth Logo + + + ); +}; diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/RelationField.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/RelationField.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/RelationField.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/RelationField.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/components/UserCombobox.tsx b/plugins/plugin-better-auth-dashboard/admin/src/components/UserCombobox.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/components/UserCombobox.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/components/UserCombobox.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/hooks/useDashConfig.ts b/plugins/plugin-better-auth-dashboard/admin/src/hooks/useDashConfig.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/hooks/useDashConfig.ts rename to plugins/plugin-better-auth-dashboard/admin/src/hooks/useDashConfig.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/hooks/useModelSchema.ts b/plugins/plugin-better-auth-dashboard/admin/src/hooks/useModelSchema.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/hooks/useModelSchema.ts rename to plugins/plugin-better-auth-dashboard/admin/src/hooks/useModelSchema.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/hooks/useUsers.ts b/plugins/plugin-better-auth-dashboard/admin/src/hooks/useUsers.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/hooks/useUsers.ts rename to plugins/plugin-better-auth-dashboard/admin/src/hooks/useUsers.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/index.ts b/plugins/plugin-better-auth-dashboard/admin/src/index.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/index.ts rename to plugins/plugin-better-auth-dashboard/admin/src/index.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/App.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/App.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/App.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/App.tsx index 1ef1876..8306e92 100644 --- a/packages/plugin-better-auth-dashboard/admin/src/pages/App.tsx +++ b/plugins/plugin-better-auth-dashboard/admin/src/pages/App.tsx @@ -9,11 +9,11 @@ import { import { useQuery } from "react-query"; import styled from "styled-components"; import { client } from "../client"; +import { PluginIcon } from "../components/PluginIcon"; import { hasPlugin, useDashConfig } from "../hooks/useDashConfig"; import { OrganizationsPage } from "./Organizations"; import { OverviewPage } from "./Overview"; import { UsersPage } from "./Users"; -import { PluginIcon } from "../components/PluginIcon"; const Accent = styled.div` height: 3px; diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Organizations/CreateOrganizationDialog.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Organizations/CreateOrganizationDialog.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Organizations/CreateOrganizationDialog.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Organizations/CreateOrganizationDialog.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Organizations/OrganizationDetail.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Organizations/OrganizationDetail.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Organizations/OrganizationDetail.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Organizations/OrganizationDetail.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Organizations/index.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Organizations/index.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Organizations/index.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Organizations/index.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Overview/index.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Overview/index.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Overview/index.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Overview/index.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Root.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Root.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Root.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Root.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Sessions/index.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Sessions/index.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Sessions/index.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Sessions/index.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Users/CreateUserDialog.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Users/CreateUserDialog.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Users/CreateUserDialog.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Users/CreateUserDialog.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Users/UserDetailDrawer.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Users/UserDetailDrawer.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Users/UserDetailDrawer.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Users/UserDetailDrawer.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pages/Users/index.tsx b/plugins/plugin-better-auth-dashboard/admin/src/pages/Users/index.tsx similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pages/Users/index.tsx rename to plugins/plugin-better-auth-dashboard/admin/src/pages/Users/index.tsx diff --git a/packages/plugin-better-auth-dashboard/admin/src/pluginId.ts b/plugins/plugin-better-auth-dashboard/admin/src/pluginId.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/pluginId.ts rename to plugins/plugin-better-auth-dashboard/admin/src/pluginId.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/utils/dashContext.ts b/plugins/plugin-better-auth-dashboard/admin/src/utils/dashContext.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/utils/dashContext.ts rename to plugins/plugin-better-auth-dashboard/admin/src/utils/dashContext.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/utils/editViewPanelRegistry.ts b/plugins/plugin-better-auth-dashboard/admin/src/utils/editViewPanelRegistry.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/utils/editViewPanelRegistry.ts rename to plugins/plugin-better-auth-dashboard/admin/src/utils/editViewPanelRegistry.ts diff --git a/packages/plugin-better-auth-dashboard/admin/src/utils/strapiApp.ts b/plugins/plugin-better-auth-dashboard/admin/src/utils/strapiApp.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/src/utils/strapiApp.ts rename to plugins/plugin-better-auth-dashboard/admin/src/utils/strapiApp.ts diff --git a/packages/plugin-better-auth-dashboard/admin/test/helpers.ts b/plugins/plugin-better-auth-dashboard/admin/test/helpers.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/test/helpers.ts rename to plugins/plugin-better-auth-dashboard/admin/test/helpers.ts diff --git a/packages/plugin-better-auth-dashboard/admin/test/navigation.spec.ts b/plugins/plugin-better-auth-dashboard/admin/test/navigation.spec.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/test/navigation.spec.ts rename to plugins/plugin-better-auth-dashboard/admin/test/navigation.spec.ts diff --git a/packages/plugin-better-auth-dashboard/admin/test/organizations.spec.ts b/plugins/plugin-better-auth-dashboard/admin/test/organizations.spec.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/test/organizations.spec.ts rename to plugins/plugin-better-auth-dashboard/admin/test/organizations.spec.ts diff --git a/packages/plugin-better-auth-dashboard/admin/test/overview.spec.ts b/plugins/plugin-better-auth-dashboard/admin/test/overview.spec.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/test/overview.spec.ts rename to plugins/plugin-better-auth-dashboard/admin/test/overview.spec.ts diff --git a/plugins/plugin-better-auth-dashboard/admin/test/setup/auth.setup.ts b/plugins/plugin-better-auth-dashboard/admin/test/setup/auth.setup.ts new file mode 100644 index 0000000..c930b14 --- /dev/null +++ b/plugins/plugin-better-auth-dashboard/admin/test/setup/auth.setup.ts @@ -0,0 +1,4 @@ +import path from "node:path"; +import { registerAuthSetup } from "@strapi-community/dev-utils"; + +registerAuthSetup(path.join(__dirname, "../.auth/user.json")); diff --git a/packages/plugin-better-auth-dashboard/admin/test/user-detail.spec.ts b/plugins/plugin-better-auth-dashboard/admin/test/user-detail.spec.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/test/user-detail.spec.ts rename to plugins/plugin-better-auth-dashboard/admin/test/user-detail.spec.ts diff --git a/packages/plugin-better-auth-dashboard/admin/test/users.spec.ts b/plugins/plugin-better-auth-dashboard/admin/test/users.spec.ts similarity index 97% rename from packages/plugin-better-auth-dashboard/admin/test/users.spec.ts rename to plugins/plugin-better-auth-dashboard/admin/test/users.spec.ts index e8a9a9e..a221a69 100644 --- a/packages/plugin-better-auth-dashboard/admin/test/users.spec.ts +++ b/plugins/plugin-better-auth-dashboard/admin/test/users.spec.ts @@ -28,10 +28,14 @@ test.describe("Users page", () => { }); test("shows empty state when no users exist", async ({ page }) => { - const userRows = page.getByTestId("user-row"); - const count = await userRows.count(); + const empty = page.getByTestId("users-empty"); + const firstRow = page.getByTestId("user-row").first(); + // Wait for loading to finish — the spinner hides both rows and the empty state + await expect(empty.or(firstRow)).toBeVisible({ timeout: 10_000 }); + + const count = await page.getByTestId("user-row").count(); if (count === 0) { - await expect(page.getByTestId("users-empty")).toBeVisible(); + await expect(empty).toBeVisible(); } }); diff --git a/packages/plugin-better-auth-dashboard/admin/tsconfig.build.json b/plugins/plugin-better-auth-dashboard/admin/tsconfig.build.json similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/tsconfig.build.json rename to plugins/plugin-better-auth-dashboard/admin/tsconfig.build.json diff --git a/packages/plugin-better-auth-dashboard/admin/tsconfig.json b/plugins/plugin-better-auth-dashboard/admin/tsconfig.json similarity index 100% rename from packages/plugin-better-auth-dashboard/admin/tsconfig.json rename to plugins/plugin-better-auth-dashboard/admin/tsconfig.json diff --git a/packages/plugin-better-auth-dashboard/package.json b/plugins/plugin-better-auth-dashboard/package.json similarity index 89% rename from packages/plugin-better-auth-dashboard/package.json rename to plugins/plugin-better-auth-dashboard/package.json index bb6e7b1..d42f1f5 100644 --- a/packages/plugin-better-auth-dashboard/package.json +++ b/plugins/plugin-better-auth-dashboard/package.json @@ -11,13 +11,13 @@ "license": "MIT", "author": { "name": "Boaz Poolman", - "email": "boaz@pluginpal.io", + "email": "boaz.poolman@strapi.io", "url": "https://github.com/boazpoolman" }, "repository": { "type": "git", "url": "git+https://github.com/strapi-community/plugin-better-auth.git", - "directory": "packages/plugin-better-auth-dashboard" + "directory": "plugins/plugin-better-auth-dashboard" }, "type": "commonjs", "exports": { @@ -43,15 +43,15 @@ "watch": "strapi-plugin watch", "dev": "strapi-plugin watch", "verify": "strapi-plugin verify", - "test:ts:server": "cd server && tsc --noEmit", - "test:ts:admin": "cd admin && tsc --noEmit", - "check-types": "pnpm run test:ts:server && pnpm run test:ts:admin", + "lint:ts:server": "cd server && tsc --noEmit", + "lint:ts:admin": "cd admin && tsc --noEmit", "lint": "biome check --fix", "test:e2e": "playwright test" }, "devDependencies": { "@biomejs/biome": "^2.3.11", "@playwright/test": "catalog:playwright", + "@strapi-community/dev-utils": "workspace:*", "@strapi/sdk-plugin": "^6.0.0", "@strapi/strapi": "catalog:strapi", "@strapi/typescript-utils": "catalog:strapi", diff --git a/plugins/plugin-better-auth-dashboard/playwright.config.ts b/plugins/plugin-better-auth-dashboard/playwright.config.ts new file mode 100644 index 0000000..f53883d --- /dev/null +++ b/plugins/plugin-better-auth-dashboard/playwright.config.ts @@ -0,0 +1,3 @@ +import { createPlaywrightConfig } from "@strapi-community/dev-utils"; + +export default createPlaywrightConfig({ testDir: "./admin/test" }); diff --git a/packages/plugin-better-auth-dashboard/server/src/controllers/auth-controller.ts b/plugins/plugin-better-auth-dashboard/server/src/controllers/auth-controller.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/controllers/auth-controller.ts rename to plugins/plugin-better-auth-dashboard/server/src/controllers/auth-controller.ts diff --git a/packages/plugin-better-auth-dashboard/server/src/controllers/db-controller.ts b/plugins/plugin-better-auth-dashboard/server/src/controllers/db-controller.ts similarity index 95% rename from packages/plugin-better-auth-dashboard/server/src/controllers/db-controller.ts rename to plugins/plugin-better-auth-dashboard/server/src/controllers/db-controller.ts index 392d1ab..6e9561f 100644 --- a/packages/plugin-better-auth-dashboard/server/src/controllers/db-controller.ts +++ b/plugins/plugin-better-auth-dashboard/server/src/controllers/db-controller.ts @@ -1,4 +1,4 @@ -import { UID } from "@strapi/strapi"; +import type { UID } from "@strapi/strapi"; import type { Context } from "koa"; /** @@ -74,7 +74,9 @@ const dbController = () => ({ start: (page - 1) * pageSize, ...(populateArg ? { populate: populateArg } : {}), }), - strapi.documents(uid as UID.CollectionType).count({ filters: filters ?? {} }), + strapi + .documents(uid as UID.CollectionType) + .count({ filters: filters ?? {} }), ]); ctx.body = { diff --git a/packages/plugin-better-auth-dashboard/server/src/controllers/index.ts b/plugins/plugin-better-auth-dashboard/server/src/controllers/index.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/controllers/index.ts rename to plugins/plugin-better-auth-dashboard/server/src/controllers/index.ts diff --git a/packages/plugin-better-auth-dashboard/server/src/index.ts b/plugins/plugin-better-auth-dashboard/server/src/index.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/index.ts rename to plugins/plugin-better-auth-dashboard/server/src/index.ts diff --git a/packages/plugin-better-auth-dashboard/server/src/routes/admin/index.ts b/plugins/plugin-better-auth-dashboard/server/src/routes/admin/index.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/routes/admin/index.ts rename to plugins/plugin-better-auth-dashboard/server/src/routes/admin/index.ts diff --git a/packages/plugin-better-auth-dashboard/server/src/routes/index.ts b/plugins/plugin-better-auth-dashboard/server/src/routes/index.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/routes/index.ts rename to plugins/plugin-better-auth-dashboard/server/src/routes/index.ts diff --git a/packages/plugin-better-auth-dashboard/server/src/types/koa.d.ts b/plugins/plugin-better-auth-dashboard/server/src/types/koa.d.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/types/koa.d.ts rename to plugins/plugin-better-auth-dashboard/server/src/types/koa.d.ts diff --git a/packages/plugin-better-auth-dashboard/server/src/utils/index.ts b/plugins/plugin-better-auth-dashboard/server/src/utils/index.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/src/utils/index.ts rename to plugins/plugin-better-auth-dashboard/server/src/utils/index.ts diff --git a/packages/plugin-better-auth-dashboard/server/tsconfig.build.json b/plugins/plugin-better-auth-dashboard/server/tsconfig.build.json similarity index 100% rename from packages/plugin-better-auth-dashboard/server/tsconfig.build.json rename to plugins/plugin-better-auth-dashboard/server/tsconfig.build.json diff --git a/packages/plugin-better-auth-dashboard/server/tsconfig.json b/plugins/plugin-better-auth-dashboard/server/tsconfig.json similarity index 100% rename from packages/plugin-better-auth-dashboard/server/tsconfig.json rename to plugins/plugin-better-auth-dashboard/server/tsconfig.json diff --git a/packages/plugin-better-auth-dashboard/server/types/better-auth.d.ts b/plugins/plugin-better-auth-dashboard/server/types/better-auth.d.ts similarity index 100% rename from packages/plugin-better-auth-dashboard/server/types/better-auth.d.ts rename to plugins/plugin-better-auth-dashboard/server/types/better-auth.d.ts diff --git a/packages/plugin-better-auth-dashboard/server/types/generated b/plugins/plugin-better-auth-dashboard/server/types/generated similarity index 100% rename from packages/plugin-better-auth-dashboard/server/types/generated rename to plugins/plugin-better-auth-dashboard/server/types/generated diff --git a/packages/plugin-better-auth/.gitignore b/plugins/plugin-better-auth/.gitignore similarity index 100% rename from packages/plugin-better-auth/.gitignore rename to plugins/plugin-better-auth/.gitignore diff --git a/packages/plugin-better-auth-dashboard/.lintstagedrc b/plugins/plugin-better-auth/.lintstagedrc similarity index 52% rename from packages/plugin-better-auth-dashboard/.lintstagedrc rename to plugins/plugin-better-auth/.lintstagedrc index f9376f0..b21d21a 100644 --- a/packages/plugin-better-auth-dashboard/.lintstagedrc +++ b/plugins/plugin-better-auth/.lintstagedrc @@ -1,4 +1,4 @@ { "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts,js,cjs,mjs,jsx,json,jsonc}": ["pnpm run lint"], - "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run check-types'"] + "*.{ts,tsx,d.ts,cts,d.cts,mts,d.mts}": ["bash -c 'pnpm run lint:ts:server'"] } \ No newline at end of file diff --git a/packages/plugin-better-auth/LICENSE.md b/plugins/plugin-better-auth/LICENSE.md similarity index 100% rename from packages/plugin-better-auth/LICENSE.md rename to plugins/plugin-better-auth/LICENSE.md diff --git a/packages/plugin-better-auth/README.md b/plugins/plugin-better-auth/README.md similarity index 100% rename from packages/plugin-better-auth/README.md rename to plugins/plugin-better-auth/README.md diff --git a/packages/plugin-better-auth/package.json b/plugins/plugin-better-auth/package.json similarity index 90% rename from packages/plugin-better-auth/package.json rename to plugins/plugin-better-auth/package.json index 4240849..f8d0d2e 100644 --- a/packages/plugin-better-auth/package.json +++ b/plugins/plugin-better-auth/package.json @@ -32,10 +32,9 @@ "watch": "strapi-plugin watch", "dev": "strapi-plugin watch", "verify": "strapi-plugin verify", - "test:ts:back": "tsc --noEmit", "test:integration": "vitest run", - "check-types": "pnpm run test:ts:back", - "lint": "biome check --fix" + "lint": "biome check --fix", + "lint:ts:server": "tsc --noEmit" }, "dependencies": { "lodash": "^4.17.21" @@ -43,6 +42,7 @@ "devDependencies": { "@better-auth/test-utils": "catalog:better-auth", "@biomejs/biome": "^2.3.11", + "@strapi-community/dev-utils": "workspace:*", "@strapi/sdk-plugin": "^6.0.0", "@strapi/typescript-utils": "catalog:strapi", "@types/koa": "^3.0.1", @@ -69,13 +69,13 @@ "license": "MIT", "author": { "name": "Boaz Poolman", - "email": "boaz@pluginpal.io", + "email": "boaz.poolman@strapi.io", "url": "https://github.com/boazpoolman" }, "maintainers": [ { "name": "Boaz Poolman", - "email": "boaz@pluginpal.io", + "email": "boaz.poolman@strapi.io", "url": "https://github.com/boazpoolman" } ], @@ -86,6 +86,6 @@ "repository": { "type": "git", "url": "git+https://github.com/strapi-community/plugin-better-auth.git", - "directory": "packages/plugin-better-auth" + "directory": "plugins/plugin-better-auth" } } diff --git a/packages/plugin-better-auth/server/src/adapter/adapter.ts b/plugins/plugin-better-auth/server/src/adapter/adapter.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/adapter.ts rename to plugins/plugin-better-auth/server/src/adapter/adapter.ts diff --git a/packages/plugin-better-auth/server/src/adapter/cli/index.ts b/plugins/plugin-better-auth/server/src/adapter/cli/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/cli/index.ts rename to plugins/plugin-better-auth/server/src/adapter/cli/index.ts diff --git a/packages/plugin-better-auth/server/src/adapter/cli/utils.ts b/plugins/plugin-better-auth/server/src/adapter/cli/utils.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/cli/utils.ts rename to plugins/plugin-better-auth/server/src/adapter/cli/utils.ts diff --git a/packages/plugin-better-auth/server/src/adapter/index.ts b/plugins/plugin-better-auth/server/src/adapter/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/index.ts rename to plugins/plugin-better-auth/server/src/adapter/index.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/filters.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/filters.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/filters.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/filters.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/index.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/index.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/index.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/output.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/output.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/output.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/output.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/schema/index.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/schema/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/schema/index.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/schema/index.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/schema/transformer.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/schema/transformer.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/schema/transformer.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/schema/transformer.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/schema/types.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/schema/types.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/schema/types.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/schema/types.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/schema/utils.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/schema/utils.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/schema/utils.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/schema/utils.ts diff --git a/packages/plugin-better-auth/server/src/adapter/transformers/sort.ts b/plugins/plugin-better-auth/server/src/adapter/transformers/sort.ts similarity index 100% rename from packages/plugin-better-auth/server/src/adapter/transformers/sort.ts rename to plugins/plugin-better-auth/server/src/adapter/transformers/sort.ts diff --git a/packages/plugin-better-auth/server/src/config.ts b/plugins/plugin-better-auth/server/src/config.ts similarity index 100% rename from packages/plugin-better-auth/server/src/config.ts rename to plugins/plugin-better-auth/server/src/config.ts diff --git a/packages/plugin-better-auth/server/src/controllers/auth-controller.ts b/plugins/plugin-better-auth/server/src/controllers/auth-controller.ts similarity index 100% rename from packages/plugin-better-auth/server/src/controllers/auth-controller.ts rename to plugins/plugin-better-auth/server/src/controllers/auth-controller.ts diff --git a/packages/plugin-better-auth/server/src/controllers/index.ts b/plugins/plugin-better-auth/server/src/controllers/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/controllers/index.ts rename to plugins/plugin-better-auth/server/src/controllers/index.ts diff --git a/packages/plugin-better-auth/server/src/index.ts b/plugins/plugin-better-auth/server/src/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/index.ts rename to plugins/plugin-better-auth/server/src/index.ts diff --git a/packages/plugin-better-auth/server/src/register.ts b/plugins/plugin-better-auth/server/src/register.ts similarity index 100% rename from packages/plugin-better-auth/server/src/register.ts rename to plugins/plugin-better-auth/server/src/register.ts diff --git a/packages/plugin-better-auth/server/src/routes/content-api/index.ts b/plugins/plugin-better-auth/server/src/routes/content-api/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/routes/content-api/index.ts rename to plugins/plugin-better-auth/server/src/routes/content-api/index.ts diff --git a/packages/plugin-better-auth/server/src/routes/index.ts b/plugins/plugin-better-auth/server/src/routes/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/routes/index.ts rename to plugins/plugin-better-auth/server/src/routes/index.ts diff --git a/packages/plugin-better-auth/server/src/services/auth-service.ts b/plugins/plugin-better-auth/server/src/services/auth-service.ts similarity index 100% rename from packages/plugin-better-auth/server/src/services/auth-service.ts rename to plugins/plugin-better-auth/server/src/services/auth-service.ts diff --git a/packages/plugin-better-auth/server/src/services/index.ts b/plugins/plugin-better-auth/server/src/services/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/services/index.ts rename to plugins/plugin-better-auth/server/src/services/index.ts diff --git a/packages/plugin-better-auth/server/src/types/koa.d.ts b/plugins/plugin-better-auth/server/src/types/koa.d.ts similarity index 100% rename from packages/plugin-better-auth/server/src/types/koa.d.ts rename to plugins/plugin-better-auth/server/src/types/koa.d.ts diff --git a/packages/plugin-better-auth/server/src/utils/index.ts b/plugins/plugin-better-auth/server/src/utils/index.ts similarity index 100% rename from packages/plugin-better-auth/server/src/utils/index.ts rename to plugins/plugin-better-auth/server/src/utils/index.ts diff --git a/packages/plugin-better-auth/server/test/adapter.test.ts b/plugins/plugin-better-auth/server/test/adapter.test.ts similarity index 92% rename from packages/plugin-better-auth/server/test/adapter.test.ts rename to plugins/plugin-better-auth/server/test/adapter.test.ts index 4837d78..a83d5e1 100644 --- a/packages/plugin-better-auth/server/test/adapter.test.ts +++ b/plugins/plugin-better-auth/server/test/adapter.test.ts @@ -4,10 +4,15 @@ import { numberIdTestSuite, testAdapter, } from "@better-auth/test-utils/adapter"; +import { + cleanupDir, + playgroundDir, + setupStrapi, + stopStrapi, +} from "@strapi-community/dev-utils"; import { getAuthTables } from "better-auth/db"; import { strapiAdapter } from "../src/adapter"; import { updateStrapiSchema } from "../src/adapter/transformers"; -import { cleanupDir, playgroundDir, setupStrapi, stopStrapi } from "./utils"; const { execute } = await testAdapter({ adapter: (_options) => { diff --git a/packages/plugin-better-auth/server/test/auth-controller.test.ts b/plugins/plugin-better-auth/server/test/auth-controller.test.ts similarity index 98% rename from packages/plugin-better-auth/server/test/auth-controller.test.ts rename to plugins/plugin-better-auth/server/test/auth-controller.test.ts index 1347e25..da86305 100644 --- a/packages/plugin-better-auth/server/test/auth-controller.test.ts +++ b/plugins/plugin-better-auth/server/test/auth-controller.test.ts @@ -1,7 +1,7 @@ +import { setupStrapi, stopStrapi } from "@strapi-community/dev-utils"; import request from "supertest"; import { afterAll, afterEach, beforeAll, describe, expect, it } from "vitest"; import { getPluginService } from "../src/utils"; -import { setupStrapi, stopStrapi } from "./utils"; const BASE = "/api/auth"; diff --git a/packages/plugin-better-auth/server/test/schema.test.ts b/plugins/plugin-better-auth/server/test/schema.test.ts similarity index 100% rename from packages/plugin-better-auth/server/test/schema.test.ts rename to plugins/plugin-better-auth/server/test/schema.test.ts diff --git a/packages/plugin-better-auth/server/types/generated b/plugins/plugin-better-auth/server/types/generated similarity index 100% rename from packages/plugin-better-auth/server/types/generated rename to plugins/plugin-better-auth/server/types/generated diff --git a/packages/plugin-better-auth/tsconfig.build.json b/plugins/plugin-better-auth/tsconfig.build.json similarity index 100% rename from packages/plugin-better-auth/tsconfig.build.json rename to plugins/plugin-better-auth/tsconfig.build.json diff --git a/packages/plugin-better-auth/tsconfig.json b/plugins/plugin-better-auth/tsconfig.json similarity index 100% rename from packages/plugin-better-auth/tsconfig.json rename to plugins/plugin-better-auth/tsconfig.json diff --git a/packages/plugin-better-auth/vitest.config.ts b/plugins/plugin-better-auth/vitest.config.ts similarity index 73% rename from packages/plugin-better-auth/vitest.config.ts rename to plugins/plugin-better-auth/vitest.config.ts index 7041d49..24284b8 100644 --- a/packages/plugin-better-auth/vitest.config.ts +++ b/plugins/plugin-better-auth/vitest.config.ts @@ -3,5 +3,7 @@ import { defineProject } from "vitest/config"; export default defineProject({ test: { pool: "threads", + maxWorkers: 1, + hookTimeout: 120000, }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbc09a0..f91a9c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,9 +31,9 @@ importers: .: devDependencies: - '@playwright/test': - specifier: catalog:playwright - version: 1.58.2 + '@strapi-community/dev-utils': + specifier: workspace:* + version: link:packages/dev-utils '@types/node': specifier: ^22.0.0 version: 22.19.15 @@ -88,28 +88,34 @@ importers: dependencies: '@better-auth/infra': specifier: ^0.2.6 - version: 0.2.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(better-call@1.3.5(zod@4.3.6)))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(zod@4.3.6) + version: 0.2.6(6f7a77d4d38e9dffb907a2035550484f) '@strapi-community/plugin-api-permissions': specifier: workspace:* - version: link:../../packages/plugin-api-permissions + version: link:../../plugins/plugin-api-permissions '@strapi-community/plugin-better-auth': specifier: workspace:* - version: link:../../packages/plugin-better-auth + version: link:../../plugins/plugin-better-auth '@strapi-community/plugin-better-auth-dashboard': specifier: workspace:* - version: link:../../packages/plugin-better-auth-dashboard + version: link:../../plugins/plugin-better-auth-dashboard '@strapi/strapi': specifier: catalog:strapi - version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) + version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) '@strapi/types': specifier: catalog:strapi - version: 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3) + version: 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3) better-auth: specifier: catalog:better-auth - version: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))) + version: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))) better-sqlite3: specifier: 12.4.1 version: 12.4.1 + mysql2: + specifier: 3.20.0 + version: 3.20.0(@types/node@20.19.37) + pg: + specifier: 8.20.0 + version: 8.20.0 react: specifier: ^18.0.0 version: 18.3.1 @@ -126,6 +132,9 @@ importers: '@biomejs/biome': specifier: ^2.3.11 version: 2.3.11 + '@strapi-community/dev-utils': + specifier: workspace:* + version: link:../../packages/dev-utils '@types/node': specifier: ^20 version: 20.19.37 @@ -135,14 +144,29 @@ importers: '@types/react-dom': specifier: ^18 version: 18.3.7(@types/react@18.3.27) - tsx: - specifier: ^4.21.0 - version: 4.21.0 typescript: specifier: ^5 version: 5.9.3 - packages/plugin-api-permissions: + packages/dev-utils: + devDependencies: + '@playwright/test': + specifier: catalog:playwright + version: 1.58.2 + '@strapi/strapi': + specifier: catalog:strapi + version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) + '@strapi/types': + specifier: catalog:strapi + version: 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.9.3) + '@types/node': + specifier: ^22.0.0 + version: 22.19.15 + tsx: + specifier: ^4.21.0 + version: 4.21.0 + + plugins/plugin-api-permissions: dependencies: '@strapi/design-system': specifier: ^2.0.0 @@ -155,7 +179,7 @@ importers: version: 5.45.0 lodash: specifier: ^4.17.21 - version: 4.17.23 + version: 4.18.1 react: specifier: ^17.0.0 || ^18.0.0 version: 18.3.1 @@ -178,6 +202,9 @@ importers: '@playwright/test': specifier: catalog:playwright version: 1.58.2 + '@strapi-community/dev-utils': + specifier: workspace:* + version: link:../../packages/dev-utils '@strapi/sdk-plugin': specifier: ^6.0.0 version: 6.0.1(@types/node@22.19.15)(jiti@1.21.7)(rollup@4.55.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) @@ -215,30 +242,33 @@ importers: specifier: ^4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) - packages/plugin-better-auth: + plugins/plugin-better-auth: dependencies: '@strapi/strapi': specifier: ^5.45.0 - version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) + version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) '@strapi/types': specifier: ^5.45.0 - version: 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.9.3) + version: 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.9.3) '@strapi/utils': specifier: ^5.45.0 version: 5.45.0 better-auth: specifier: '>=1.4.0 <2' - version: 1.5.6(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) + version: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) lodash: specifier: ^4.17.21 - version: 4.17.23 + version: 4.18.1 devDependencies: '@better-auth/test-utils': specifier: catalog:better-auth - version: 1.6.9(@better-auth/core@1.6.9(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(better-auth@1.5.6(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) + version: 1.6.9(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) '@biomejs/biome': specifier: ^2.3.11 version: 2.3.11 + '@strapi-community/dev-utils': + specifier: workspace:* + version: link:../../packages/dev-utils '@strapi/sdk-plugin': specifier: ^6.0.0 version: 6.0.1(@types/node@25.6.2)(jiti@1.21.7)(rollup@4.55.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) @@ -264,11 +294,11 @@ importers: specifier: ^4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) - packages/plugin-better-auth-dashboard: + plugins/plugin-better-auth-dashboard: dependencies: '@better-auth/infra': specifier: ^0.2.6 - version: 0.2.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(zod@4.3.6) + version: 0.2.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(zod@4.3.6) '@strapi-community/plugin-better-auth': specifier: workspace:^ version: link:../plugin-better-auth @@ -280,13 +310,13 @@ importers: version: 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/types': specifier: ^5.45.0 - version: 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.9.3) + version: 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.9.3) '@strapi/utils': specifier: ^5.45.0 version: 5.45.0 better-auth: specifier: '>=1.4.0 <2' - version: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) + version: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) react: specifier: ^18.0.0 version: 18.3.1 @@ -309,12 +339,15 @@ importers: '@playwright/test': specifier: catalog:playwright version: 1.58.2 + '@strapi-community/dev-utils': + specifier: workspace:* + version: link:../../packages/dev-utils '@strapi/sdk-plugin': specifier: ^6.0.0 version: 6.0.1(@types/node@22.19.15)(jiti@1.21.7)(rollup@4.55.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) '@strapi/strapi': specifier: catalog:strapi - version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) + version: 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(esbuild@0.27.7)(koa@2.16.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7))) '@strapi/typescript-utils': specifier: catalog:strapi version: 5.45.0 @@ -1129,21 +1162,6 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@better-auth/core@1.5.6': - resolution: {integrity: sha512-Ez9DZdIMFyxHremmoLz1emFPGNQomDC1jqqBPnZ6Ci+6TiGN3R9w/Y03cJn6I8r1ycKgOzeVMZtJ/erOZ27Gsw==} - peerDependencies: - '@better-auth/utils': 0.3.1 - '@better-fetch/fetch': 1.1.21 - '@cloudflare/workers-types': '>=4' - '@opentelemetry/api': ^1.9.0 - better-call: 1.3.2 - jose: ^6.1.0 - kysely: ^0.28.5 - nanostores: ^1.0.1 - peerDependenciesMeta: - '@cloudflare/workers-types': - optional: true - '@better-auth/core@1.6.9': resolution: {integrity: sha512-ADFk5pwmLybmc+LvYvXJ6M1x2oY/EyYLkwLuH0x28FUq12DfjL0wnE7g+WRDf3yozDO+qIxTpFGXDGwLKbfz0w==} peerDependencies: @@ -1161,16 +1179,6 @@ packages: '@opentelemetry/api': optional: true - '@better-auth/drizzle-adapter@1.5.6': - resolution: {integrity: sha512-VfFFmaoFw3ug12SiSuIwzrMoHyIVmkMGWm9gZ4sXdYYVX4HboCL4m3fjzOhppcmK5OGatRuU+N1UX6wxCITcXw==} - peerDependencies: - '@better-auth/core': 1.5.6 - '@better-auth/utils': ^0.3.0 - drizzle-orm: '>=0.41.0' - peerDependenciesMeta: - drizzle-orm: - optional: true - '@better-auth/drizzle-adapter@1.6.9': resolution: {integrity: sha512-Lcco5hOGrMgc4XKAkvB6x72eQm4wCcya8IevMg4wBHY9W9GVg8pu23rpRX6VsVQSO4Ux13S7lFwUWtF7/r9aKw==} peerDependencies: @@ -1205,16 +1213,6 @@ packages: react-native: optional: true - '@better-auth/kysely-adapter@1.5.6': - resolution: {integrity: sha512-Fnf+h8WVKtw6lEOmVmiVVzDf3shJtM60AYf9XTnbdCeUd6MxN/KnaJZpkgtYnRs7a+nwtkVB+fg4lGETebGFXQ==} - peerDependencies: - '@better-auth/core': 1.5.6 - '@better-auth/utils': ^0.3.0 - kysely: ^0.27.0 || ^0.28.0 - peerDependenciesMeta: - kysely: - optional: true - '@better-auth/kysely-adapter@1.6.9': resolution: {integrity: sha512-gyjuuxJtZ4o9G9z9q4kqn24X2kvMSp7F+KHogYxF03SnXY/2WleAcuj57iC4wP3e9mGDbjPOrnM5K6Kr3Ktdpw==} peerDependencies: @@ -1225,28 +1223,12 @@ packages: kysely: optional: true - '@better-auth/memory-adapter@1.5.6': - resolution: {integrity: sha512-rS7ZsrIl5uvloUgNN0u9LOZJMMXnsZXVdUZ3MrTBKWM2KpoJjzPr9yN3Szyma5+0V7SltnzSGHPkYj2bEzzmlA==} - peerDependencies: - '@better-auth/core': 1.5.6 - '@better-auth/utils': ^0.3.0 - '@better-auth/memory-adapter@1.6.9': resolution: {integrity: sha512-XmIG4tUnOXZ+KEcWjHUjOI9Z5donD09dC2t/AQTXifAUIqx7cySg86w0KTM09ArzAxRx1fCqO36Wkt5nULnrkQ==} peerDependencies: '@better-auth/core': ^1.6.9 '@better-auth/utils': 0.4.0 - '@better-auth/mongo-adapter@1.5.6': - resolution: {integrity: sha512-6+M3MS2mor8fTUV3EI1FBLP0cs6QfbN+Ovx9+XxR/GdfKIBoNFzmPEPRbdGt+ft6PvrITsUm+T70+kkHgVSP6w==} - peerDependencies: - '@better-auth/core': 1.5.6 - '@better-auth/utils': ^0.3.0 - mongodb: ^6.0.0 || ^7.0.0 - peerDependenciesMeta: - mongodb: - optional: true - '@better-auth/mongo-adapter@1.6.9': resolution: {integrity: sha512-h+AiRJ/TsBSi+ZDjySASBpbJ/9QCXBre34PSKgCz7QmTHrFM9Cg2EM4AM7LjR5lPXipEE+2rWPBc9wfnUBjhcw==} peerDependencies: @@ -1257,19 +1239,6 @@ packages: mongodb: optional: true - '@better-auth/prisma-adapter@1.5.6': - resolution: {integrity: sha512-UxY9vQJs1Tt+O+T2YQnseDMlWmUSQvFZSBb5YiFRg7zcm+TEzujh4iX2/csA0YiZptLheovIuVWTP9nriewEBA==} - peerDependencies: - '@better-auth/core': 1.5.6 - '@better-auth/utils': ^0.3.0 - '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 - prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 - peerDependenciesMeta: - '@prisma/client': - optional: true - prisma: - optional: true - '@better-auth/prisma-adapter@1.6.9': resolution: {integrity: sha512-XHks01ntK20orqK/jICq8wmEbJ/zT6dct49Fk8zTQKN9QNGDc+Ix5+7z/Kvui0DXGFf790GfvRozquzaLtXa8Q==} peerDependencies: @@ -1291,11 +1260,6 @@ packages: better-auth: 1.5.6 better-call: 1.3.2 - '@better-auth/telemetry@1.5.6': - resolution: {integrity: sha512-yXC7NSxnIFlxDkGdpD7KA+J9nqIQAPCJKe77GoaC5bWoe/DALo1MYorZfTgOafS7wrslNtsPT4feV/LJi1ubqQ==} - peerDependencies: - '@better-auth/core': 1.5.6 - '@better-auth/telemetry@1.6.9': resolution: {integrity: sha512-0u5zkhSCAQFoN3DHvUkLHOF6MBbVTDAa6mU8mhPwiysdz1x21vMzhzfaAKN/ZGWaQ09v91/F+2qu42G/bhUV4A==} peerDependencies: @@ -1310,9 +1274,6 @@ packages: better-auth: ^1.6.9 vitest: ^4.0.18 - '@better-auth/utils@0.3.1': - resolution: {integrity: sha512-+CGp4UmZSUrHHnpHhLPYu6cV+wSUSvVbZbNykxhUDocpVNTo9uFFxw/NqJlh1iC4wQ9HKKWGCKuZ5wUgS0v6Kg==} - '@better-auth/utils@0.4.0': resolution: {integrity: sha512-RpMtLUIQAEWMgdPLNVbIF5ON2mm+CH0U3rCdUCU1VyeAUui4m38DyK7/aXMLZov2YDjG684pS1D0MBllrmgjQA==} @@ -4946,6 +4907,10 @@ packages: peerDependencies: postcss: ^8.1.0 + aws-ssl-profiles@1.1.2: + resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} + engines: {node: '>= 6.0.0'} + axios@1.15.1: resolution: {integrity: sha512-WOG+Jj8ZOvR0a3rAn+Tuf1UQJRxw5venr6DgdbJzngJE3qG7X0kL83CZGpdHMxEm+ZK3seAbvFsw4FfOfP9vxg==} @@ -5006,68 +4971,6 @@ packages: bcryptjs@2.4.3: resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} - better-auth@1.5.6: - resolution: {integrity: sha512-QSpJTqaT1XVfWRQe/fm3PgeuwOIlz1nWX/Dx7nsHStJ382bLzmDbQk2u7IT0IJ6wS5SRxfqEE1Ev9TXontgyAQ==} - peerDependencies: - '@lynx-js/react': '*' - '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 - '@sveltejs/kit': ^2.0.0 - '@tanstack/react-start': ^1.0.0 - '@tanstack/solid-start': ^1.0.0 - better-sqlite3: ^12.0.0 - drizzle-kit: '>=0.31.4' - drizzle-orm: '>=0.41.0' - mongodb: ^6.0.0 || ^7.0.0 - mysql2: ^3.0.0 - next: ^14.0.0 || ^15.0.0 || ^16.0.0 - pg: ^8.0.0 - prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - solid-js: ^1.0.0 - svelte: ^4.0.0 || ^5.0.0 - vitest: ^2.0.0 || ^3.0.0 || ^4.0.0 - vue: ^3.0.0 - peerDependenciesMeta: - '@lynx-js/react': - optional: true - '@prisma/client': - optional: true - '@sveltejs/kit': - optional: true - '@tanstack/react-start': - optional: true - '@tanstack/solid-start': - optional: true - better-sqlite3: - optional: true - drizzle-kit: - optional: true - drizzle-orm: - optional: true - mongodb: - optional: true - mysql2: - optional: true - next: - optional: true - pg: - optional: true - prisma: - optional: true - react: - optional: true - react-dom: - optional: true - solid-js: - optional: true - svelte: - optional: true - vitest: - optional: true - vue: - optional: true - better-auth@1.6.9: resolution: {integrity: sha512-EBFURtglyiEZxbx4NJBoqUD8J65dX24yC+6I9AUbIXNgUkt76mshzGbHkxZ3n/lB7Dwq3kBC+hHt0hUQsnL7HA==} peerDependencies: @@ -5130,14 +5033,6 @@ packages: vue: optional: true - better-call@1.3.2: - resolution: {integrity: sha512-4cZIfrerDsNTn3cm+MhLbUePN0gdwkhSXEuG7r/zuQ8c/H7iU0/jSK5TD3FW7U0MgKHce/8jGpPYNO4Ve+4NBw==} - peerDependencies: - zod: ^4.0.0 - peerDependenciesMeta: - zod: - optional: true - better-call@1.3.5: resolution: {integrity: sha512-kOFJkBP7utAQLEYrobZm3vkTH8mXq5GNgvjc5/XEST1ilVHaxXUXfeDeFlqoETMtyqS4+3/h4ONX2i++ebZrvA==} peerDependencies: @@ -5195,10 +5090,6 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - brace-expansion@5.0.4: - resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} - engines: {node: 18 || 20 || >=22} - brace-expansion@5.0.5: resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} engines: {node: 18 || 20 || >=22} @@ -5932,6 +5823,10 @@ packages: delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -6605,6 +6500,9 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -7200,6 +7098,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -7499,10 +7400,6 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - kysely@0.28.12: - resolution: {integrity: sha512-kWiueDWXhbCchgiotwXkwdxZE/6h56IHAeFWg4euUfW0YsmO9sxbAxzx1KLLv2lox15EfuuxHQvgJ1qIfZuHGw==} - engines: {node: '>=20.0.0'} - kysely@0.28.17: resolution: {integrity: sha512-nbD8lB9EB3wNdMhOCdx5Li8DxnLbvKByylRLcJ1h+4SkrowVeECAyZlyiKMThF7xFdRz0jSQ2MoJr+wXux2y0Q==} engines: {node: '>=20.0.0'} @@ -7640,6 +7537,9 @@ packages: long-timeout@0.1.1: resolution: {integrity: sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==} + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -7672,6 +7572,10 @@ packages: lru-memoizer@2.3.0: resolution: {integrity: sha512-GXn7gyHAMhO13WSKrIiNfztwxodVsP8IoZ3XfrJV4yH2x0/OeTO/FIaAHTY5YekdGgW94njfuKmyyt1E0mR6Ug==} + lru.min@1.1.4: + resolution: {integrity: sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==} + engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} @@ -8167,9 +8071,19 @@ packages: mux-embed@5.15.0: resolution: {integrity: sha512-JlIOEapGImiAJNiEULjJsp8gwvJgGWWAqUZX4oNBjvWh6H2zeinqou9c2KQVuvg9Wpg7vJR1XupD+HkOakGbvw==} + mysql2@3.20.0: + resolution: {integrity: sha512-eCLUs7BNbgA6nf/MZXsaBO1SfGs0LtLVrJD3WeWq+jPLDWkSufTD+aGMwykfUVPdZnblaUK1a8G/P63cl9FkKg==} + engines: {node: '>= 8.0'} + peerDependencies: + '@types/node': '>= 8' + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + named-placeholders@1.1.6: + resolution: {integrity: sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==} + engines: {node: '>=8.0.0'} + nano-time@1.0.0: resolution: {integrity: sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==} @@ -8564,9 +8478,43 @@ packages: pause@0.0.1: resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} + pg-cloudflare@1.3.0: + resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} + + pg-connection-string@2.12.0: + resolution: {integrity: sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==} + pg-connection-string@2.6.1: resolution: {integrity: sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==} + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.13.0: + resolution: {integrity: sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.13.0: + resolution: {integrity: sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.20.0: + resolution: {integrity: sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==} + engines: {node: '>= 16.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.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -9029,6 +8977,22 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.1: + resolution: {integrity: sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} @@ -9962,9 +9926,17 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sql-escaper@1.3.3: + resolution: {integrity: sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw==} + engines: {bun: '>=1.0.0', deno: '>=2.0.0', node: '>=12.0.0'} + srcset@4.0.0: resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} engines: {node: '>=12'} @@ -10988,6 +10960,10 @@ packages: resolution: {integrity: sha512-FxF6+rkr1rNSQrhUNYrAFJpRXNzlDoMxeXN5qI84939ylEv3qqPFKa85Oxr6tDaJKqwW6KKyo2v26TSv3k6LeA==} engines: {node: '>=0.6.0'} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -11821,12 +11797,12 @@ snapshots: '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.28.5)': dependencies: @@ -12104,33 +12080,6 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1)': - dependencies: - '@better-auth/utils': 0.3.1 - '@better-fetch/fetch': 1.1.21 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.40.0 - '@standard-schema/spec': 1.1.0 - better-call: 1.3.2(zod@4.3.6) - jose: 6.1.3 - kysely: 0.28.12 - nanostores: 1.1.1 - zod: 4.3.6 - - '@better-auth/core@1.6.9(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1)': - dependencies: - '@better-auth/utils': 0.3.1 - '@better-fetch/fetch': 1.1.21 - '@opentelemetry/semantic-conventions': 1.40.0 - '@standard-schema/spec': 1.1.0 - better-call: 1.3.2(zod@4.3.6) - jose: 6.1.3 - kysely: 0.28.12 - nanostores: 1.1.1 - zod: 4.3.6 - optionalDependencies: - '@opentelemetry/api': 1.9.0 - '@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1)': dependencies: '@better-auth/utils': 0.4.0 @@ -12145,45 +12094,33 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.0 - '@better-auth/drizzle-adapter@1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': - dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/utils': 0.3.1 - '@better-auth/drizzle-adapter@1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/utils': 0.4.0 - '@better-auth/infra@0.2.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(better-call@1.3.5(zod@4.3.6)))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(zod@4.3.6)': + '@better-auth/infra@0.2.6(6f7a77d4d38e9dffb907a2035550484f)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) - '@better-auth/sso': 1.5.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(better-call@1.3.5(zod@4.3.6)) + '@better-auth/sso': 1.5.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(better-call@1.3.5(zod@4.3.6)) '@better-fetch/fetch': 1.1.21 - better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))) + better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))) better-call: 1.3.5(zod@4.3.6) jose: 6.1.3 libphonenumber-js: 1.13.0 zod: 4.3.6 - '@better-auth/infra@0.2.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(zod@4.3.6)': + '@better-auth/infra@0.2.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(zod@4.3.6)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) - '@better-auth/sso': 1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))) + '@better-auth/sso': 1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))) '@better-fetch/fetch': 1.1.21 - better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) + better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) better-call: 1.3.5(zod@4.3.6) jose: 6.1.3 libphonenumber-js: 1.13.0 zod: 4.3.6 - '@better-auth/kysely-adapter@1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.12)': - dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/utils': 0.3.1 - optionalDependencies: - kysely: 0.28.12 - '@better-auth/kysely-adapter@1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(kysely@0.28.17)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) @@ -12191,23 +12128,11 @@ snapshots: optionalDependencies: kysely: 0.28.17 - '@better-auth/memory-adapter@1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': - dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/utils': 0.3.1 - '@better-auth/memory-adapter@1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/utils': 0.4.0 - '@better-auth/mongo-adapter@1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0)': - dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/utils': 0.3.1 - optionalDependencies: - mongodb: 7.1.0 - '@better-auth/mongo-adapter@1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(mongodb@7.1.0)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) @@ -12215,22 +12140,17 @@ snapshots: optionalDependencies: mongodb: 7.1.0 - '@better-auth/prisma-adapter@1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': - dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/utils': 0.3.1 - '@better-auth/prisma-adapter@1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/utils': 0.4.0 - '@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(better-call@1.3.5(zod@4.3.6))': + '@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))))(better-call@1.3.5(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/utils': 0.4.0 '@better-fetch/fetch': 1.1.21 - better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))) + better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))) better-call: 1.3.5(zod@4.3.6) fast-xml-parser: 5.5.9 jose: 6.1.3 @@ -12238,37 +12158,29 @@ snapshots: tldts: 6.1.86 zod: 4.3.6 - '@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))': + '@better-auth/sso@1.5.6(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-fetch/fetch': 1.1.21 - better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) + better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) fast-xml-parser: 5.5.9 jose: 6.1.3 samlify: 2.12.0 tldts: 6.1.86 zod: 4.3.6 - '@better-auth/telemetry@1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))': - dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/utils': 0.3.1 - '@better-fetch/fetch': 1.1.21 - '@better-auth/telemetry@1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)': dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/utils': 0.4.0 '@better-fetch/fetch': 1.1.21 - '@better-auth/test-utils@1.6.9(@better-auth/core@1.6.9(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(better-auth@1.5.6(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))': + '@better-auth/test-utils@1.6.9(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))))(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))': dependencies: - '@better-auth/core': 1.6.9(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - better-auth: 1.5.6(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) + '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) + better-auth: 1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))) vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) - '@better-auth/utils@0.3.1': {} - '@better-auth/utils@0.4.0': dependencies: '@noble/hashes': 2.0.1 @@ -12758,7 +12670,7 @@ snapshots: '@docusaurus/logger': 3.7.0 '@docusaurus/utils': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.3 + fs-extra: 11.3.4 tslib: 2.8.1 transitivePeerDependencies: - '@swc/core' @@ -12901,7 +12813,7 @@ snapshots: escape-html: 1.0.3 estree-util-value-to-estree: 3.5.0 file-loader: 6.2.0(webpack@5.104.1) - fs-extra: 11.3.3 + fs-extra: 11.3.4 image-size: 1.2.1 mdast-util-mdx: 3.0.0 mdast-util-to-string: 4.0.0 @@ -12957,7 +12869,7 @@ snapshots: '@docusaurus/utils-validation': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) cheerio: 1.0.0-rc.12 feed: 4.2.2 - fs-extra: 11.3.3 + fs-extra: 11.3.4 lodash: 4.18.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -13000,7 +12912,7 @@ snapshots: '@docusaurus/utils-validation': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 - fs-extra: 11.3.3 + fs-extra: 11.3.4 js-yaml: 4.1.1 lodash: 4.18.1 react: 18.3.1 @@ -13035,7 +12947,7 @@ snapshots: '@docusaurus/types': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + fs-extra: 11.3.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 @@ -13065,7 +12977,7 @@ snapshots: '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.1(@types/react@18.3.27)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3) '@docusaurus/types': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + fs-extra: 11.3.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-json-view-lite: 1.5.0(react@18.3.1) @@ -13183,7 +13095,7 @@ snapshots: '@docusaurus/utils': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-common': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + fs-extra: 11.3.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) sitemap: 7.1.3 @@ -13374,7 +13286,7 @@ snapshots: algoliasearch-helper: 3.28.1(algoliasearch@5.50.1) clsx: 2.1.1 eta: 2.2.0 - fs-extra: 11.3.3 + fs-extra: 11.3.4 lodash: 4.18.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -13448,7 +13360,7 @@ snapshots: '@docusaurus/logger': 3.7.0 '@docusaurus/utils': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-common': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + fs-extra: 11.3.4 joi: 17.13.3 js-yaml: 4.1.1 lodash: 4.18.1 @@ -13469,7 +13381,7 @@ snapshots: '@docusaurus/utils-common': 3.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) escape-string-regexp: 4.0.0 file-loader: 6.2.0(webpack@5.104.1) - fs-extra: 11.3.3 + fs-extra: 11.3.4 github-slugger: 1.5.0 globby: 11.1.0 gray-matter: 4.0.3 @@ -15329,18 +15241,18 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@strapi/admin@5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/admin@5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@casl/ability': 6.7.5 '@internationalized/date': 3.5.4 '@radix-ui/react-context': 1.0.1(@types/react@18.3.27)(react@18.3.1) '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@testing-library/dom': 10.4.1 @@ -15437,11 +15349,11 @@ snapshots: '@radix-ui/react-context': 1.0.1(@types/react@18.3.27)(react@18.3.1) '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@testing-library/dom': 10.4.1 @@ -15531,18 +15443,18 @@ snapshots: - supports-color - tedious - '@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@casl/ability': 6.7.5 '@internationalized/date': 3.5.4 '@radix-ui/react-context': 1.0.1(@types/react@18.3.27)(react@18.3.1) '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/data-transfer': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3) + '@strapi/data-transfer': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@testing-library/dom': 10.4.1 @@ -15632,18 +15544,18 @@ snapshots: - supports-color - tedious - '@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@casl/ability': 6.7.5 '@internationalized/date': 3.5.4 '@radix-ui/react-context': 1.0.1(@types/react@18.3.27)(react@18.3.1) '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/data-transfer': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@testing-library/dom': 10.4.1 @@ -15663,7 +15575,7 @@ snapshots: fs-extra: 11.3.4 highlight.js: 10.7.3 immer: 9.0.21 - inquirer: 9.3.8(@types/node@25.6.2) + inquirer: 9.3.8(@types/node@22.19.15) invariant: 2.2.4 is-localhost-ip: 2.0.0 json-logic-js: 2.0.5 @@ -15682,7 +15594,108 @@ snapshots: punycode: 2.3.1 qs: 6.15.0 react: 18.3.1 - react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(react@18.3.1) + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react@18.3.1) + react-dnd-html5-backend: 16.0.1 + react-dom: 18.3.1(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-is: 18.3.1 + react-query: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-select: 5.8.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-window: 1.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rimraf: 6.1.3 + sanitize-html: 2.13.0 + scheduler: 0.23.0 + semver: 7.7.4 + sift: 16.0.1 + sonner: 2.0.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + typescript: 5.4.5 + use-context-selector: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.0) + yup: 0.32.9 + zod: 3.25.67 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@emotion/is-prop-valid' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - better-sqlite3 + - codemirror + - debug + - mongoose + - mysql + - mysql2 + - pg + - pg-native + - react-native + - redis + - redux + - sequelize + - sqlite3 + - supports-color + - tedious + + '@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@casl/ability': 6.7.5 + '@internationalized/date': 3.5.4 + '@radix-ui/react-context': 1.0.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@strapi/data-transfer': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/permissions': 5.45.0 + '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) + '@strapi/typescript-utils': 5.45.0 + '@strapi/utils': 5.45.0 + '@testing-library/dom': 10.4.1 + '@testing-library/react': 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) + axios: 1.15.1(debug@4.3.4) + bcryptjs: 2.4.3 + boxen: 5.1.2 + chalk: 4.1.2 + codemirror5: codemirror@5.65.20 + cross-env: 7.0.3 + date-fns: 2.30.0 + execa: 5.1.1 + fast-deep-equal: 3.1.3 + formik: 2.4.5(@types/react@18.3.27)(react@18.3.1) + fractional-indexing: 3.2.0 + fs-extra: 11.3.4 + highlight.js: 10.7.3 + immer: 9.0.21 + inquirer: 9.3.8(@types/node@25.6.2) + invariant: 2.2.4 + is-localhost-ip: 2.0.0 + json-logic-js: 2.0.5 + jsonwebtoken: 9.0.0 + koa: 2.16.4 + koa-compose: 4.1.0 + koa-passport: 6.0.0 + koa-static: 5.0.0 + koa2-ratelimit: 1.1.3 + lodash: 4.18.1 + motion: 12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + ora: 5.4.1 + p-map: 4.0.0 + passport-local: 1.0.0 + pluralize: 8.0.0 + punycode: 2.3.1 + qs: 6.15.0 + react: 18.3.1 + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) @@ -15814,7 +15827,7 @@ snapshots: - debug - supports-color - '@strapi/content-manager@5.45.0(281ba7ad21afdcee2a33ee9f89a6172c)': + '@strapi/content-manager@5.45.0(2dd099ca8fd1f71a392535adca5480d4)': dependencies: '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -15822,10 +15835,10 @@ snapshots: '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@sindresorhus/slugify': 1.1.0 - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 codemirror5: codemirror@5.65.20 date-fns: 2.30.0 @@ -15888,7 +15901,7 @@ snapshots: - tedious - typescript - '@strapi/content-manager@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3)': + '@strapi/content-manager@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -15896,10 +15909,10 @@ snapshots: '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@sindresorhus/slugify': 1.1.0 - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 codemirror5: codemirror@5.65.20 date-fns: 2.30.0 @@ -15921,7 +15934,7 @@ snapshots: prismjs: 1.30.0 qs: 6.15.0 react: 18.3.1 - react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react@18.3.27)(react@18.3.1) + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) react-helmet: 6.1.0(react@18.3.1) @@ -15962,7 +15975,7 @@ snapshots: - tedious - typescript - '@strapi/content-manager@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/content-manager@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -15970,10 +15983,10 @@ snapshots: '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@sindresorhus/slugify': 1.1.0 - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 codemirror5: codemirror@5.65.20 date-fns: 2.30.0 @@ -16047,7 +16060,7 @@ snapshots: '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 codemirror5: codemirror@5.65.20 date-fns: 2.30.0 @@ -16110,15 +16123,136 @@ snapshots: - tedious - typescript + '@strapi/content-manager@5.45.0(a9b76aa34f1504abeb0b42a2c8d40aa5)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@sindresorhus/slugify': 1.1.0 + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5) + '@strapi/utils': 5.45.0 + codemirror5: codemirror@5.65.20 + date-fns: 2.30.0 + fractional-indexing: 3.2.0 + highlight.js: 10.7.3 + immer: 9.0.21 + koa: 2.16.4 + lodash: 4.18.1 + markdown-it: 14.1.1 + markdown-it-abbr: 1.0.4 + markdown-it-container: 3.0.0 + markdown-it-deflist: 2.1.0 + markdown-it-emoji: 2.0.2 + markdown-it-footnote: 3.0.3 + markdown-it-ins: 3.0.1 + markdown-it-mark: 3.0.1 + markdown-it-sub: 1.0.0 + markdown-it-sup: 1.0.0 + prismjs: 1.30.0 + qs: 6.15.0 + react: 18.3.1 + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react@18.3.27)(react@18.3.1) + react-dnd-html5-backend: 16.0.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet: 6.1.0(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-query: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-window: 1.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + sanitize-html: 2.13.0 + slate: 0.94.1 + slate-history: 0.93.0(slate@0.94.1) + slate-react: 0.98.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.94.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - better-sqlite3 + - codemirror + - mysql + - mysql2 + - pg + - pg-native + - react-native + - redux + - sqlite3 + - supports-color + - tedious + - typescript + '@strapi/content-releases@5.45.0(06441361dfd87dc5eedae81efa8fed80)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/content-manager': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) + '@strapi/utils': 5.45.0 + date-fns: 2.30.0 + date-fns-tz: 2.0.1(date-fns@2.30.0) + formik: 2.4.5(@types/react@18.3.27)(react@18.3.1) + lodash: 4.18.1 + qs: 6.15.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - better-sqlite3 + - codemirror + - mysql + - mysql2 + - pg + - pg-native + - react-native + - redux + - sqlite3 + - supports-color + - tedious + - typescript + + '@strapi/content-releases@5.45.0(3d5abac40cdfa54fdc823883b88864c6)': + dependencies: + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(2dd099ca8fd1f71a392535adca5480d4) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 date-fns: 2.30.0 date-fns-tz: 2.0.1(date-fns@2.30.0) @@ -16157,15 +16291,15 @@ snapshots: - tedious - typescript - '@strapi/content-releases@5.45.0(81bb9770fb4fc4e5d7db583f72c4f42c)': + '@strapi/content-releases@5.45.0(78240d9eb17cdd7432a9b210f9fa896b)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) - '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 date-fns: 2.30.0 date-fns-tz: 2.0.1(date-fns@2.30.0) @@ -16204,15 +16338,15 @@ snapshots: - tedious - typescript - '@strapi/content-releases@5.45.0(94f037caf7d798727f582c91e5dfde36)': + '@strapi/content-releases@5.45.0(8cc443ea0fabc20723049e1378312409)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(281ba7ad21afdcee2a33ee9f89a6172c) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) - '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 date-fns: 2.30.0 date-fns-tz: 2.0.1(date-fns@2.30.0) @@ -16251,15 +16385,15 @@ snapshots: - tedious - typescript - '@strapi/content-releases@5.45.0(a2ac9dd7f14f7fe63e3beeeee45e1f4a)': + '@strapi/content-releases@5.45.0(cc4735a7e9ee78c6d6724c3174893470)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3) - '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(a9b76aa34f1504abeb0b42a2c8d40aa5) + '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 date-fns: 2.30.0 date-fns-tz: 2.0.1(date-fns@2.30.0) @@ -16298,7 +16432,7 @@ snapshots: - tedious - typescript - '@strapi/content-type-builder@5.45.0(9670ad46178941efe9bd0a987ba70425)': + '@strapi/content-type-builder@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@ai-sdk/react': 2.0.120(react@18.3.1)(zod@3.25.67) '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16307,9 +16441,9 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@sindresorhus/slugify': 1.1.0 - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@20.19.37) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 ai: 5.0.52(zod@3.25.67) @@ -16350,7 +16484,7 @@ snapshots: - supports-color - typescript - '@strapi/content-type-builder@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/content-type-builder@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@ai-sdk/react': 2.0.120(react@18.3.1)(zod@3.25.67) '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16359,9 +16493,9 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@sindresorhus/slugify': 1.1.0 - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@20.19.37) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 ai: 5.0.52(zod@3.25.67) @@ -16402,7 +16536,7 @@ snapshots: - supports-color - typescript - '@strapi/content-type-builder@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@25.6.2)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/content-type-builder@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@25.6.2)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@ai-sdk/react': 2.0.120(react@18.3.1)(zod@3.25.67) '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16411,7 +16545,7 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@sindresorhus/slugify': 1.1.0 - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@25.6.2) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) @@ -16474,17 +16608,145 @@ snapshots: immer: 9.0.21 jszip: 3.10.1 lodash: 4.18.1 - micromatch: 4.0.8 - pluralize: 8.0.0 + micromatch: 4.0.8 + pluralize: 8.0.0 + qs: 6.15.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-dropzone: 14.3.8(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-markdown: 9.1.0(@types/react@18.3.27)(react@18.3.1) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + zod: 3.25.67 + transitivePeerDependencies: + - '@babel/preset-env' + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - codemirror + - react-native + - redux + - supports-color + - typescript + + '@strapi/content-type-builder@5.45.0(fcfab75157115b101f93cae93f93d3e2)': + dependencies: + '@ai-sdk/react': 2.0.120(react@18.3.1)(zod@3.25.67) + '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/modifiers': 9.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@sindresorhus/slugify': 1.1.0 + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/utils': 5.45.0 + ai: 5.0.52(zod@3.25.67) + date-fns: 2.30.0 + fs-extra: 11.3.4 + immer: 9.0.21 + jszip: 3.10.1 + lodash: 4.18.1 + micromatch: 4.0.8 + pluralize: 8.0.0 + qs: 6.15.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-dropzone: 14.3.8(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-markdown: 9.1.0(@types/react@18.3.27)(react@18.3.1) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + zod: 3.25.67 + transitivePeerDependencies: + - '@babel/preset-env' + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - codemirror + - react-native + - redux + - supports-color + - typescript + + '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@koa/cors': 5.0.0 + '@koa/router': 12.0.2 + '@paralleldrive/cuid2': 2.2.2 + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) + '@strapi/logger': 5.45.0 + '@strapi/permissions': 5.45.0 + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) + '@strapi/typescript-utils': 5.45.0 + '@strapi/utils': 5.45.0 + '@vercel/stega': 0.1.2 + bcryptjs: 2.4.3 + boxen: 5.1.2 + chalk: 4.1.2 + ci-info: 4.0.0 + cli-table3: 0.6.5 + commander: 8.3.0 + configstore: 5.0.1 + debug: 4.3.4 + delegates: 1.0.0 + dotenv: 16.6.1 + execa: 5.1.1 + fs-extra: 11.3.4 + glob: 13.0.6 + global-agent: 4.1.3 + http-errors: 2.0.0 + inquirer: 9.3.8(@types/node@22.19.15) + is-docker: 2.2.1 + json-logic-js: 2.0.5 + jsonwebtoken: 9.0.0 + koa: 2.16.4 + koa-body: 6.0.1 + koa-compose: 4.1.0 + koa-compress: 5.1.1 + koa-favicon: 2.1.0 + koa-helmet: 7.0.2 + koa-ip: 2.1.4 + koa-session: 6.4.0 + koa-static: 5.0.0 + lodash: 4.18.1 + mime-types: 2.1.35 + node-schedule: 2.1.1 + open: 8.4.0 + ora: 5.4.1 + package-json: 7.0.0 + pkg-up: 3.1.0 qs: 6.15.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-dropzone: 14.3.8(react@18.3.1) - react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) - react-markdown: 9.1.0(@types/react@18.3.27)(react@18.3.1) - react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) - react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + resolve.exports: 2.0.2 + semver: 7.7.4 + statuses: 2.0.1 + typescript: 5.4.5 + undici: 6.25.0 yup: 0.32.9 zod: 3.25.67 transitivePeerDependencies: @@ -16497,26 +16759,42 @@ snapshots: - '@codemirror/state' - '@codemirror/theme-one-dark' - '@codemirror/view' + - '@emotion/is-prop-valid' + - '@strapi/data-transfer' + - '@types/hoist-non-react-statics' - '@types/node' - '@types/react' - '@types/react-dom' + - better-sqlite3 - codemirror + - mongoose + - mysql + - mysql2 + - pg + - pg-native + - react + - react-dom - react-native + - react-router-dom + - redis - redux + - sequelize + - sqlite3 + - styled-components - supports-color - - typescript + - tedious - '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@koa/cors': 5.0.0 '@koa/router': 12.0.2 '@paralleldrive/cuid2': 2.2.2 - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@vercel/stega': 0.1.2 @@ -16598,17 +16876,17 @@ snapshots: - supports-color - tedious - '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@koa/cors': 5.0.0 '@koa/router': 12.0.2 '@paralleldrive/cuid2': 2.2.2 - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) - '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@20.19.37) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@vercel/stega': 0.1.2 @@ -16627,7 +16905,7 @@ snapshots: glob: 13.0.6 global-agent: 4.1.3 http-errors: 2.0.0 - inquirer: 9.3.8(@types/node@22.19.15) + inquirer: 9.3.8(@types/node@20.19.37) is-docker: 2.2.1 json-logic-js: 2.0.5 jsonwebtoken: 9.0.0 @@ -16690,17 +16968,17 @@ snapshots: - supports-color - tedious - '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@koa/cors': 5.0.0 '@koa/router': 12.0.2 '@paralleldrive/cuid2': 2.2.2 - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1) - '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@20.19.37) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@vercel/stega': 0.1.2 @@ -16719,7 +16997,7 @@ snapshots: glob: 13.0.6 global-agent: 4.1.3 http-errors: 2.0.0 - inquirer: 9.3.8(@types/node@20.19.37) + inquirer: 9.3.8(@types/node@22.19.15) is-docker: 2.2.1 json-logic-js: 2.0.5 jsonwebtoken: 9.0.0 @@ -16782,17 +17060,17 @@ snapshots: - supports-color - tedious - '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@strapi/core@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@koa/cors': 5.0.0 '@koa/router': 12.0.2 '@paralleldrive/cuid2': 2.2.2 - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@25.6.2) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 '@strapi/utils': 5.45.0 '@vercel/stega': 0.1.2 @@ -16874,10 +17152,10 @@ snapshots: - supports-color - tedious - '@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3)': + '@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3)': dependencies: '@strapi/logger': 5.45.0 - '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 chalk: 4.1.2 cli-table3: 0.6.5 @@ -16907,10 +17185,10 @@ snapshots: - typescript - utf-8-validate - '@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5)': + '@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5)': dependencies: '@strapi/logger': 5.45.0 - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 chalk: 4.1.2 cli-table3: 0.6.5 @@ -16940,10 +17218,10 @@ snapshots: - typescript - utf-8-validate - '@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5)': + '@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5)': dependencies: '@strapi/logger': 5.45.0 - '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) '@strapi/utils': 5.45.0 chalk: 4.1.2 cli-table3: 0.6.5 @@ -16973,7 +17251,7 @@ snapshots: - typescript - utf-8-validate - '@strapi/database@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)': + '@strapi/database@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)': dependencies: '@paralleldrive/cuid2': 2.2.2 '@strapi/utils': 5.45.0 @@ -16981,7 +17259,7 @@ snapshots: date-fns: 2.30.0 debug: 4.3.4 fs-extra: 11.3.4 - knex: 3.0.1(better-sqlite3@12.4.1) + knex: 3.0.1(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) lodash: 4.18.1 semver: 7.7.4 umzug: 3.8.1(@types/node@20.19.37) @@ -16996,7 +17274,7 @@ snapshots: - supports-color - tedious - '@strapi/database@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)': + '@strapi/database@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)': dependencies: '@paralleldrive/cuid2': 2.2.2 '@strapi/utils': 5.45.0 @@ -17004,7 +17282,7 @@ snapshots: date-fns: 2.30.0 debug: 4.3.4 fs-extra: 11.3.4 - knex: 3.0.1(better-sqlite3@12.4.1) + knex: 3.0.1(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) lodash: 4.18.1 semver: 7.7.4 umzug: 3.8.1(@types/node@22.19.15) @@ -17019,7 +17297,7 @@ snapshots: - supports-color - tedious - '@strapi/database@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)': + '@strapi/database@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)': dependencies: '@paralleldrive/cuid2': 2.2.2 '@strapi/utils': 5.45.0 @@ -17027,7 +17305,7 @@ snapshots: date-fns: 2.30.0 debug: 4.3.4 fs-extra: 11.3.4 - knex: 3.0.1(better-sqlite3@12.4.1) + knex: 3.0.1(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) lodash: 4.18.1 semver: 7.7.4 umzug: 3.8.1(@types/node@25.6.2) @@ -17130,9 +17408,9 @@ snapshots: - '@types/react-dom' - codemirror - '@strapi/email@5.45.0(20516bbcac1223e373fd57643222ac34)': + '@strapi/email@5.45.0(6f09bdadcb7e05b1684bd5f6bc0b4792)': dependencies: - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-email-sendmail': 5.45.0 @@ -17166,9 +17444,9 @@ snapshots: - sequelize - typescript - '@strapi/email@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/email@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-email-sendmail': 5.45.0 @@ -17202,9 +17480,45 @@ snapshots: - sequelize - typescript - '@strapi/email@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/email@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + dependencies: + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/provider-email-sendmail': 5.45.0 + '@strapi/utils': 5.45.0 + koa: 2.16.4 + koa2-ratelimit: 1.1.3 + lodash: 4.18.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-query: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + zod: 3.25.67 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/react' + - '@types/react-dom' + - codemirror + - mongoose + - react-native + - redis + - sequelize + - typescript + + '@strapi/email@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-email-sendmail': 5.45.0 @@ -17325,11 +17639,11 @@ snapshots: - '@types/node' - supports-color - '@strapi/i18n@5.45.0(139a44b58064561409a595be68613af9)': + '@strapi/i18n@5.45.0(3afe6a421cdd0340b736d0254f0ad8d0)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 @@ -17359,11 +17673,45 @@ snapshots: - redux - typescript - '@strapi/i18n@5.45.0(db13f53260e53cf611ea0b64c98d5af3)': + '@strapi/i18n@5.45.0(5c454bb9872a60c5a3d5bafc53c3d62e)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/utils': 5.45.0 + lodash: 4.18.1 + qs: 6.15.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + zod: 3.25.67 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/react' + - '@types/react-dom' + - codemirror + - react-native + - redux + - typescript + + '@strapi/i18n@5.45.0(7ca8a48680208855d0a8eedd3fe8c3d8)': + dependencies: + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(2dd099ca8fd1f71a392535adca5480d4) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 @@ -17393,11 +17741,11 @@ snapshots: - redux - typescript - '@strapi/i18n@5.45.0(f02ba39f509c4c6b0dc872a0ea908136)': + '@strapi/i18n@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@strapi/content-manager@5.45.0(b0ad71e1a3bd4a4a9b6c6599ea1e1c42))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(a9b76aa34f1504abeb0b42a2c8d40aa5) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 @@ -17427,11 +17775,11 @@ snapshots: - redux - typescript - '@strapi/i18n@5.45.0(f6e0154ee730b3223a6b25004d5b6858)': + '@strapi/i18n@5.45.0(db13f53260e53cf611ea0b64c98d5af3)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(281ba7ad21afdcee2a33ee9f89a6172c) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 @@ -17498,17 +17846,54 @@ snapshots: '@strapi/utils': 5.45.0 fs-extra: 11.3.4 - '@strapi/review-workflows@5.45.0(63a90304635990d7adc129d0931e6e5d)': + '@strapi/review-workflows@5.45.0(581a41e8f4a8a542f816fab637512836)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3) - '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 fractional-indexing: 3.2.0 react: 18.3.1 - react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react@18.3.27)(react@18.3.1) + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react@18.3.1) + react-dnd-html5-backend: 16.0.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet: 6.1.0(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - codemirror + - react-native + - redux + - typescript + + '@strapi/review-workflows@5.45.0(67bf8fa8efa9019b791b9779d6be0b77)': + dependencies: + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/utils': 5.45.0 + fractional-indexing: 3.2.0 + react: 18.3.1 + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) react-helmet: 6.1.0(react@18.3.1) @@ -17572,11 +17957,11 @@ snapshots: - redux - typescript - '@strapi/review-workflows@5.45.0(7a68c0c3a39d750a00cf75dc780d6a15)': + '@strapi/review-workflows@5.45.0(ba9f2796ad9ca763f69ee05a800cf995)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(281ba7ad21afdcee2a33ee9f89a6172c) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(2dd099ca8fd1f71a392535adca5480d4) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 @@ -17609,17 +17994,17 @@ snapshots: - redux - typescript - '@strapi/review-workflows@5.45.0(c6c17c7a9aa9468b39195dd2866f1db2)': + '@strapi/review-workflows@5.45.0(faa194a3eab8a02449aee6431781b9e8)': dependencies: '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) - '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/content-manager': 5.45.0(a9b76aa34f1504abeb0b42a2c8d40aa5) + '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/utils': 5.45.0 fractional-indexing: 3.2.0 react: 18.3.1 - react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(react@18.3.1) + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react@18.3.27)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) react-helmet: 6.1.0(react@18.3.1) @@ -17709,40 +18094,160 @@ snapshots: transitivePeerDependencies: - '@types/node' - debug - - jiti + - jiti + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(esbuild@0.27.7)(koa@2.16.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': + dependencies: + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(esbuild@0.27.7)) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/cloud-cli': 5.45.0(@types/node@22.19.15) + '@strapi/content-manager': 5.45.0(2dd099ca8fd1f71a392535adca5480d4) + '@strapi/content-releases': 5.45.0(3d5abac40cdfa54fdc823883b88864c6) + '@strapi/content-type-builder': 5.45.0(fcfab75157115b101f93cae93f93d3e2) + '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/email': 5.45.0(6f09bdadcb7e05b1684bd5f6bc0b4792) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) + '@strapi/i18n': 5.45.0(7ca8a48680208855d0a8eedd3fe8c3d8) + '@strapi/logger': 5.45.0 + '@strapi/openapi': 5.45.0 + '@strapi/permissions': 5.45.0 + '@strapi/review-workflows': 5.45.0(ba9f2796ad9ca763f69ee05a800cf995) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) + '@strapi/typescript-utils': 5.45.0 + '@strapi/upload': 5.45.0(2dd099ca8fd1f71a392535adca5480d4) + '@strapi/utils': 5.45.0 + '@types/nodemon': 1.19.6 + '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@22.19.15)(terser@5.44.1)) + boxen: 5.1.2 + browserslist: 4.28.1 + browserslist-to-esbuild: 1.2.0 + chalk: 4.1.2 + chokidar: 3.6.0 + ci-info: 4.0.0 + cli-progress: 3.12.0 + cli-table3: 0.6.5 + commander: 8.3.0 + concurrently: 8.2.2 + css-loader: 6.11.0(webpack@5.104.1(esbuild@0.27.7)) + dotenv: 16.6.1 + esbuild-loader: 4.4.3(webpack@5.104.1(esbuild@0.27.7)) + esbuild-register: 3.6.0(esbuild@0.27.7) + execa: 5.1.1 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.104.1(esbuild@0.27.7)) + fs-extra: 11.3.4 + get-latest-version: 5.1.0 + git-url-parse: 14.0.0 + html-webpack-plugin: 5.6.0(webpack@5.104.1(esbuild@0.27.7)) + inquirer: 9.3.8(@types/node@22.19.15) + lodash: 4.18.1 + mini-css-extract-plugin: 2.7.7(webpack@5.104.1(esbuild@0.27.7)) + nodemon: 3.0.2 + ora: 5.4.1 + outdent: 0.8.0 + pkg-up: 3.1.0 + prettier: 3.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-refresh: 0.14.0 + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + read-pkg-up: 7.0.1 + resolve-from: 5.0.0 + semver: 7.7.4 + style-loader: 3.3.4(webpack@5.104.1(esbuild@0.27.7)) + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + typescript: 5.4.5 + vite: 5.4.21(@types/node@22.19.15)(terser@5.44.1) + webpack: 5.104.1(esbuild@0.27.7) + webpack-bundle-analyzer: 4.10.2 + webpack-dev-middleware: 6.1.2(webpack@5.104.1(esbuild@0.27.7)) + webpack-hot-middleware: 2.26.1 + yup: 0.32.9 + transitivePeerDependencies: + - '@babel/preset-env' + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@emotion/is-prop-valid' + - '@rspack/core' + - '@swc/core' + - '@swc/helpers' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - '@types/webpack' + - better-sqlite3 + - bufferutil + - codemirror + - debug + - esbuild + - koa - less - lightningcss - - rollup + - mongoose + - mysql + - mysql2 + - pg + - pg-native + - react-native + - redis + - redux - sass - sass-embedded + - sequelize + - sockjs-client + - sqlite3 - stylus - sugarss - supports-color + - tedious - terser - - tsx - - yaml + - type-fest + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-dev-server + - webpack-plugin-serve - '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': + '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': dependencies: '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(esbuild@0.27.7)) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/cloud-cli': 5.45.0(@types/node@22.19.15) - '@strapi/content-manager': 5.45.0(281ba7ad21afdcee2a33ee9f89a6172c) - '@strapi/content-releases': 5.45.0(94f037caf7d798727f582c91e5dfde36) - '@strapi/content-type-builder': 5.45.0(9670ad46178941efe9bd0a987ba70425) - '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) - '@strapi/email': 5.45.0(20516bbcac1223e373fd57643222ac34) + '@strapi/content-manager': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) + '@strapi/content-releases': 5.45.0(06441361dfd87dc5eedae81efa8fed80) + '@strapi/content-type-builder': 5.45.0(a548054c6436ae29b7751bb56a82e3a5) + '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/email': 5.45.0(cc81fabc00bcdcd5cbe7491e556ce4a6) '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) - '@strapi/i18n': 5.45.0(f6e0154ee730b3223a6b25004d5b6858) + '@strapi/i18n': 5.45.0(db13f53260e53cf611ea0b64c98d5af3) '@strapi/logger': 5.45.0 '@strapi/openapi': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/review-workflows': 5.45.0(7a68c0c3a39d750a00cf75dc780d6a15) - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/review-workflows': 5.45.0(6efd850661c87cdee6e9bdeb5d4e38ed) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 - '@strapi/upload': 5.45.0(281ba7ad21afdcee2a33ee9f89a6172c) + '@strapi/upload': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) '@strapi/utils': 5.45.0 '@types/nodemon': 1.19.6 '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@22.19.15)(terser@5.44.1)) @@ -17842,30 +18347,30 @@ snapshots: - webpack-dev-server - webpack-plugin-serve - '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': + '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': dependencies: '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(esbuild@0.27.7)) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/cloud-cli': 5.45.0(@types/node@22.19.15) - '@strapi/content-manager': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) - '@strapi/content-releases': 5.45.0(06441361dfd87dc5eedae81efa8fed80) - '@strapi/content-type-builder': 5.45.0(a548054c6436ae29b7751bb56a82e3a5) - '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) - '@strapi/email': 5.45.0(cc81fabc00bcdcd5cbe7491e556ce4a6) - '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) - '@strapi/i18n': 5.45.0(db13f53260e53cf611ea0b64c98d5af3) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/cloud-cli': 5.45.0(@types/node@20.19.37) + '@strapi/content-manager': 5.45.0(a9b76aa34f1504abeb0b42a2c8d40aa5) + '@strapi/content-releases': 5.45.0(cc4735a7e9ee78c6d6724c3174893470) + '@strapi/content-type-builder': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/data-transfer': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3) + '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) + '@strapi/email': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@20.19.37) + '@strapi/i18n': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@strapi/content-manager@5.45.0(b0ad71e1a3bd4a4a9b6c6599ea1e1c42))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) '@strapi/logger': 5.45.0 '@strapi/openapi': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/review-workflows': 5.45.0(6efd850661c87cdee6e9bdeb5d4e38ed) - '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/review-workflows': 5.45.0(faa194a3eab8a02449aee6431781b9e8) + '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 - '@strapi/upload': 5.45.0(a20f679b1f9ef8cd0185499c75461f4e) + '@strapi/upload': 5.45.0(b0ad71e1a3bd4a4a9b6c6599ea1e1c42) '@strapi/utils': 5.45.0 '@types/nodemon': 1.19.6 - '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@22.19.15)(terser@5.44.1)) + '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1)) boxen: 5.1.2 browserslist: 4.28.1 browserslist-to-esbuild: 1.2.0 @@ -17886,7 +18391,7 @@ snapshots: get-latest-version: 5.1.0 git-url-parse: 14.0.0 html-webpack-plugin: 5.6.0(webpack@5.104.1(esbuild@0.27.7)) - inquirer: 9.3.8(@types/node@22.19.15) + inquirer: 9.3.8(@types/node@20.19.37) lodash: 4.18.1 mini-css-extract-plugin: 2.7.7(webpack@5.104.1(esbuild@0.27.7)) nodemon: 3.0.2 @@ -17904,7 +18409,7 @@ snapshots: style-loader: 3.3.4(webpack@5.104.1(esbuild@0.27.7)) styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) typescript: 5.4.5 - vite: 5.4.21(@types/node@22.19.15)(terser@5.44.1) + vite: 5.4.21(@types/node@20.19.37)(terser@5.44.1) webpack: 5.104.1(esbuild@0.27.7) webpack-bundle-analyzer: 4.10.2 webpack-dev-middleware: 6.1.2(webpack@5.104.1(esbuild@0.27.7)) @@ -17962,30 +18467,30 @@ snapshots: - webpack-dev-server - webpack-plugin-serve - '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': + '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': dependencies: '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(esbuild@0.27.7)) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/cloud-cli': 5.45.0(@types/node@20.19.37) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3) - '@strapi/content-releases': 5.45.0(a2ac9dd7f14f7fe63e3beeeee45e1f4a) - '@strapi/content-type-builder': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) - '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/data-transfer': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3) - '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1) - '@strapi/email': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) - '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@20.19.37) - '@strapi/i18n': 5.45.0(f02ba39f509c4c6b0dc872a0ea908136) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/cloud-cli': 5.45.0(@types/node@22.19.15) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/content-releases': 5.45.0(8cc443ea0fabc20723049e1378312409) + '@strapi/content-type-builder': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/data-transfer': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/email': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@22.19.15) + '@strapi/i18n': 5.45.0(3afe6a421cdd0340b736d0254f0ad8d0) '@strapi/logger': 5.45.0 '@strapi/openapi': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/review-workflows': 5.45.0(63a90304635990d7adc129d0931e6e5d) - '@strapi/types': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/review-workflows': 5.45.0(581a41e8f4a8a542f816fab637512836) + '@strapi/types': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 - '@strapi/upload': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/upload': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) '@strapi/utils': 5.45.0 '@types/nodemon': 1.19.6 - '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1)) + '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@22.19.15)(terser@5.44.1)) boxen: 5.1.2 browserslist: 4.28.1 browserslist-to-esbuild: 1.2.0 @@ -18006,7 +18511,7 @@ snapshots: get-latest-version: 5.1.0 git-url-parse: 14.0.0 html-webpack-plugin: 5.6.0(webpack@5.104.1(esbuild@0.27.7)) - inquirer: 9.3.8(@types/node@20.19.37) + inquirer: 9.3.8(@types/node@22.19.15) lodash: 4.18.1 mini-css-extract-plugin: 2.7.7(webpack@5.104.1(esbuild@0.27.7)) nodemon: 3.0.2 @@ -18024,7 +18529,7 @@ snapshots: style-loader: 3.3.4(webpack@5.104.1(esbuild@0.27.7)) styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) typescript: 5.4.5 - vite: 5.4.21(@types/node@20.19.37)(terser@5.44.1) + vite: 5.4.21(@types/node@22.19.15)(terser@5.44.1) webpack: 5.104.1(esbuild@0.27.7) webpack-bundle-analyzer: 4.10.2 webpack-dev-middleware: 6.1.2(webpack@5.104.1(esbuild@0.27.7)) @@ -18082,27 +18587,27 @@ snapshots: - webpack-dev-server - webpack-plugin-serve - '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': + '@strapi/strapi@5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@swc/helpers@0.5.18)(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(esbuild@0.27.7)(koa@2.16.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.44.1)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))': dependencies: '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2(webpack@5.104.1(esbuild@0.27.7)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(esbuild@0.27.7)) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/cloud-cli': 5.45.0(@types/node@25.6.2) - '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) - '@strapi/content-releases': 5.45.0(81bb9770fb4fc4e5d7db583f72c4f42c) - '@strapi/content-type-builder': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@25.6.2)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) - '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/data-transfer': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) - '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1) - '@strapi/email': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/content-manager': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/content-releases': 5.45.0(78240d9eb17cdd7432a9b210f9fa896b) + '@strapi/content-type-builder': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@25.6.2)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/core': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/data-transfer': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) + '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) + '@strapi/email': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(koa@2.16.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) '@strapi/generators': 5.45.0(@babel/preset-env@7.29.2(@babel/core@7.28.5))(@types/node@25.6.2) - '@strapi/i18n': 5.45.0(139a44b58064561409a595be68613af9) + '@strapi/i18n': 5.45.0(5c454bb9872a60c5a3d5bafc53c3d62e) '@strapi/logger': 5.45.0 '@strapi/openapi': 5.45.0 '@strapi/permissions': 5.45.0 - '@strapi/review-workflows': 5.45.0(c6c17c7a9aa9468b39195dd2866f1db2) - '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5) + '@strapi/review-workflows': 5.45.0(67bf8fa8efa9019b791b9779d6be0b77) + '@strapi/types': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5) '@strapi/typescript-utils': 5.45.0 - '@strapi/upload': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) + '@strapi/upload': 5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5) '@strapi/utils': 5.45.0 '@types/nodemon': 1.19.6 '@vitejs/plugin-react-swc': 3.6.0(@swc/helpers@0.5.18)(vite@5.4.21(@types/node@25.6.2)(terser@5.44.1)) @@ -18202,12 +18707,12 @@ snapshots: - webpack-dev-server - webpack-plugin-serve - '@strapi/types@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5)': + '@strapi/types@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5)': dependencies: '@casl/ability': 6.7.5 '@koa/cors': 5.0.0 '@koa/router': 12.0.2 - '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 '@strapi/utils': 5.45.0 @@ -18232,12 +18737,12 @@ snapshots: - tedious - typescript - '@strapi/types@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3)': + '@strapi/types@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.9.3)': dependencies: '@casl/ability': 6.7.5 '@koa/cors': 5.0.0 '@koa/router': 12.0.2 - '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 '@strapi/utils': 5.45.0 @@ -18262,12 +18767,12 @@ snapshots: - tedious - typescript - '@strapi/types@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5)': + '@strapi/types@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5)': dependencies: '@casl/ability': 6.7.5 '@koa/cors': 5.0.0 '@koa/router': 12.0.2 - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 '@strapi/utils': 5.45.0 @@ -18292,12 +18797,12 @@ snapshots: - tedious - typescript - '@strapi/types@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.9.3)': + '@strapi/types@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.9.3)': dependencies: '@casl/ability': 6.7.5 '@koa/cors': 5.0.0 '@koa/router': 12.0.2 - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 '@strapi/utils': 5.45.0 @@ -18322,12 +18827,12 @@ snapshots: - tedious - typescript - '@strapi/types@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5)': + '@strapi/types@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5)': dependencies: '@casl/ability': 6.7.5 '@koa/cors': 5.0.0 '@koa/router': 12.0.2 - '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 '@strapi/utils': 5.45.0 @@ -18352,12 +18857,12 @@ snapshots: - tedious - typescript - '@strapi/types@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.9.3)': + '@strapi/types@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.9.3)': dependencies: '@casl/ability': 6.7.5 '@koa/cors': 5.0.0 '@koa/router': 12.0.2 - '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) '@strapi/logger': 5.45.0 '@strapi/permissions': 5.45.0 '@strapi/utils': 5.45.0 @@ -18420,14 +18925,14 @@ snapshots: - '@types/react' - '@types/react-dom' - '@strapi/upload@5.45.0(281ba7ad21afdcee2a33ee9f89a6172c)': + '@strapi/upload@5.45.0(2dd099ca8fd1f71a392535adca5480d4)': dependencies: '@mux/mux-player-react': 3.1.0(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) + '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(codemirror@5.65.20)(debug@4.3.4)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-upload-local': 5.45.0 @@ -18483,15 +18988,15 @@ snapshots: - tedious - typescript - '@strapi/upload@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.9.3))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/upload@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@mux/mux-player-react': 3.1.0(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1) - '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) + '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-upload-local': 5.45.0 '@strapi/utils': 5.45.0 @@ -18509,7 +19014,7 @@ snapshots: prop-types: 15.8.1 qs: 6.15.0 react: 18.3.1 - react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react@18.3.27)(react@18.3.1) + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react@18.3.27)(react@18.3.1) react-dom: 18.3.1(react@18.3.1) react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) react-query: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -18546,14 +19051,14 @@ snapshots: - tedious - typescript - '@strapi/upload@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': + '@strapi/upload@5.45.0(@strapi/admin@5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.4.5)': dependencies: '@mux/mux-player-react': 3.1.0(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) - '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@25.6.2)(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@25.6.2)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0) '@strapi/design-system': 2.2.0(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-upload-local': 5.45.0 @@ -18616,7 +19121,7 @@ snapshots: '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@strapi/admin': 5.45.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@22.19.15)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@22.19.15)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(debug@4.3.4)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1) + '@strapi/database': 5.45.0(@types/node@22.19.15)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0) '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@strapi/provider-upload-local': 5.45.0 @@ -18672,6 +19177,69 @@ snapshots: - tedious - typescript + '@strapi/upload@5.45.0(b0ad71e1a3bd4a4a9b6c6599ea1e1c42)': + dependencies: + '@mux/mux-player-react': 3.1.0(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@strapi/admin': 5.45.0(@emotion/is-prop-valid@1.4.0)(@strapi/data-transfer@5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(typescript@5.4.5))(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(better-sqlite3@12.4.1)(debug@4.3.4)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/database': 5.45.0(@types/node@20.19.37)(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0) + '@strapi/design-system': 2.2.0(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(@strapi/icons@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(codemirror@5.65.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/icons': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@strapi/provider-upload-local': 5.45.0 + '@strapi/utils': 5.45.0 + byte-size: 8.1.1 + cropperjs: 1.6.1 + date-fns: 2.30.0 + file-type: 21.3.4 + formik: 2.4.5(@types/react@18.3.27)(react@18.3.1) + fs-extra: 11.3.4 + immer: 9.0.21 + koa-range: 0.3.0 + koa-static: 5.0.0 + lodash: 4.18.1 + mime-types: 2.1.35 + prop-types: 15.8.1 + qs: 6.15.0 + react: 18.3.1 + react-dnd: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.3.27))(@types/node@20.19.37)(@types/react@18.3.27)(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + react-intl: 6.6.2(react@18.3.1)(typescript@5.4.5) + react-query: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-redux: 8.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-router-dom: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-select: 5.8.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + sharp: 0.33.5 + styled-components: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + yup: 0.32.9 + zod: 3.25.67 + transitivePeerDependencies: + - '@babel/runtime' + - '@codemirror/autocomplete' + - '@codemirror/language' + - '@codemirror/lint' + - '@codemirror/search' + - '@codemirror/state' + - '@codemirror/theme-one-dark' + - '@codemirror/view' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - better-sqlite3 + - codemirror + - mysql + - mysql2 + - pg + - pg-native + - react-native + - redux + - sqlite3 + - supports-color + - tedious + - typescript + '@strapi/utils@5.45.0': dependencies: '@sindresorhus/slugify': 1.1.0 @@ -19774,6 +20342,8 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 + aws-ssl-profiles@1.1.2: {} + axios@1.15.1(debug@4.3.4): dependencies: follow-redirects: 1.15.11(debug@4.3.4) @@ -19845,36 +20415,38 @@ snapshots: bcryptjs@2.4.3: {} - better-auth@1.5.6(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))): + better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))): dependencies: - '@better-auth/core': 1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1) - '@better-auth/drizzle-adapter': 1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1) - '@better-auth/kysely-adapter': 1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.12) - '@better-auth/memory-adapter': 1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1) - '@better-auth/mongo-adapter': 1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0) - '@better-auth/prisma-adapter': 1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1))(@better-auth/utils@0.3.1) - '@better-auth/telemetry': 1.5.6(@better-auth/core@1.5.6(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.12)(nanostores@1.1.1)) - '@better-auth/utils': 0.3.1 + '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) + '@better-auth/drizzle-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0) + '@better-auth/kysely-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(kysely@0.28.17) + '@better-auth/memory-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0) + '@better-auth/mongo-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(mongodb@7.1.0) + '@better-auth/prisma-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0) + '@better-auth/telemetry': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21) + '@better-auth/utils': 0.4.0 '@better-fetch/fetch': 1.1.21 '@noble/ciphers': 2.1.1 '@noble/hashes': 2.0.1 - better-call: 1.3.2(zod@4.3.6) + better-call: 1.3.5(zod@4.3.6) defu: 6.1.4 jose: 6.1.3 - kysely: 0.28.12 + kysely: 0.28.17 nanostores: 1.1.1 zod: 4.3.6 optionalDependencies: better-sqlite3: 12.4.1 mongodb: 7.1.0 + mysql2: 3.20.0(@types/node@20.19.37) + pg: 8.20.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) + vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1)) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' - better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1))): + better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))): dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/drizzle-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0) @@ -19896,14 +20468,16 @@ snapshots: optionalDependencies: better-sqlite3: 12.4.1 mongodb: 7.1.0 + mysql2: 3.20.0(@types/node@22.19.15) + pg: 8.20.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@20.19.37)(vite@5.4.21(@types/node@20.19.37)(terser@5.44.1)) + vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' - better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))): + better-auth@1.6.9(@opentelemetry/api@1.9.0)(better-sqlite3@12.4.1)(mongodb@7.1.0)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))): dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.3.6))(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1) '@better-auth/drizzle-adapter': 1.6.9(@better-auth/core@1.6.9(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(jose@6.1.3)(kysely@0.28.17)(nanostores@1.1.1))(@better-auth/utils@0.4.0) @@ -19925,22 +20499,15 @@ snapshots: optionalDependencies: better-sqlite3: 12.4.1 mongodb: 7.1.0 + mysql2: 3.20.0(@types/node@25.6.2) + pg: 8.20.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@22.19.15)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) + vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@6.4.1(@types/node@25.6.2)(jiti@1.21.7)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' - better-call@1.3.2(zod@4.3.6): - dependencies: - '@better-auth/utils': 0.3.1 - '@better-fetch/fetch': 1.1.21 - rou3: 0.7.12 - set-cookie-parser: 3.0.1 - optionalDependencies: - zod: 4.3.6 - better-call@1.3.5(zod@4.3.6): dependencies: '@better-auth/utils': 0.4.0 @@ -20037,10 +20604,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.4: - dependencies: - balanced-match: 4.0.4 - brace-expansion@5.0.5: dependencies: balanced-match: 4.0.4 @@ -20791,6 +21354,8 @@ snapshots: delegates@1.0.0: {} + denque@2.1.0: {} + depd@1.1.2: {} depd@2.0.0: {} @@ -21603,6 +22168,10 @@ snapshots: function-bind@1.1.2: {} + generate-function@2.3.1: + dependencies: + is-property: 1.0.2 + generator-function@2.0.1: {} gensync@1.0.0-beta.2: {} @@ -22342,6 +22911,8 @@ snapshots: is-plain-object@5.0.0: {} + is-property@1.0.2: {} + is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -22551,7 +23122,53 @@ snapshots: kleur@3.0.3: {} - knex@3.0.1(better-sqlite3@12.4.1): + knex@3.0.1(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@20.19.37))(pg@8.20.0): + dependencies: + colorette: 2.0.19 + commander: 10.0.1 + debug: 4.3.4 + escalade: 3.2.0 + esm: 3.2.25 + get-package-type: 0.1.0 + getopts: 2.3.0 + interpret: 2.2.0 + lodash: 4.18.1 + pg-connection-string: 2.6.1 + rechoir: 0.8.0 + resolve-from: 5.0.0 + tarn: 3.0.2 + tildify: 2.0.0 + optionalDependencies: + better-sqlite3: 12.4.1 + mysql2: 3.20.0(@types/node@20.19.37) + pg: 8.20.0 + transitivePeerDependencies: + - supports-color + + knex@3.0.1(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@22.19.15))(pg@8.20.0): + dependencies: + colorette: 2.0.19 + commander: 10.0.1 + debug: 4.3.4 + escalade: 3.2.0 + esm: 3.2.25 + get-package-type: 0.1.0 + getopts: 2.3.0 + interpret: 2.2.0 + lodash: 4.18.1 + pg-connection-string: 2.6.1 + rechoir: 0.8.0 + resolve-from: 5.0.0 + tarn: 3.0.2 + tildify: 2.0.0 + optionalDependencies: + better-sqlite3: 12.4.1 + mysql2: 3.20.0(@types/node@22.19.15) + pg: 8.20.0 + transitivePeerDependencies: + - supports-color + + knex@3.0.1(better-sqlite3@12.4.1)(mysql2@3.20.0(@types/node@25.6.2))(pg@8.20.0): dependencies: colorette: 2.0.19 commander: 10.0.1 @@ -22569,6 +23186,8 @@ snapshots: tildify: 2.0.0 optionalDependencies: better-sqlite3: 12.4.1 + mysql2: 3.20.0(@types/node@25.6.2) + pg: 8.20.0 transitivePeerDependencies: - supports-color @@ -22679,8 +23298,6 @@ snapshots: kuler@2.0.0: {} - kysely@0.28.12: {} - kysely@0.28.17: {} latest-version@7.0.0: @@ -22836,6 +23453,8 @@ snapshots: long-timeout@0.1.1: {} + long@5.3.2: {} + longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -22865,6 +23484,8 @@ snapshots: lodash.clonedeep: 4.5.0 lru-cache: 6.0.0 + lru.min@1.1.4: {} + lunr@2.3.9: {} luxon@3.7.2: {} @@ -23503,7 +24124,7 @@ snapshots: minimatch@10.2.3: dependencies: - brace-expansion: 5.0.4 + brace-expansion: 5.0.5 minimatch@10.2.5: dependencies: @@ -23585,12 +24206,54 @@ snapshots: mux-embed@5.15.0: {} + mysql2@3.20.0(@types/node@20.19.37): + dependencies: + '@types/node': 20.19.37 + aws-ssl-profiles: 1.1.2 + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.7.2 + long: 5.3.2 + lru.min: 1.1.4 + named-placeholders: 1.1.6 + sql-escaper: 1.3.3 + + mysql2@3.20.0(@types/node@22.19.15): + dependencies: + '@types/node': 22.19.15 + aws-ssl-profiles: 1.1.2 + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.7.2 + long: 5.3.2 + lru.min: 1.1.4 + named-placeholders: 1.1.6 + sql-escaper: 1.3.3 + optional: true + + mysql2@3.20.0(@types/node@25.6.2): + dependencies: + '@types/node': 25.6.2 + aws-ssl-profiles: 1.1.2 + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.7.2 + long: 5.3.2 + lru.min: 1.1.4 + named-placeholders: 1.1.6 + sql-escaper: 1.3.3 + optional: true + mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 + named-placeholders@1.1.6: + dependencies: + lru.min: 1.1.4 + nano-time@1.0.0: dependencies: big-integer: 1.6.52 @@ -23716,9 +24379,9 @@ snapshots: chokidar: 3.6.0 debug: 4.4.3(supports-color@5.5.0) ignore-by-default: 1.0.1 - minimatch: 3.1.2 + minimatch: 3.1.5 pstree.remy: 1.1.8 - semver: 7.7.3 + semver: 7.7.4 simple-update-notifier: 2.0.0 supports-color: 5.5.0 touch: 3.1.1 @@ -24026,8 +24689,43 @@ snapshots: pause@0.0.1: {} + pg-cloudflare@1.3.0: + optional: true + + pg-connection-string@2.12.0: {} + pg-connection-string@2.6.1: {} + pg-int8@1.0.1: {} + + pg-pool@3.13.0(pg@8.20.0): + dependencies: + pg: 8.20.0 + + pg-protocol@1.13.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.1 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg@8.20.0: + dependencies: + pg-connection-string: 2.12.0 + pg-pool: 3.13.0(pg@8.20.0) + pg-protocol: 1.13.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.3.0 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -24565,6 +25263,16 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postgres-array@2.0.0: {} + + postgres-bytea@1.0.1: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + prebuild-install@7.1.3: dependencies: detect-libc: 2.1.2 @@ -25785,8 +26493,12 @@ snapshots: transitivePeerDependencies: - supports-color + split2@4.2.0: {} + sprintf-js@1.0.3: {} + sql-escaper@1.3.3: {} + srcset@4.0.0: {} stack-trace@0.0.10: {} @@ -27022,6 +27734,8 @@ snapshots: xpath@0.0.34: {} + xtend@4.0.2: {} + y18n@5.0.8: {} yallist@3.1.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d2bdaa4..e646e9f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - apps/* - packages/* + - plugins/* catalogs: playwright: @@ -19,3 +20,5 @@ catalogs: onlyBuiltDependencies: - better-sqlite3 + +syncInjectedDepsAfterScripts: ['build'] diff --git a/turbo.json b/turbo.json index 7cd9be0..d1747bc 100644 --- a/turbo.json +++ b/turbo.json @@ -9,19 +9,48 @@ "lint": { "dependsOn": ["^lint"] }, + "lint:ts:admin": { + "dependsOn": ["^lint:ts:admin"] + }, + "lint:ts:server": { + "dependsOn": ["^lint:ts:server"] + }, "test:integration": { - "dependsOn": ["^test:integration"] + "cache": false, + "passThroughEnv": [ + "DATABASE_CLIENT", + "DATABASE_HOST", + "DATABASE_PORT", + "DATABASE_NAME", + "DATABASE_USERNAME", + "DATABASE_PASSWORD", + "DATABASE_FILENAME" + ] }, "test:e2e": { - "dependsOn": ["^test:e2e"], - "cache": false - }, - "check-types": { - "dependsOn": ["^check-types"] + "cache": false, + "passThroughEnv": [ + "DATABASE_CLIENT", + "DATABASE_HOST", + "DATABASE_PORT", + "DATABASE_NAME", + "DATABASE_USERNAME", + "DATABASE_PASSWORD", + "DATABASE_FILENAME" + ] }, "dev": { "cache": false, - "persistent": true + "persistent": true, + "passThroughEnv": [ + "DATABASE_CLIENT", + "DATABASE_HOST", + "DATABASE_PORT", + "DATABASE_NAME", + "DATABASE_USERNAME", + "DATABASE_PASSWORD", + "DATABASE_FILENAME" + ] } } }