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/jest": "29.5.12",
"@types/minimist": "1.2.5",
"@types/node": "20.12.5",
"@types/node": "22.5.4",
"@types/prompts": "^2.4.5",
"@types/react": "npm:types-react@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",
"swc-plugin-transform-remove-imports": "1.15.0",
"tempy": "1.0.1",
"tsx": "4.17.0",
"tsx": "4.19.1",
"turbo": "^2.1.1",
"typescript": "5.5.4"
"typescript": "5.6.2"
},
"peerDependencies": {
"react": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",

View File

@@ -68,6 +68,6 @@
"@types/esprima": "^4.0.6",
"@types/fs-extra": "^9.0.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-regexp": "2.6.0",
"globals": "15.9.0",
"typescript": "5.5.4",
"typescript": "5.6.2",
"typescript-eslint": "8.3.0"
}
}

View File

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

View File

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

View File

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

View File

@@ -132,7 +132,7 @@ export const promise = async ({
req,
schemaPath: fieldSchemaPath,
siblingData: siblingData?.[field.name]?.[i] || {},
siblingDoc: ({ ...(row as JsonObject) } as JsonObject) || {},
siblingDoc: row ? { ...row } : {},
}),
)
})
@@ -167,7 +167,7 @@ export const promise = async ({
req,
schemaPath: fieldSchemaPath,
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 DataLoader from 'dataloader'
import type { URL } from 'url'
import type { TypeWithID, TypeWithTimestamps } from '../collections/config/types.js'
import type payload from '../index.js'

View File

@@ -48,7 +48,7 @@
"@payloadcms/eslint-config": "workspace:*",
"@types/express": "^4.17.9",
"@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-dom": "npm:types-react-dom@19.0.0-rc.0",
"copyfiles": "^2.4.1",

View File

@@ -81,7 +81,7 @@
"@payloadcms/eslint-config": "workspace:*",
"@types/escape-html": "1.0.4",
"@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-dom": "npm:types-react-dom@19.0.0-rc.0",
"babel-plugin-react-compiler": "0.0.0-experimental-48eb8f4-20240822",

View File

@@ -51,7 +51,7 @@
"devDependencies": {
"@payloadcms/eslint-config": "workspace:*",
"@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-dom": "npm:types-react-dom@19.0.0-rc.0",
"payload": "workspace:*"

View File

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

View File

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

View File

@@ -133,7 +133,7 @@ export function UploadInput(props: UploadInputProps) {
id: {
...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),
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"
},
"devDependencies": {
"@types/node": "^20.14.9",
"@types/node": "^22.5.4",
"@types/react": "npm:types-react@19.0.0-rc.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
"eslint": "^8",
"eslint-config-next": "15.0.0-canary.104",
"typescript": "5.5.4"
"typescript": "5.6.2"
},
"engines": {
"node": "^18.20.2 || >=20.9.0"

View File

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

View File

@@ -1,25 +1,25 @@
{
"name": "@payloadcms/template-ecommerce",
"description": "E-commerce template for Payload",
"version": "1.0.0",
"main": "dist/server.js",
"description": "E-commerce template for Payload",
"license": "MIT",
"main": "dist/server.js",
"scripts": {
"dev": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts nodemon",
"stripe:webhooks": "stripe listen --forward-to localhost:8000/stripe/webhooks",
"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": "cross-env NODE_ENV=production yarn build:payload && yarn build:server && yarn copyfiles && yarn build:next",
"build:next": "cross-env PAYLOAD_CONFIG_PATH=dist/payload/payload.config.js NEXT_BUILD=true node dist/server.js",
"build:payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload build",
"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/",
"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:types": "cross-env PAYLOAD_CONFIG_PATH=src/payload/payload.config.ts payload generate:types",
"lint": "eslint 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": {
"@payloadcms/bundler-webpack": "^1.0.0",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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