This PR modifies `tsconfig.base.json` by setting the following strictness properties to true: `strict`, `noUncheckedIndexedAccess` and `noImplicitOverride`. In packages where compilation errors were observed, these settings were opted out, and TODO comments were added to make it easier to track the roadmap for converting everything to strict mode. The following packages now have increased strictness, which prevents new errors from being accidentally introduced: - storage-vercel-blob - storage-s3* - storage-gcs - plugin-sentry - payload-cloud* - email-resend* - email-nodemailer* *These packages already had `strict: true`, but now have `noUncheckedIndexedAccess` and `noImplicitOverride`. Note that this only affects the `/packages` folder, but not `/templates`, `/test` or `/examples` which have a different `tsconfig`.
Google Cloud Storage for Payload
This package provides a simple way to use Google Cloud Storage with Payload.
NOTE: This package removes the need to use @payloadcms/plugin-cloud-storage as was needed in Payload 2.x.
Installation
pnpm add @payloadcms/storage-gcs
Usage
- Configure the
collectionsobject to specify which collections should use the Google Cloud Storage adapter. The slug must match one of your existing collection slugs. - When enabled, this package will automatically set
disableLocalStoragetotruefor each collection.
import { gcsStorage } from '@payloadcms/storage-gcs'
import { Media } from './collections/Media'
import { MediaWithPrefix } from './collections/MediaWithPrefix'
export default buildConfig({
collections: [Media, MediaWithPrefix],
plugins: [
gcsStorage({
collections: {
media: true,
'media-with-prefix': {
prefix,
},
},
bucket: process.env.GCS_BUCKET,
options: {
apiEndpoint: process.env.GCS_ENDPOINT,
projectId: process.env.GCS_PROJECT_ID,
},
}),
],
})
Configuration Options
| Option | Description | Default |
|---|---|---|
enabled |
Whether or not to enable the plugin | true |
collections |
Collections to apply the storage to | |
bucket |
The name of the bucket to use | |
options |
Google Cloud Storage client configuration. See Docs | |
acl |
Access control list for files that are uploaded | Private |