BREAKING CHANGE: All plugins have been updated to use named exports and the names have been updated to be consistent.
// before
import { cloudStorage } from '@payloadcms/plugin-cloud-storage'
// current
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
//before
import { payloadCloud } from '@payloadcms/plugin-cloud'
// current
import { payloadCloudPlugin } from '@payloadcms/plugin-cloud'
//before
import formBuilder from '@payloadcms/plugin-form-builder'
// current
import { formBuilderPlugin } from '@payloadcms/plugin-form-builder'
//before
import { nestedDocs } from '@payloadcms/plugin-nested-docs'
// current
import { nestedDocsPlugin } from '@payloadcms/plugin-nested-docs'
//before
import { redirects } from '@payloadcms/plugin-redirects'
// current
import { redirectsPlugin } from '@payloadcms/plugin-redirects'
// before
import search from '@payloadcms/plugin-search'
// current
import { searchPlugin } from '@payloadcms/plugin-search'
//before
import { sentry } from '@payloadcms/plugin-sentry'
// current
import { sentryPlugin } from '@payloadcms/plugin-sentry'
// before
import { seo } from '@payloadcms/plugin-seo'
// current
import { seoPlugin } from '@payloadcms/plugin-seo'
33 lines
861 B
TypeScript
33 lines
861 B
TypeScript
/* eslint-disable no-console */
|
|
import type { Config } from 'payload/config'
|
|
|
|
import type { PluginOptions } from './types.js'
|
|
|
|
import { captureException } from './captureException.js'
|
|
import { startSentry } from './startSentry.js'
|
|
|
|
export const sentryPlugin =
|
|
(pluginOptions: PluginOptions) =>
|
|
(incomingConfig: Config): Config => {
|
|
const config = { ...incomingConfig }
|
|
|
|
if (pluginOptions.enabled === false || !pluginOptions.dsn) {
|
|
return config
|
|
}
|
|
|
|
config.hooks = {
|
|
...(incomingConfig.hooks || {}),
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
afterError: (err: any) => {
|
|
captureException(err)
|
|
},
|
|
}
|
|
|
|
config.onInit = async (payload) => {
|
|
if (incomingConfig.onInit) await incomingConfig.onInit(payload)
|
|
startSentry(pluginOptions, payload)
|
|
}
|
|
|
|
return config
|
|
}
|