perf: upgrade ajv, and upgrade typescript to 5.6.2 in monorepo (#8204)

Ajv 8.14.0 => 8.17.1

- Bundle size: 119.6kB => 111kB
- Dependencies: 5 => 4
- Gets rid of dependency on `punycode`. Will help with the annoying
deprecated module console warning spam

This also upgrades TypeScript to 5.6.2 in our monorepo. The most
type-relevant packages are updated as well, e.g. ts-essentials and
@types/node
This commit is contained in:
Alessio Gravili
2024-09-13 10:48:53 -07:00
committed by GitHub
parent ec624bd1f2
commit fbc28b0249
27 changed files with 1743 additions and 1685 deletions

View File

@@ -116,7 +116,7 @@
"@types/fs-extra": "^11.0.2", "@types/fs-extra": "^11.0.2",
"@types/jest": "29.5.12", "@types/jest": "29.5.12",
"@types/minimist": "1.2.5", "@types/minimist": "1.2.5",
"@types/node": "20.12.5", "@types/node": "22.5.4",
"@types/prompts": "^2.4.5", "@types/prompts": "^2.4.5",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
@@ -159,9 +159,9 @@
"sort-package-json": "^2.10.0", "sort-package-json": "^2.10.0",
"swc-plugin-transform-remove-imports": "1.15.0", "swc-plugin-transform-remove-imports": "1.15.0",
"tempy": "1.0.1", "tempy": "1.0.1",
"tsx": "4.17.0", "tsx": "4.19.1",
"turbo": "^2.1.1", "turbo": "^2.1.1",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"peerDependencies": { "peerDependencies": {
"react": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801", "react": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",

View File

@@ -68,6 +68,6 @@
"@types/esprima": "^4.0.6", "@types/esprima": "^4.0.6",
"@types/fs-extra": "^9.0.12", "@types/fs-extra": "^9.0.12",
"@types/jest": "29.5.12", "@types/jest": "29.5.12",
"@types/node": "20.12.5" "@types/node": "22.5.4"
} }
} }

View File

@@ -33,7 +33,7 @@
"eslint-plugin-react-hooks": "5.1.0-rc-a19a8ab4-20240829", "eslint-plugin-react-hooks": "5.1.0-rc-a19a8ab4-20240829",
"eslint-plugin-regexp": "2.6.0", "eslint-plugin-regexp": "2.6.0",
"globals": "15.9.0", "globals": "15.9.0",
"typescript": "5.5.4", "typescript": "5.6.2",
"typescript-eslint": "8.3.0" "typescript-eslint": "8.3.0"
} }
} }

View File

@@ -32,7 +32,7 @@
"eslint-plugin-react-hooks": "5.1.0-rc-a19a8ab4-20240829", "eslint-plugin-react-hooks": "5.1.0-rc-a19a8ab4-20240829",
"eslint-plugin-regexp": "2.6.0", "eslint-plugin-regexp": "2.6.0",
"globals": "15.9.0", "globals": "15.9.0",
"typescript": "5.5.4", "typescript": "5.6.2",
"typescript-eslint": "8.3.0" "typescript-eslint": "8.3.0"
} }
} }

View File

@@ -45,8 +45,8 @@
"dependencies": { "dependencies": {
"graphql-scalars": "1.22.2", "graphql-scalars": "1.22.2",
"pluralize": "8.0.0", "pluralize": "8.0.0",
"ts-essentials": "7.0.3", "ts-essentials": "10.0.2",
"tsx": "4.17.0" "tsx": "4.19.1"
}, },
"devDependencies": { "devDependencies": {
"@payloadcms/eslint-config": "workspace:*", "@payloadcms/eslint-config": "workspace:*",

View File

@@ -88,7 +88,7 @@
"@next/env": "^15.0.0-canary.104", "@next/env": "^15.0.0-canary.104",
"@payloadcms/translations": "workspace:*", "@payloadcms/translations": "workspace:*",
"@types/busboy": "1.5.4", "@types/busboy": "1.5.4",
"ajv": "8.14.0", "ajv": "8.17.1",
"bson-objectid": "2.0.4", "bson-objectid": "2.0.4",
"ci-info": "^4.0.0", "ci-info": "^4.0.0",
"console-table-printer": "2.11.2", "console-table-printer": "2.11.2",
@@ -107,8 +107,8 @@
"pluralize": "8.0.0", "pluralize": "8.0.0",
"sanitize-filename": "1.6.3", "sanitize-filename": "1.6.3",
"scmp": "2.1.0", "scmp": "2.1.0",
"ts-essentials": "7.0.3", "ts-essentials": "10.0.2",
"tsx": "4.17.0", "tsx": "4.19.1",
"uuid": "10.0.0" "uuid": "10.0.0"
}, },
"devDependencies": { "devDependencies": {

View File

@@ -132,7 +132,7 @@ export const promise = async ({
req, req,
schemaPath: fieldSchemaPath, schemaPath: fieldSchemaPath,
siblingData: siblingData?.[field.name]?.[i] || {}, siblingData: siblingData?.[field.name]?.[i] || {},
siblingDoc: ({ ...(row as JsonObject) } as JsonObject) || {}, siblingDoc: row ? { ...row } : {},
}), }),
) )
}) })
@@ -167,7 +167,7 @@ export const promise = async ({
req, req,
schemaPath: fieldSchemaPath, schemaPath: fieldSchemaPath,
siblingData: siblingData?.[field.name]?.[i] || {}, siblingData: siblingData?.[field.name]?.[i] || {},
siblingDoc: ({ ...(row as JsonObject) } as JsonObject) || {}, siblingDoc: row ? { ...row } : {},
}), }),
) )
} }

View File

@@ -1,5 +1,6 @@
import type { I18n, TFunction } from '@payloadcms/translations' import type { I18n, TFunction } from '@payloadcms/translations'
import type DataLoader from 'dataloader' import type DataLoader from 'dataloader'
import type { URL } from 'url'
import type { TypeWithID, TypeWithTimestamps } from '../collections/config/types.js' import type { TypeWithID, TypeWithTimestamps } from '../collections/config/types.js'
import type payload from '../index.js' import type payload from '../index.js'

View File

@@ -48,7 +48,7 @@
"@payloadcms/eslint-config": "workspace:*", "@payloadcms/eslint-config": "workspace:*",
"@types/express": "^4.17.9", "@types/express": "^4.17.9",
"@types/jest": "29.5.12", "@types/jest": "29.5.12",
"@types/node": "20.12.5", "@types/node": "22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"copyfiles": "^2.4.1", "copyfiles": "^2.4.1",

View File

@@ -81,7 +81,7 @@
"@payloadcms/eslint-config": "workspace:*", "@payloadcms/eslint-config": "workspace:*",
"@types/escape-html": "1.0.4", "@types/escape-html": "1.0.4",
"@types/json-schema": "7.0.15", "@types/json-schema": "7.0.15",
"@types/node": "20.12.5", "@types/node": "22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"babel-plugin-react-compiler": "0.0.0-experimental-48eb8f4-20240822", "babel-plugin-react-compiler": "0.0.0-experimental-48eb8f4-20240822",

View File

@@ -51,7 +51,7 @@
"devDependencies": { "devDependencies": {
"@payloadcms/eslint-config": "workspace:*", "@payloadcms/eslint-config": "workspace:*",
"@types/is-hotkey": "^0.1.10", "@types/is-hotkey": "^0.1.10",
"@types/node": "20.12.5", "@types/node": "22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"payload": "workspace:*" "payload": "workspace:*"

View File

@@ -54,7 +54,7 @@
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"dotenv": "16.4.5", "dotenv": "16.4.5",
"prettier": "3.3.3", "prettier": "3.3.3",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"publishConfig": { "publishConfig": {
"exports": { "exports": {

View File

@@ -92,7 +92,7 @@
"react-select": "5.8.0", "react-select": "5.8.0",
"scheduler": "0.25.0-rc-f994737d14-20240522", "scheduler": "0.25.0-rc-f994737d14-20240522",
"sonner": "^1.5.0", "sonner": "^1.5.0",
"ts-essentials": "7.0.3", "ts-essentials": "10.0.2",
"use-context-selector": "2.0.0", "use-context-selector": "2.0.0",
"uuid": "10.0.0" "uuid": "10.0.0"
}, },

View File

@@ -133,7 +133,7 @@ export function UploadInput(props: UploadInputProps) {
id: { id: {
...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}), ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),
not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat( not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(
...((Array.isArray(value) || value ? [value] : []) || []), ...(Array.isArray(value) || value ? [value] : []),
), ),
}, },
}, },

636
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -28,12 +28,12 @@
"sharp": "0.32.6" "sharp": "0.32.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "15.0.0-canary.104", "eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -28,12 +28,12 @@
"sharp": "0.32.6" "sharp": "0.32.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "15.0.0-canary.104", "eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -1,25 +1,25 @@
{ {
"name": "@payloadcms/template-ecommerce", "name": "@payloadcms/template-ecommerce",
"description": "E-commerce template for Payload",
"version": "1.0.0", "version": "1.0.0",
"main": "dist/server.js", "description": "E-commerce template for Payload",
"license": "MIT", "license": "MIT",
"main": "dist/server.js",
"scripts": { "scripts": {
"dev": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts nodemon", "build": "cross-env NODE_ENV=production yarn build:payload && yarn build:server && yarn copyfiles && yarn build:next",
"stripe:webhooks": "stripe listen --forward-to localhost:8000/stripe/webhooks", "build:next": "cross-env PAYLOAD_CONFIG_PATH=dist/payload/payload.config.js NEXT_BUILD=true node dist/server.js",
"seed": "rm -rf media && cross-env PAYLOAD_SEED=true PAYLOAD_DROP_DATABASE=true PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts ts-node src/server.ts",
"build:payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload build", "build:payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload build",
"build:server": "tsc --project tsconfig.server.json", "build:server": "tsc --project tsconfig.server.json",
"build:next": "cross-env PAYLOAD_CONFIG_PATH=dist/payload/payload.config.js NEXT_BUILD=true node dist/server.js",
"build": "cross-env NODE_ENV=production yarn build:payload && yarn build:server && yarn copyfiles && yarn build:next",
"serve": "cross-env PAYLOAD_CONFIG_PATH=dist/payload/payload.config.js NODE_ENV=production node dist/server.js",
"eject": "yarn remove next react react-dom @next/eslint-plugin-next && ts-node eject.ts",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,js}\" dist/", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,js}\" dist/",
"generate:types": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload generate:types", "dev": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts nodemon",
"eject": "yarn remove next react react-dom @next/eslint-plugin-next && ts-node eject.ts",
"generate:graphQLSchema": "PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload generate:graphQLSchema", "generate:graphQLSchema": "PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload generate:graphQLSchema",
"generate:types": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload generate:types",
"lint": "eslint src", "lint": "eslint src",
"lint:fix": "eslint --fix --ext .ts,.tsx src", "lint:fix": "eslint --fix --ext .ts,.tsx src",
"payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload" "payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload",
"seed": "rm -rf media && cross-env PAYLOAD_SEED=true PAYLOAD_DROP_DATABASE=true PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts ts-node src/server.ts",
"serve": "cross-env PAYLOAD_CONFIG_PATH=dist/payload/payload.config.js NODE_ENV=production node dist/server.js",
"stripe:webhooks": "stripe listen --forward-to localhost:8000/stripe/webhooks"
}, },
"dependencies": { "dependencies": {
"@payloadcms/bundler-webpack": "^1.0.0", "@payloadcms/bundler-webpack": "^1.0.0",

View File

@@ -25,7 +25,7 @@
"sharp": "0.32.6" "sharp": "0.32.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"autoprefixer": "^10.0.1", "autoprefixer": "^10.0.1",
@@ -33,7 +33,7 @@
"eslint-config-next": "15.0.0-canary.53", "eslint-config-next": "15.0.0-canary.53",
"postcss": "^8", "postcss": "^8",
"tailwindcss": "^3.3.0", "tailwindcss": "^3.3.0",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -37,7 +37,7 @@
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"geist": "^1.3.0", "geist": "^1.3.0",
"graphql": "^16.8.2", "graphql": "^16.8.2",
"jsonwebtoken": "9.0.1", "jsonwebtoken": "9.0.2",
"lexical": "0.17.0", "lexical": "0.17.0",
"lucide-react": "^0.378.0", "lucide-react": "^0.378.0",
"next": "15.0.0-canary.104", "next": "15.0.0-canary.104",
@@ -57,7 +57,7 @@
"@tailwindcss/typography": "^0.5.13", "@tailwindcss/typography": "^0.5.13",
"@types/escape-html": "^1.0.2", "@types/escape-html": "^1.0.2",
"@types/jsonwebtoken": "^9.0.6", "@types/jsonwebtoken": "^9.0.6",
"@types/node": "18.11.3", "@types/node": "22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
@@ -67,7 +67,7 @@
"postcss": "^8.4.38", "postcss": "^8.4.38",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"tailwindcss": "^3.4.3", "tailwindcss": "^3.4.3",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

File diff suppressed because it is too large Load Diff

View File

@@ -28,12 +28,12 @@
"sharp": "0.32.6" "sharp": "0.32.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "15.0.0-canary.104", "eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -28,12 +28,12 @@
"sharp": "0.32.6" "sharp": "0.32.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "15.0.0-canary.104", "eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -28,12 +28,12 @@
"react-dom": "19.0.0-rc-06d0b89e-20240801" "react-dom": "19.0.0-rc-06d0b89e-20240801"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "15.0.0-canary.104", "eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -1,5 +1,5 @@
{ {
"name": "payload-vercel-postgres-template", "name": "template-blank-3.0",
"version": "1.0.0", "version": "1.0.0",
"description": "A blank template to get started with Payload 3.0", "description": "A blank template to get started with Payload 3.0",
"license": "MIT", "license": "MIT",
@@ -15,25 +15,25 @@
"start": "cross-env NODE_OPTIONS=--no-deprecation next start" "start": "cross-env NODE_OPTIONS=--no-deprecation next start"
}, },
"dependencies": { "dependencies": {
"@payloadcms/db-vercel-postgres": "beta", "@payloadcms/db-mongodb": "beta",
"@payloadcms/next": "beta", "@payloadcms/next": "beta",
"@payloadcms/plugin-cloud": "beta", "@payloadcms/plugin-cloud": "beta",
"@payloadcms/richtext-lexical": "beta", "@payloadcms/richtext-lexical": "beta",
"@payloadcms/storage-vercel-blob": "beta",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "15.0.0-canary.104", "next": "15.0.0-canary.104",
"payload": "beta", "payload": "beta",
"react": "19.0.0-rc-06d0b89e-20240801", "react": "19.0.0-rc-06d0b89e-20240801",
"react-dom": "19.0.0-rc-06d0b89e-20240801" "react-dom": "19.0.0-rc-06d0b89e-20240801",
"sharp": "0.32.6"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0", "@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "15.0.0-canary.104", "eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4" "typescript": "5.6.2"
}, },
"engines": { "engines": {
"node": "^18.20.2 || >=20.9.0" "node": "^18.20.2 || >=20.9.0"

View File

@@ -1,9 +1,10 @@
import { vercelBlobStorage } from '@payloadcms/storage-vercel-blob' // storage-adapter-import-placeholder
import { vercelPostgresAdapter } from '@payloadcms/db-vercel-postgres' import { mongooseAdapter } from '@payloadcms/db-mongodb' // database-adapter-import
import { lexicalEditor } from '@payloadcms/richtext-lexical' import { lexicalEditor } from '@payloadcms/richtext-lexical'
import path from 'path' import path from 'path'
import { buildConfig } from 'payload' import { buildConfig } from 'payload'
import { fileURLToPath } from 'url' import { fileURLToPath } from 'url'
import sharp from 'sharp'
import { Users } from './collections/Users' import { Users } from './collections/Users'
import { Media } from './collections/Media' import { Media } from './collections/Media'
@@ -24,17 +25,13 @@ export default buildConfig({
typescript: { typescript: {
outputFile: path.resolve(dirname, 'payload-types.ts'), outputFile: path.resolve(dirname, 'payload-types.ts'),
}, },
db: vercelPostgresAdapter({ // database-adapter-config-start
pool: { db: mongooseAdapter({
connectionString: process.env.POSTGRES_URL || '', url: process.env.DATABASE_URI || '',
},
}), }),
// database-adapter-config-end
sharp,
plugins: [ plugins: [
vercelBlobStorage({ // storage-adapter-placeholder
collections: {
[Media.slug]: true,
},
token: process.env.BLOB_READ_WRITE_TOKEN || '',
}),
], ],
}) })

View File

@@ -79,8 +79,8 @@
"server-only": "^0.0.1", "server-only": "^0.0.1",
"slate": "0.91.4", "slate": "0.91.4",
"tempy": "^1.0.1", "tempy": "^1.0.1",
"ts-essentials": "7.0.3", "ts-essentials": "10.0.2",
"typescript": "5.5.4", "typescript": "5.6.2",
"uploadthing": "^6.10.1", "uploadthing": "^6.10.1",
"uuid": "10.0.0" "uuid": "10.0.0"
}, },