From 31d0b8acbf43beaeda5aa914dad8694dc79b5af0 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 10:38:07 -0500 Subject: [PATCH 1/7] ci: use turbo for build --- .github/workflows/main.yml | 4 +-- .gitignore | 1 + package.json | 29 +++++++++++++++++++--- packages/db-mongodb/package.json | 2 +- packages/db-postgres/package.json | 2 +- packages/live-preview-react/package.json | 2 +- packages/live-preview/package.json | 2 +- packages/next/package.json | 2 +- packages/payload/package.json | 2 +- packages/plugin-cloud-storage/package.json | 2 +- packages/plugin-cloud/package.json | 2 +- packages/plugin-form-builder/package.json | 2 +- packages/plugin-nested-docs/package.json | 2 +- packages/plugin-redirects/package.json | 2 +- packages/plugin-search/package.json | 2 +- packages/plugin-sentry/package.json | 2 +- packages/plugin-seo/package.json | 2 +- packages/richtext-lexical/package.json | 2 +- packages/richtext-slate/package.json | 2 +- packages/translations/package.json | 2 +- packages/ui/package.json | 2 +- turbo.json | 2 +- 22 files changed, 47 insertions(+), 25 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba2453120..27a506c20 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,7 @@ on: pull_request: types: [ opened, reopened, synchronize ] push: - branches: [ 'main' ] + branches: ['main'] jobs: changes: @@ -71,7 +71,7 @@ jobs: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - run: pnpm install - - run: pnpm run build + - run: pnpm run build:all - name: Cache build uses: actions/cache@v3 diff --git a/.gitignore b/.gitignore index 449518293..5912171ff 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ test-results /migrations /media .localstack +.turbo # Created by https://www.toptal.com/developers/gitignore/api/node,macos,windows,webstorm,sublimetext,visualstudiocode # Edit at https://www.toptal.com/developers/gitignore?templates=node,macos,windows,webstorm,sublimetext,visualstudiocode diff --git a/package.json b/package.json index c25ab7830..acde382b0 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,33 @@ "packages/*" ], "scripts": { - "build": "pnpm --filter payload run build", - "build:next": "next build", + "build": "pnpm run build:payload", "build:all": "turbo build", + "build:create-payload-app": "turbo build --filter create-payload-app", + "build:db-mongodb": "turbo build --filter db-mongodb", + "build:db-postgres": "turbo build --filter db-postgres", + "build:eslint-config-payload": "turbo build --filter eslint-config-payload", + "build:graphql": "turbo build --filter graphql", + "build:live-preview": "turbo build --filter live-preview", + "build:live-preview-react": "turbo build --filter live-preview-react", + "build:next": "turbo build --filter next", + "build:payload": "turbo build --filter payload", + "build:plugin-cloud": "turbo build --filter plugin-cloud", + "build:plugin-cloud-storage": "turbo build --filter plugin-cloud-storage", + "build:plugin-form-builder": "turbo build --filter plugin-form-builder", + "build:plugin-nested-docs": "turbo build --filter plugin-nested-docs", + "build:plugin-redirects": "turbo build --filter plugin-redirects", + "build:plugin-search": "turbo build --filter plugin-search", + "build:plugin-sentry": "turbo build --filter plugin-sentry", + "build:plugin-seo": "turbo build --filter plugin-seo", + "build:plugin-stripe": "turbo build --filter plugin-stripe", + "build:richtext-lexical": "turbo build --filter richtext-lexical", + "build:richtext-slate": "turbo build --filter richtext-slate", + "build:translations": "turbo build --filter translations", + "build:ui": "turbo build --filter ui", "clean": "rimraf dist && rimraf packages/payload/dist", "clean:cache": "rimraf node_modules/.cache && rimraf packages/payload/node_modules/.cache", - "clean:unix": "find . \\( -type d \\( -name node_modules -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} +", + "clean:all": "find . \\( -type d \\( -name node_modules -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} +", "dev": "cross-env node ./test/dev.js", "dev:generate-graphql-schema": "ts-node -T ./test/generateGraphQLSchema.ts", "dev:generate-types": "ts-node -T ./test/generateTypes.ts", @@ -24,7 +45,7 @@ "lint-staged": "lint-staged", "prepare": "husky install", "pretest": "pnpm build", - "reinstall": "pnpm clean:unix && pnpm install", + "reinstall": "pnpm clean:all && pnpm install", "script:list-packages": "tsx ./scripts/list-packages.ts", "script:release": "tsx ./scripts/release.ts", "test": "pnpm test:int && pnpm test:components && pnpm test:e2e", diff --git a/packages/db-mongodb/package.json b/packages/db-mongodb/package.json index 553cd8f48..5a8768391 100644 --- a/packages/db-mongodb/package.json +++ b/packages/db-mongodb/package.json @@ -17,7 +17,7 @@ "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "dependencies": { "bson-objectid": "2.0.4", diff --git a/packages/db-postgres/package.json b/packages/db-postgres/package.json index b9a35359b..8fb65a1a2 100644 --- a/packages/db-postgres/package.json +++ b/packages/db-postgres/package.json @@ -17,7 +17,7 @@ "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "dependencies": { "@libsql/client": "^0.5.2", diff --git a/packages/live-preview-react/package.json b/packages/live-preview-react/package.json index cca4d5d2a..71cee3b9d 100644 --- a/packages/live-preview-react/package.json +++ b/packages/live-preview-react/package.json @@ -14,7 +14,7 @@ "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "dependencies": { "@payloadcms/live-preview": "workspace:^0.x" diff --git a/packages/live-preview/package.json b/packages/live-preview/package.json index 552ac3b9f..0bd1aa44f 100644 --- a/packages/live-preview/package.json +++ b/packages/live-preview/package.json @@ -14,7 +14,7 @@ "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "devDependencies": { "@payloadcms/eslint-config": "workspace:*", diff --git a/packages/next/package.json b/packages/next/package.json index 009836759..95766b996 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -15,7 +15,7 @@ "copyfiles:api": "copyfiles -u 1 \"src/app/(payload)/**\" dist/template", "fix": "eslint \"src/**/*.{ts,tsx}\" --fix", "lint": "eslint \"src/**/*.{ts,tsx}\"", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "exports": { "./*": { diff --git a/packages/payload/package.json b/packages/payload/package.json index d2590c425..fae5ede52 100644 --- a/packages/payload/package.json +++ b/packages/payload/package.json @@ -32,7 +32,7 @@ "dev:postgres": "cross-env PAYLOAD_DATABASE=postgres nodemon", "fix": "eslint \"src/**/*.ts\" --fix", "lint": "eslint \"src/**/*.ts\"", - "prepublishOnly": "pnpm clean && pnpm build", + "prepublishOnly": "pnpm clean && pnpm turbo build", "pretest": "pnpm build", "release:beta": "release-it pre --preReleaseId=beta --npm.tag=beta --config .release-it.pre.js", "release:major": "release-it major", diff --git a/packages/plugin-cloud-storage/package.json b/packages/plugin-cloud-storage/package.json index c2983af42..8ba391e55 100644 --- a/packages/plugin-cloud-storage/package.json +++ b/packages/plugin-cloud-storage/package.json @@ -10,7 +10,7 @@ "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build", + "prepublishOnly": "pnpm clean && pnpm turbo build", "test": "echo \"No tests available.\"" }, "peerDependencies": { diff --git a/packages/plugin-cloud/package.json b/packages/plugin-cloud/package.json index 413329ea0..b0749bb2f 100644 --- a/packages/plugin-cloud/package.json +++ b/packages/plugin-cloud/package.json @@ -10,7 +10,7 @@ "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo} && rimraf dev/yarn.lock", - "prepublishOnly": "pnpm clean && pnpm build && pnpm test", + "prepublishOnly": "pnpm clean && pnpm turbo build && pnpm test", "test": "jest" }, "peerDependencies": { diff --git a/packages/plugin-form-builder/package.json b/packages/plugin-form-builder/package.json index 63b5da652..84666ec41 100644 --- a/packages/plugin-form-builder/package.json +++ b/packages/plugin-form-builder/package.json @@ -13,7 +13,7 @@ "build:types": "tsc --emitDeclarationOnly --outDir dist", "build": "pnpm build:swc && pnpm build:types", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build", + "prepublishOnly": "pnpm clean && pnpm turbo build", "test": "echo \"No tests available.\"" }, "peerDependencies": { diff --git a/packages/plugin-nested-docs/package.json b/packages/plugin-nested-docs/package.json index 52e97dde4..a877ab670 100644 --- a/packages/plugin-nested-docs/package.json +++ b/packages/plugin-nested-docs/package.json @@ -14,7 +14,7 @@ "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "devDependencies": { "@payloadcms/eslint-config": "workspace:*", diff --git a/packages/plugin-redirects/package.json b/packages/plugin-redirects/package.json index 20bf266fa..857938e31 100644 --- a/packages/plugin-redirects/package.json +++ b/packages/plugin-redirects/package.json @@ -12,7 +12,7 @@ "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "keywords": [ "payload", diff --git a/packages/plugin-search/package.json b/packages/plugin-search/package.json index 6e37c3565..f6356b9df 100644 --- a/packages/plugin-search/package.json +++ b/packages/plugin-search/package.json @@ -11,7 +11,7 @@ "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build", + "prepublishOnly": "pnpm clean && pnpm turbo build", "test": "echo \"Error: no tests specified\"" }, "keywords": [ diff --git a/packages/plugin-sentry/package.json b/packages/plugin-sentry/package.json index 4985f7435..643716d40 100644 --- a/packages/plugin-sentry/package.json +++ b/packages/plugin-sentry/package.json @@ -11,7 +11,7 @@ "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "keywords": [ "payload", diff --git a/packages/plugin-seo/package.json b/packages/plugin-seo/package.json index a7a473f6b..6aa6b1038 100644 --- a/packages/plugin-seo/package.json +++ b/packages/plugin-seo/package.json @@ -11,7 +11,7 @@ "lint": "eslint src", "lint:fix": "eslint --fix --ext .ts,.tsx src", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "keywords": [ "payload", diff --git a/packages/richtext-lexical/package.json b/packages/richtext-lexical/package.json index d273e556b..f0045ebef 100644 --- a/packages/richtext-lexical/package.json +++ b/packages/richtext-lexical/package.json @@ -15,7 +15,7 @@ "build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build", "clean": "rimraf {dist,*.tsbuildinfo}", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "dependencies": { "@faceless-ui/modal": "2.0.1", diff --git a/packages/richtext-slate/package.json b/packages/richtext-slate/package.json index d9ac47f7b..e2532e46d 100644 --- a/packages/richtext-slate/package.json +++ b/packages/richtext-slate/package.json @@ -14,7 +14,7 @@ "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "dependencies": { "@faceless-ui/modal": "2.0.1", diff --git a/packages/translations/package.json b/packages/translations/package.json index 6d5353f93..8dc8edbf4 100644 --- a/packages/translations/package.json +++ b/packages/translations/package.json @@ -7,7 +7,7 @@ "writeFiles": "npx ts-node ./writeTranslationFiles.ts", "build": "pnpm writeFiles && tsc", "clean": "rimraf {dist,*.tsbuildinfo}", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "publishConfig": { "access": "public" diff --git a/packages/ui/package.json b/packages/ui/package.json index 99b6316a1..61e35587f 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -11,7 +11,7 @@ "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/", "fix": "eslint \"src/**/*.{ts,tsx}\" --fix", "lint": "eslint \"src/**/*.{ts,tsx}\"", - "prepublishOnly": "pnpm clean && pnpm build" + "prepublishOnly": "pnpm clean && pnpm turbo build" }, "exports": { ".": "./src/exports/index.ts", diff --git a/turbo.json b/turbo.json index 29a1b5a3c..77b371bd9 100644 --- a/turbo.json +++ b/turbo.json @@ -5,7 +5,7 @@ "dependsOn": ["^clean"] }, "build": { - "cache": false, + "cache": true, "dependsOn": ["^build"], "outputs": ["./dist/**"] }, From 96810788fc822ab303601116a52cef45af320510 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 11:26:55 -0500 Subject: [PATCH 2/7] chore(ui): export TextFieldProps --- packages/ui/src/exports/forms.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/ui/src/exports/forms.ts b/packages/ui/src/exports/forms.ts index 464e3be18..4e39acbd6 100644 --- a/packages/ui/src/exports/forms.ts +++ b/packages/ui/src/exports/forms.ts @@ -33,6 +33,8 @@ export { default as RadioGroupInput } from '../forms/fields/RadioGroup' export type { OnChange } from '../forms/fields/RadioGroup/types' export { default as Select } from '../forms/fields/Select' export { default as SelectInput } from '../forms/fields/Select' +export { default as Text } from '../forms/fields/Text' +export type { Props as TextFieldProps } from '../forms/fields/Text/types' export { default as Textarea } from '../forms/fields/Textarea' export { fieldBaseClass } from '../forms/fields/shared' export { default as useField } from '../forms/useField' From 4d5bdf6b6f64b70ceb961623993e53af7d588524 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 11:27:17 -0500 Subject: [PATCH 3/7] chore(plugin-form-builder): fix some imports --- .../src/collections/Forms/DynamicFieldSelector.tsx | 3 +-- .../src/collections/Forms/DynamicPriceSelector.tsx | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/plugin-form-builder/src/collections/Forms/DynamicFieldSelector.tsx b/packages/plugin-form-builder/src/collections/Forms/DynamicFieldSelector.tsx index 7c7c6cb20..1fd0773d5 100644 --- a/packages/plugin-form-builder/src/collections/Forms/DynamicFieldSelector.tsx +++ b/packages/plugin-form-builder/src/collections/Forms/DynamicFieldSelector.tsx @@ -1,6 +1,6 @@ 'use client' -import type { TextField } from 'payload/dist/fields/config/types' +import type { TextField } from 'payload/types' import { Select, useForm } from '@payloadcms/ui' import React, { useEffect, useState } from 'react' @@ -13,7 +13,6 @@ export const DynamicFieldSelector: React.FC = (props) => { const [options, setOptions] = useState([]) useEffect(() => { - // @ts-ignore const fields: any[] = getDataByPath('fields') if (fields) { diff --git a/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx b/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx index 79da6fd52..df215e3b4 100644 --- a/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx +++ b/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx @@ -1,10 +1,10 @@ 'use client' -import type { Data } from 'payload/dist/admin/components/forms/Form/types' -import type { Props as TextFieldType } from 'payload/dist/admin/components/forms/field-types/Text/types' +import type { TextFieldProps } from '@payloadcms/ui/forms' +import type { Data } from 'payload/types' -import { Text, useWatchForm } from 'payload/components/forms' -import { useLocale } from 'payload/components/utilities' +import { useLocale, useWatchForm } from '@payloadcms/ui' +import { Text } from '@payloadcms/ui/forms' import React, { useEffect, useState } from 'react' type FieldWithID = { @@ -12,7 +12,7 @@ type FieldWithID = { name: string } -export const DynamicPriceSelector: React.FC = (props) => { +export const DynamicPriceSelector: React.FC = (props) => { const { label, path } = props const { fields, getData, getDataByPath } = useWatchForm() From a66d023f84d66615d22581fc99a843de94493ab4 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 11:52:19 -0500 Subject: [PATCH 4/7] chore: more reference and export fixes --- .../src/fields/parentFilterOptions.ts | 2 +- packages/plugin-nested-docs/src/index.ts | 2 +- packages/plugin-seo/src/index.ts | 3 +-- packages/plugin-seo/src/types.ts | 25 ++++++++++--------- packages/plugin-stripe/src/routes/webhooks.ts | 2 +- packages/ui/src/exports/providers.ts | 7 +++++- .../ui/src/providers/DocumentInfo/index.tsx | 2 ++ 7 files changed, 25 insertions(+), 18 deletions(-) diff --git a/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts b/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts index fc408820f..e1c532e0d 100644 --- a/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts +++ b/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts @@ -1,4 +1,4 @@ -import type { FilterOptions } from 'payload/dist/fields/config/types' +import type { FilterOptions } from 'payload/types' export const parentFilterOptions: (breadcrumbsFieldSlug?: string) => FilterOptions = (breadcrumbsFieldSlug = 'breadcrumbs') => diff --git a/packages/plugin-nested-docs/src/index.ts b/packages/plugin-nested-docs/src/index.ts index 2ae37e5e9..2063272a7 100644 --- a/packages/plugin-nested-docs/src/index.ts +++ b/packages/plugin-nested-docs/src/index.ts @@ -1,5 +1,5 @@ import type { Plugin } from 'payload/config' -import type { SingleRelationshipField } from 'payload/dist/fields/config/types' +import type { SingleRelationshipField } from 'payload/types' import type { PluginConfig } from './types' diff --git a/packages/plugin-seo/src/index.ts b/packages/plugin-seo/src/index.ts index fe60c34e8..b8a5d625f 100644 --- a/packages/plugin-seo/src/index.ts +++ b/packages/plugin-seo/src/index.ts @@ -1,5 +1,5 @@ import type { Config } from 'payload/config' -import type { Field, GroupField, TabsField } from 'payload/dist/fields/config/types' +import type { Field, GroupField, TabsField } from 'payload/types' import { deepMerge } from 'payload/utilities' @@ -30,7 +30,6 @@ const seo = }, label: 'Overview', }, - // @ts-expect-error { name: 'title', type: 'text', diff --git a/packages/plugin-seo/src/types.ts b/packages/plugin-seo/src/types.ts index 7504b2469..d0f1175ce 100644 --- a/packages/plugin-seo/src/types.ts +++ b/packages/plugin-seo/src/types.ts @@ -1,40 +1,41 @@ -import type { ContextType } from 'payload/dist/admin/components/utilities/DocumentInfo/types' -import type { Field, TextareaField, TextField, UploadField } from 'payload/dist/fields/config/types' +import type { Field, TextField, TextareaField, UploadField } from 'payload/types' + +import type { DocumentInfoContext } from '../../ui/src/providers/DocumentInfo/types' export type GenerateTitle = ( - args: ContextType & { doc: T; locale?: string }, + args: DocumentInfoContext & { doc: T; locale?: string }, ) => Promise | string export type GenerateDescription = ( - args: ContextType & { + args: DocumentInfoContext & { doc: T locale?: string }, ) => Promise | string export type GenerateImage = ( - args: ContextType & { doc: T; locale?: string }, + args: DocumentInfoContext & { doc: T; locale?: string }, ) => Promise | string export type GenerateURL = ( - args: ContextType & { doc: T; locale?: string }, + args: DocumentInfoContext & { doc: T; locale?: string }, ) => Promise | string export interface PluginConfig { collections?: string[] + fieldOverrides?: { + description?: Partial + image?: Partial + title?: Partial + } fields?: Field[] generateDescription?: GenerateDescription generateImage?: GenerateImage generateTitle?: GenerateTitle generateURL?: GenerateURL globals?: string[] - tabbedUI?: boolean - fieldOverrides?: { - title?: Partial - description?: Partial - image?: Partial - } interfaceName?: string + tabbedUI?: boolean uploadsCollection?: string } diff --git a/packages/plugin-stripe/src/routes/webhooks.ts b/packages/plugin-stripe/src/routes/webhooks.ts index e2fbc3e18..6a17b5145 100644 --- a/packages/plugin-stripe/src/routes/webhooks.ts +++ b/packages/plugin-stripe/src/routes/webhooks.ts @@ -1,6 +1,6 @@ import type { Response } from 'express' import type { Config as PayloadConfig } from 'payload/config' -import type { PayloadRequest } from 'payload/dist/types' +import type { PayloadRequest } from 'payload/types' import Stripe from 'stripe' diff --git a/packages/ui/src/exports/providers.ts b/packages/ui/src/exports/providers.ts index 238945f2e..8fb9d419f 100644 --- a/packages/ui/src/exports/providers.ts +++ b/packages/ui/src/exports/providers.ts @@ -7,7 +7,12 @@ export { ConfigProvider, useConfig } from '../providers/Config' export { CustomProvider } from '../providers/CustomProvider' export { useDocumentEvents } from '../providers/DocumentEvents' export { useDocumentInfo } from '../providers/DocumentInfo' -export { DocumentInfoProvider } from '../providers/DocumentInfo' +export { + type DocumentInfo, + type DocumentInfoContext, + type DocumentInfoProps, + DocumentInfoProvider, +} from '../providers/DocumentInfo' export { SetDocumentInfo } from '../providers/DocumentInfo/SetDocumentInfo' export { EditDepthContext, EditDepthProvider } from '../providers/EditDepth' export { useEditDepth } from '../providers/EditDepth' diff --git a/packages/ui/src/providers/DocumentInfo/index.tsx b/packages/ui/src/providers/DocumentInfo/index.tsx index a673aee1e..d773548ea 100644 --- a/packages/ui/src/providers/DocumentInfo/index.tsx +++ b/packages/ui/src/providers/DocumentInfo/index.tsx @@ -16,6 +16,8 @@ import { useTranslation } from '../Translation' const Context = createContext({} as DocumentInfoContext) +export type { DocumentInfo, DocumentInfoContext, DocumentInfoProps } + export const useDocumentInfo = (): DocumentInfoContext => useContext(Context) export const DocumentInfoProvider: React.FC< From 4699a37b4ba702203a1abf83d28733f9ad7ed43a Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 12:14:41 -0500 Subject: [PATCH 5/7] chore(plugin-cloud): remove req refs, UNTESTED --- packages/plugin-cloud/src/hooks/uploadCache.ts | 13 +++++++++---- packages/plugin-cloud/src/staticHandler.ts | 4 +++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/plugin-cloud/src/hooks/uploadCache.ts b/packages/plugin-cloud/src/hooks/uploadCache.ts index 5dd6570c1..9ad11d4cf 100644 --- a/packages/plugin-cloud/src/hooks/uploadCache.ts +++ b/packages/plugin-cloud/src/hooks/uploadCache.ts @@ -13,8 +13,10 @@ export const getCacheUploadsAfterChangeHook = async ({ doc, operation, req }) => { if (!req || !process.env.PAYLOAD_CLOUD_CACHE_KEY) return doc - const { res } = req - if (res) { + // WARNING: + // TODO: Test this for 3.0 + const { payloadAPI } = req + if (payloadAPI !== 'local') { if (operation === 'update') { // Unawaited promise void purge({ doc, endpoint, operation, req }) @@ -28,8 +30,11 @@ export const getCacheUploadsAfterDeleteHook = async ({ doc, req }) => { if (!req || !process.env.PAYLOAD_CLOUD_CACHE_KEY) return doc - const { res } = req - if (res) { + const { payloadAPI } = req + + // WARNING: + // TODO: Test this for 3.0 + if (payloadAPI !== 'local') { // Unawaited promise void purge({ doc, endpoint, operation: 'delete', req }) } diff --git a/packages/plugin-cloud/src/staticHandler.ts b/packages/plugin-cloud/src/staticHandler.ts index 93fee60c1..fa4398966 100644 --- a/packages/plugin-cloud/src/staticHandler.ts +++ b/packages/plugin-cloud/src/staticHandler.ts @@ -34,7 +34,9 @@ export const getStaticHandler = ({ cachingOptions, collection }: Args): StaticHa const Key = createKey({ collection: collection.slug, - filename: req.params.filename, + // WARNING: + // TODO: Untested for 3.0 + filename: req.file.name, identityID, }) From b3fd7206685741ec0e4da02801d00fd83691d4da Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 12:24:07 -0500 Subject: [PATCH 6/7] chore(plugin-cloud-storage): more req stuff --- .../plugin-cloud-storage/src/adapters/azure/staticHandler.ts | 4 +++- .../plugin-cloud-storage/src/adapters/gcs/staticHandler.ts | 4 +++- .../plugin-cloud-storage/src/adapters/s3/staticHandler.ts | 4 +++- packages/plugin-cloud/src/staticHandler.ts | 2 +- packages/richtext-slate/src/field/elements/getCommonBlock.tsx | 2 -- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts index 9ced1dbdd..1b4e3b509 100644 --- a/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts +++ b/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts @@ -18,7 +18,9 @@ export const getHandler = ({ collection, getStorageClient }: Args): StaticHandle try { const prefix = await getFilePrefix({ collection, req }) const blockBlobClient = getStorageClient().getBlockBlobClient( - path.posix.join(prefix, req.params.filename), + // WARNING: + // TODO: Untested for 3.0 + path.posix.join(prefix, req.routeParams.filename as string), ) const { end, start } = await getRangeFromHeader(blockBlobClient, req.headers.range) diff --git a/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts index e3add6d03..4335c989c 100644 --- a/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts +++ b/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts @@ -19,7 +19,9 @@ export const getHandler = ({ bucket, collection, getStorageClient }: Args): Stat const prefix = await getFilePrefix({ collection, req }) const file = getStorageClient() .bucket(bucket) - .file(path.posix.join(prefix, req.params.filename)) + // WARNING: + // TODO: Untested for 3.0 + .file(path.posix.join(prefix, req.routeParams.filename as string)) const [metadata] = await file.getMetadata() diff --git a/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts index fd0d069ca..edbd657a7 100644 --- a/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts +++ b/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts @@ -21,7 +21,9 @@ export const getHandler = ({ bucket, collection, getStorageClient }: Args): Stat const object = await getStorageClient().getObject({ Bucket: bucket, - Key: path.posix.join(prefix, req.params.filename), + // WARNING: + // TODO: Untested for 3.0 + Key: path.posix.join(prefix, req.routeParams.filename as string), }) res.set({ diff --git a/packages/plugin-cloud/src/staticHandler.ts b/packages/plugin-cloud/src/staticHandler.ts index fa4398966..c020bfdc0 100644 --- a/packages/plugin-cloud/src/staticHandler.ts +++ b/packages/plugin-cloud/src/staticHandler.ts @@ -36,7 +36,7 @@ export const getStaticHandler = ({ cachingOptions, collection }: Args): StaticHa collection: collection.slug, // WARNING: // TODO: Untested for 3.0 - filename: req.file.name, + filename: req.routeParams.filename as string, identityID, }) diff --git a/packages/richtext-slate/src/field/elements/getCommonBlock.tsx b/packages/richtext-slate/src/field/elements/getCommonBlock.tsx index 1e11ea4b9..a02a39e58 100644 --- a/packages/richtext-slate/src/field/elements/getCommonBlock.tsx +++ b/packages/richtext-slate/src/field/elements/getCommonBlock.tsx @@ -11,8 +11,6 @@ export const getCommonBlock = (editor: Editor, match?: NodeMatch): NodeEnt const [common, path] = Node.common(editor, range.anchor.path, range.focus.path) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error if (isBlockElement(editor, common) || Editor.isEditor(common)) { return [common, path] } From 33899405ba8b9d438a2f9608d86bfe39500e3e62 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 29 Feb 2024 12:24:32 -0500 Subject: [PATCH 7/7] chore(plugin-cloud-storage): disable build temporarily --- packages/plugin-cloud-storage/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugin-cloud-storage/package.json b/packages/plugin-cloud-storage/package.json index 8ba391e55..ec442ab99 100644 --- a/packages/plugin-cloud-storage/package.json +++ b/packages/plugin-cloud-storage/package.json @@ -6,7 +6,7 @@ "types": "dist/index.d.ts", "license": "MIT", "scripts": { - "build": "pnpm build:swc && pnpm build:types", + "build": "echo \"Build temporarily disabled.\" && exit 0", "build:swc": "swc ./src -d ./dist --config-file .swcrc", "build:types": "tsc --emitDeclarationOnly --outDir dist", "clean": "rimraf {dist,*.tsbuildinfo}",