@payloadcms/storage-s3 3.0.0-beta.18 → 3.0.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -1 +1,50 @@
|
|
|
1
|
-
#
|
|
1
|
+
# S3 Storage for Payload
|
|
2
|
+
|
|
3
|
+
This package provides a simple way to use S3 with Payload.
|
|
4
|
+
|
|
5
|
+
**NOTE:** This package removes the need to use `@payloadcms/plugin-cloud-storage` as was needed in Payload 2.x.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
pnpm add @payloadcms/storage-s3
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
- Configure the `collections` object to specify which collections should use the Vercel Blob adapter. The slug _must_ match one of your existing collection slugs.
|
|
16
|
+
- The `config` object can be any [`S3ClientConfig`](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3) object (from [`@aws-sdk/client-s3`](https://github.com/aws/aws-sdk-js-v3)). _This is highly dependent on your AWS setup_. Check the AWS documentation for more information.
|
|
17
|
+
- When enabled, this package will automatically set `disableLocalStorage` to `true` for each collection.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import { s3Storage } from '@payloadcms/storage-s3'
|
|
21
|
+
import { Media } from './collections/Media'
|
|
22
|
+
import { MediaWithPrefix } from './collections/MediaWithPrefix'
|
|
23
|
+
|
|
24
|
+
export default buildConfig({
|
|
25
|
+
collections: [Media, MediaWithPrefix],
|
|
26
|
+
plugins: [
|
|
27
|
+
s3Storage({
|
|
28
|
+
collections: {
|
|
29
|
+
[mediaSlug]: true,
|
|
30
|
+
[mediaWithPrefixSlug]: {
|
|
31
|
+
prefix,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
bucket: process.env.S3_BUCKET,
|
|
35
|
+
config: {
|
|
36
|
+
credentials: {
|
|
37
|
+
accessKeyId: process.env.S3_ACCESS_KEY_ID,
|
|
38
|
+
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
|
|
39
|
+
},
|
|
40
|
+
region: process.env.S3_REGION,
|
|
41
|
+
// ... Other S3 configuration
|
|
42
|
+
},
|
|
43
|
+
}),
|
|
44
|
+
],
|
|
45
|
+
})
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Configuration Options
|
|
49
|
+
|
|
50
|
+
See the the [AWS SDK Package](https://github.com/aws/aws-sdk-js-v3) and [`S3ClientConfig`](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3) object for guidance on AWS S3 configuration.
|
package/package.json
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/storage-s3",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.19",
|
|
4
4
|
"description": "Payload storage adapter for Amazon S3",
|
|
5
|
+
"homepage": "https://payloadcms.com",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
7
8
|
"url": "https://github.com/payloadcms/payload.git",
|
|
8
9
|
"directory": "packages/storage-s3"
|
|
9
10
|
},
|
|
10
11
|
"license": "MIT",
|
|
11
|
-
"homepage": "https://payloadcms.com",
|
|
12
12
|
"author": "Payload CMS, Inc.",
|
|
13
|
-
"main": "./dist/index.js",
|
|
14
|
-
"types": "./dist/index.d.ts",
|
|
15
13
|
"type": "module",
|
|
16
14
|
"exports": {
|
|
17
15
|
".": {
|
|
@@ -20,28 +18,30 @@
|
|
|
20
18
|
"types": "./dist/index.d.ts"
|
|
21
19
|
}
|
|
22
20
|
},
|
|
21
|
+
"main": "./dist/index.js",
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"files": [
|
|
24
|
+
"dist"
|
|
25
|
+
],
|
|
23
26
|
"dependencies": {
|
|
24
27
|
"@aws-sdk/client-s3": "^3.525.0",
|
|
25
28
|
"@aws-sdk/lib-storage": "^3.525.0",
|
|
26
|
-
"@payloadcms/plugin-cloud-storage": "3.0.0-beta.
|
|
29
|
+
"@payloadcms/plugin-cloud-storage": "3.0.0-beta.19"
|
|
27
30
|
},
|
|
28
31
|
"devDependencies": {
|
|
29
|
-
"payload": "3.0.0-beta.
|
|
32
|
+
"payload": "3.0.0-beta.19"
|
|
30
33
|
},
|
|
31
34
|
"peerDependencies": {
|
|
32
|
-
"payload": "3.0.0-beta.
|
|
35
|
+
"payload": "3.0.0-beta.19"
|
|
33
36
|
},
|
|
34
37
|
"engines": {
|
|
35
38
|
"node": ">=18.20.2"
|
|
36
39
|
},
|
|
37
|
-
"files": [
|
|
38
|
-
"dist"
|
|
39
|
-
],
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "pnpm build:swc && pnpm build:types",
|
|
42
|
+
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
|
|
42
43
|
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
|
|
43
44
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
44
|
-
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
|
|
45
45
|
"clean": "rimraf {dist,*.tsbuildinfo}"
|
|
46
46
|
}
|
|
47
47
|
}
|