chore: package type export consistency (#6232)
This commit is contained in:
@@ -72,9 +72,15 @@
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./dist/exports/*.js",
|
||||
"require": "./dist/exports/*.js",
|
||||
"types": "./dist/exports/*.d.ts"
|
||||
}
|
||||
},
|
||||
"main": "./dist/index.js",
|
||||
"registry": "https://registry.npmjs.org/",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"homepage:": "https://payloadcms.com"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { PluginConfig } from '../../../types.js'
|
||||
import type { FormBuilderPluginConfig } from '../../../types.js'
|
||||
|
||||
export const createCharge = async (
|
||||
beforeChangeData: any,
|
||||
formConfig: PluginConfig,
|
||||
formConfig: FormBuilderPluginConfig,
|
||||
): Promise<any> => {
|
||||
const { data, operation } = beforeChangeData
|
||||
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
import type { Email, FormattedEmail, PluginConfig } from '../../../types.js'
|
||||
import type { Email, FormBuilderPluginConfig, FormattedEmail } from '../../../types.js'
|
||||
|
||||
import { serializeLexical } from '../../../utilities/lexical/serializeLexical.js'
|
||||
import { replaceDoubleCurlys } from '../../../utilities/replaceDoubleCurlys.js'
|
||||
import { serializeSlate } from '../../../utilities/slate/serializeSlate.js'
|
||||
|
||||
export const sendEmail = async (beforeChangeData: any, formConfig: PluginConfig): Promise<any> => {
|
||||
export const sendEmail = async (
|
||||
beforeChangeData: any,
|
||||
formConfig: FormBuilderPluginConfig,
|
||||
): Promise<any> => {
|
||||
const { data, operation, req } = beforeChangeData
|
||||
|
||||
if (operation === 'create') {
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
import type { CollectionConfig } from 'payload/types'
|
||||
|
||||
import type { PluginConfig } from '../../types.js'
|
||||
import type { FormBuilderPluginConfig } from '../../types.js'
|
||||
|
||||
import { createCharge } from './hooks/createCharge.js'
|
||||
import { sendEmail } from './hooks/sendEmail.js'
|
||||
|
||||
// all settings can be overridden by the config
|
||||
export const generateSubmissionCollection = (formConfig: PluginConfig): CollectionConfig => {
|
||||
export const generateSubmissionCollection = (
|
||||
formConfig: FormBuilderPluginConfig,
|
||||
): CollectionConfig => {
|
||||
const formSlug = formConfig?.formOverrides?.slug || 'forms'
|
||||
|
||||
const newConfig: CollectionConfig = {
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { Block, CollectionConfig, Field } from 'payload/types'
|
||||
|
||||
import merge from 'deepmerge'
|
||||
|
||||
import type { FieldConfig, PluginConfig } from '../../types.js'
|
||||
import type { FieldConfig, FormBuilderPluginConfig } from '../../types.js'
|
||||
|
||||
import { fields } from './fields.js'
|
||||
|
||||
// all settings can be overridden by the config
|
||||
export const generateFormCollection = (formConfig: PluginConfig): CollectionConfig => {
|
||||
export const generateFormCollection = (formConfig: FormBuilderPluginConfig): CollectionConfig => {
|
||||
const redirect: Field = {
|
||||
name: 'redirect',
|
||||
type: 'group',
|
||||
|
||||
@@ -1 +1,29 @@
|
||||
export type { BeforeEmail, Email, FieldsConfig, HandlePayment, Redirect } from '../types.js'
|
||||
export type {
|
||||
BeforeEmail,
|
||||
BlockConfig,
|
||||
CheckboxField,
|
||||
CountryField,
|
||||
Email,
|
||||
EmailField,
|
||||
FieldConfig,
|
||||
FieldValues,
|
||||
FieldsConfig,
|
||||
Form,
|
||||
FormBuilderPluginConfig as PluginConfig,
|
||||
FormFieldBlock,
|
||||
FormSubmission,
|
||||
FormattedEmail,
|
||||
HandlePayment,
|
||||
MessageField,
|
||||
PaymentField,
|
||||
PaymentFieldConfig,
|
||||
PriceCondition,
|
||||
Redirect,
|
||||
SelectField,
|
||||
SelectFieldOption,
|
||||
StateField,
|
||||
SubmissionValue,
|
||||
TextAreaField,
|
||||
TextField,
|
||||
isValidBlockConfig,
|
||||
} from '../types.js'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Config } from 'payload/config'
|
||||
|
||||
import type { PluginConfig } from './types.js'
|
||||
import type { FormBuilderPluginConfig } from './types.js'
|
||||
|
||||
import { generateSubmissionCollection } from './collections/FormSubmissions/index.js'
|
||||
import { generateFormCollection } from './collections/Forms/index.js'
|
||||
@@ -9,9 +9,9 @@ export { fields } from './collections/Forms/fields.js'
|
||||
export { getPaymentTotal } from './utilities/getPaymentTotal.js'
|
||||
|
||||
export const formBuilderPlugin =
|
||||
(incomingFormConfig: PluginConfig) =>
|
||||
(incomingFormConfig: FormBuilderPluginConfig) =>
|
||||
(config: Config): Config => {
|
||||
const formConfig: PluginConfig = {
|
||||
const formConfig: FormBuilderPluginConfig = {
|
||||
...incomingFormConfig,
|
||||
fields: {
|
||||
checkbox: true,
|
||||
|
||||
@@ -40,7 +40,7 @@ export interface FieldsConfig {
|
||||
export type BeforeEmail = (emails: FormattedEmail[]) => FormattedEmail[] | Promise<FormattedEmail[]>
|
||||
export type HandlePayment = (data: any) => void
|
||||
|
||||
export interface PluginConfig {
|
||||
export type FormBuilderPluginConfig = {
|
||||
beforeEmail?: BeforeEmail
|
||||
fields?: FieldsConfig
|
||||
formOverrides?: Partial<CollectionConfig>
|
||||
|
||||
@@ -49,9 +49,15 @@
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./dist/exports/*.js",
|
||||
"require": "./dist/exports/*.js",
|
||||
"types": "./dist/exports/*.d.ts"
|
||||
}
|
||||
},
|
||||
"main": "./dist/index.js",
|
||||
"registry": "https://registry.npmjs.org/",
|
||||
"types": "./dist/index.d.ts"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
export type { GenerateLabel, GenerateURL } from '../types.js'
|
||||
export type { Breadcrumb, GenerateLabel, GenerateURL, NestedDocsPluginConfig } from '../types.js'
|
||||
|
||||
@@ -4,7 +4,7 @@ import type {
|
||||
PayloadRequestWithData,
|
||||
} from 'payload/types'
|
||||
|
||||
import type { PluginConfig } from '../types.js'
|
||||
import type { NestedDocsPluginConfig } from '../types.js'
|
||||
|
||||
import { populateBreadcrumbs } from '../utilities/populateBreadcrumbs.js'
|
||||
|
||||
@@ -12,7 +12,7 @@ type ResaveArgs = {
|
||||
collection: CollectionConfig
|
||||
doc: Record<string, unknown>
|
||||
draft: boolean
|
||||
pluginConfig: PluginConfig
|
||||
pluginConfig: NestedDocsPluginConfig
|
||||
req: PayloadRequestWithData
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ const resave = async ({ collection, doc, draft, pluginConfig, req }: ResaveArgs)
|
||||
}
|
||||
|
||||
export const resaveChildren =
|
||||
(pluginConfig: PluginConfig, collection: CollectionConfig): CollectionAfterChangeHook =>
|
||||
(pluginConfig: NestedDocsPluginConfig, collection: CollectionConfig): CollectionAfterChangeHook =>
|
||||
async ({ doc, req }) => {
|
||||
await resave({
|
||||
collection,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types'
|
||||
|
||||
import type { PluginConfig } from '../types.js'
|
||||
import type { NestedDocsPluginConfig } from '../types.js'
|
||||
|
||||
// This hook automatically re-saves a document after it is created
|
||||
// so that we can build its breadcrumbs with the newly created document's ID.
|
||||
|
||||
export const resaveSelfAfterCreate =
|
||||
(pluginConfig: PluginConfig, collection: CollectionConfig): CollectionAfterChangeHook =>
|
||||
(pluginConfig: NestedDocsPluginConfig, collection: CollectionConfig): CollectionAfterChangeHook =>
|
||||
async ({ doc, operation, req }) => {
|
||||
const { locale, payload } = req
|
||||
const breadcrumbSlug = pluginConfig.breadcrumbsFieldSlug || 'breadcrumbs'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { Plugin } from 'payload/config'
|
||||
import type { SingleRelationshipField } from 'payload/types'
|
||||
|
||||
import type { PluginConfig } from './types.js'
|
||||
import type { NestedDocsPluginConfig } from './types.js'
|
||||
|
||||
import { createBreadcrumbsField } from './fields/breadcrumbs.js'
|
||||
import { createParentField } from './fields/parent.js'
|
||||
@@ -13,7 +13,7 @@ import { populateBreadcrumbs } from './utilities/populateBreadcrumbs.js'
|
||||
export { createBreadcrumbsField, createParentField }
|
||||
|
||||
export const nestedDocsPlugin =
|
||||
(pluginConfig: PluginConfig): Plugin =>
|
||||
(pluginConfig: NestedDocsPluginConfig): Plugin =>
|
||||
(config) => ({
|
||||
...config,
|
||||
collections: (config.collections || []).map((collection) => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export interface Breadcrumb {
|
||||
export type Breadcrumb = {
|
||||
doc: string
|
||||
label: string
|
||||
url?: string
|
||||
@@ -14,7 +14,7 @@ export type GenerateLabel = (
|
||||
currentDoc: Record<string, unknown>,
|
||||
) => string
|
||||
|
||||
export interface PluginConfig {
|
||||
export type NestedDocsPluginConfig = {
|
||||
/**
|
||||
* Should be supplied if using an alternative field name for the 'breadcrumbs' field in collections
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { CollectionConfig } from 'payload/types'
|
||||
|
||||
import type { Breadcrumb, PluginConfig } from '../types.js'
|
||||
import type { Breadcrumb, NestedDocsPluginConfig } from '../types.js'
|
||||
|
||||
export const formatBreadcrumb = (
|
||||
pluginConfig: PluginConfig,
|
||||
pluginConfig: NestedDocsPluginConfig,
|
||||
collection: CollectionConfig,
|
||||
docs: Array<Record<string, unknown>>,
|
||||
): Breadcrumb => {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { CollectionConfig } from 'payload/types'
|
||||
|
||||
import type { PluginConfig } from '../types.js'
|
||||
import type { NestedDocsPluginConfig } from '../types.js'
|
||||
|
||||
export const getParents = async (
|
||||
req: any,
|
||||
pluginConfig: PluginConfig,
|
||||
pluginConfig: NestedDocsPluginConfig,
|
||||
collection: CollectionConfig,
|
||||
doc: Record<string, unknown>,
|
||||
docs: Array<Record<string, unknown>> = [],
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import type { CollectionConfig } from 'payload/types'
|
||||
|
||||
import type { PluginConfig } from '../types.js'
|
||||
import type { NestedDocsPluginConfig } from '../types.js'
|
||||
|
||||
import { formatBreadcrumb } from './formatBreadcrumb.js'
|
||||
import { getParents } from './getParents.js'
|
||||
|
||||
export const populateBreadcrumbs = async (
|
||||
req: any,
|
||||
pluginConfig: PluginConfig,
|
||||
pluginConfig: NestedDocsPluginConfig,
|
||||
collection: CollectionConfig,
|
||||
data: any,
|
||||
originalDoc?: any,
|
||||
|
||||
@@ -24,6 +24,11 @@
|
||||
"import": "./src/index.ts",
|
||||
"require": "./src/index.ts",
|
||||
"types": "./src/index.ts"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./src/exports/*.ts",
|
||||
"require": "./src/exports/*.ts",
|
||||
"types": "./src/exports/*.ts"
|
||||
}
|
||||
},
|
||||
"main": "./src/index.ts",
|
||||
@@ -51,6 +56,11 @@
|
||||
"payload": "workspace:*"
|
||||
},
|
||||
"publishConfig": {
|
||||
"./*": {
|
||||
"import": "./dist/exports/*.js",
|
||||
"require": "./dist/exports/*.js",
|
||||
"types": "./dist/exports/*.d.ts"
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./dist/index.js",
|
||||
|
||||
1
packages/plugin-redirects/src/exports/types.ts
Normal file
1
packages/plugin-redirects/src/exports/types.ts
Normal file
@@ -0,0 +1 @@
|
||||
export type { RedirectsPluginConfig } from '../types.js'
|
||||
@@ -1,11 +1,11 @@
|
||||
import type { Config } from 'payload/config'
|
||||
|
||||
import type { PluginConfig } from './types.js'
|
||||
import type { RedirectsPluginConfig } from './types.js'
|
||||
|
||||
import deepMerge from './deepMerge.js'
|
||||
|
||||
export const redirectsPlugin =
|
||||
(pluginConfig: PluginConfig) =>
|
||||
(pluginConfig: RedirectsPluginConfig) =>
|
||||
(incomingConfig: Config): Config => ({
|
||||
...incomingConfig,
|
||||
collections: [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { CollectionConfig } from 'payload/types'
|
||||
|
||||
export interface PluginConfig {
|
||||
export type RedirectsPluginConfig = {
|
||||
collections?: string[]
|
||||
overrides?: Partial<CollectionConfig>
|
||||
}
|
||||
|
||||
@@ -63,6 +63,11 @@
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./dist/exports/*.js",
|
||||
"require": "./dist/exports/*.js",
|
||||
"types": "./dist/exports/*.d.ts"
|
||||
}
|
||||
},
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { CollectionConfig } from 'payload/types'
|
||||
|
||||
import deepMerge from 'deepmerge'
|
||||
|
||||
import type { PluginConfig } from '../types.js'
|
||||
import type { SearchPluginConfig } from '../types.js'
|
||||
|
||||
import { LinkToDoc } from './ui/index.js'
|
||||
|
||||
// all settings can be overridden by the config
|
||||
export const generateSearchCollection = (pluginConfig: PluginConfig): CollectionConfig =>
|
||||
export const generateSearchCollection = (pluginConfig: SearchPluginConfig): CollectionConfig =>
|
||||
deepMerge(
|
||||
{
|
||||
slug: 'search',
|
||||
|
||||
@@ -1 +1 @@
|
||||
export type { BeforeSync, DocToSync } from '../types.js'
|
||||
export type { BeforeSync, DocToSync, SearchPluginConfig, SyncWithSearch } from '../types.js'
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import type { Config } from 'payload/config'
|
||||
|
||||
import type { PluginConfig } from './types.js'
|
||||
import type { SearchPluginConfig } from './types.js'
|
||||
|
||||
import { deleteFromSearch } from './Search/hooks/deleteFromSearch.js'
|
||||
import { syncWithSearch } from './Search/hooks/syncWithSearch.js'
|
||||
import { generateSearchCollection } from './Search/index.js'
|
||||
|
||||
export const searchPlugin =
|
||||
(incomingPluginConfig: PluginConfig) =>
|
||||
(incomingPluginConfig: SearchPluginConfig) =>
|
||||
(config: Config): Config => {
|
||||
const { collections } = config
|
||||
|
||||
if (collections) {
|
||||
const pluginConfig: PluginConfig = {
|
||||
const pluginConfig: SearchPluginConfig = {
|
||||
...incomingPluginConfig,
|
||||
deleteDrafts: true,
|
||||
syncDrafts: false,
|
||||
|
||||
@@ -5,7 +5,7 @@ import type {
|
||||
PayloadRequestWithData,
|
||||
} from 'payload/types'
|
||||
|
||||
export interface DocToSync {
|
||||
export type DocToSync = {
|
||||
[key: string]: any
|
||||
doc: {
|
||||
relationTo: string
|
||||
@@ -23,7 +23,7 @@ export type BeforeSync = (args: {
|
||||
searchDoc: DocToSync
|
||||
}) => DocToSync | Promise<DocToSync>
|
||||
|
||||
export interface PluginConfig {
|
||||
export type SearchPluginConfig = {
|
||||
beforeSync?: BeforeSync
|
||||
collections?: string[]
|
||||
defaultPriorities?: {
|
||||
@@ -39,6 +39,6 @@ export interface PluginConfig {
|
||||
export type SyncWithSearch = (
|
||||
Args: Omit<Parameters<CollectionAfterChangeHook>[0], 'collection'> & {
|
||||
collection: string
|
||||
pluginConfig: PluginConfig
|
||||
pluginConfig: SearchPluginConfig
|
||||
},
|
||||
) => ReturnType<CollectionAfterChangeHook>
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./dist/exports/*.js",
|
||||
"require": "./dist/exports/*.js",
|
||||
"types": "./dist/exports/*.d.ts"
|
||||
}
|
||||
},
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
export type { GenerateDescription, GenerateImage, GenerateTitle, GenerateURL } from '../types.js'
|
||||
export type {
|
||||
GenerateDescription,
|
||||
GenerateImage,
|
||||
GenerateTitle,
|
||||
GenerateURL,
|
||||
Meta,
|
||||
SEOPluginConfig as PluginConfig,
|
||||
} from '../types.js'
|
||||
|
||||
@@ -10,7 +10,7 @@ import type {
|
||||
GenerateImage,
|
||||
GenerateTitle,
|
||||
GenerateURL,
|
||||
PluginConfig,
|
||||
SEOPluginConfig,
|
||||
} from './types.js'
|
||||
|
||||
import { MetaDescription } from './fields/MetaDescription.js'
|
||||
@@ -21,7 +21,7 @@ import { Overview } from './ui/Overview.js'
|
||||
import { Preview } from './ui/Preview.js'
|
||||
|
||||
export const seoPlugin =
|
||||
(pluginConfig: PluginConfig) =>
|
||||
(pluginConfig: SEOPluginConfig) =>
|
||||
(config: Config): Config => {
|
||||
const seoFields: GroupField[] = [
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@ export type GenerateURL = <T = any>(
|
||||
args: DocumentInfoContext & { doc: T; locale?: string },
|
||||
) => Promise<string> | string
|
||||
|
||||
export interface PluginConfig {
|
||||
export type SEOPluginConfig = {
|
||||
collections?: string[]
|
||||
fieldOverrides?: {
|
||||
description?: Partial<TextareaField>
|
||||
@@ -38,7 +38,7 @@ export interface PluginConfig {
|
||||
uploadsCollection?: string
|
||||
}
|
||||
|
||||
export interface Meta {
|
||||
export type Meta = {
|
||||
description?: string
|
||||
image?: any // TODO: type this
|
||||
keywords?: string
|
||||
|
||||
Reference in New Issue
Block a user