feat: working @payloadcms/plugin-cloud-storage
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
function iteratorToStream(iterator) {
|
export function iteratorToStream(iterator) {
|
||||||
return new ReadableStream({
|
return new ReadableStream({
|
||||||
async pull(controller) {
|
async pull(controller) {
|
||||||
const { done, value } = await iterator.next()
|
const { done, value } = await iterator.next()
|
||||||
@@ -13,7 +13,7 @@ function iteratorToStream(iterator) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async function* nodeStreamToIterator(stream: fs.ReadStream) {
|
export async function* nodeStreamToIterator(stream: fs.ReadStream) {
|
||||||
for await (const chunk of stream) {
|
for await (const chunk of stream) {
|
||||||
yield new Uint8Array(chunk)
|
yield new Uint8Array(chunk)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ export const GET =
|
|||||||
params: { collection: collectionSlug },
|
params: { collection: collectionSlug },
|
||||||
request,
|
request,
|
||||||
})
|
})
|
||||||
|
|
||||||
collection = req.payload.collections?.[collectionSlug]
|
collection = req.payload.collections?.[collectionSlug]
|
||||||
|
|
||||||
if (!collection) {
|
if (!collection) {
|
||||||
@@ -90,7 +91,7 @@ export const GET =
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (collection.config.upload.disableLocalStorage) {
|
if (collection.config.upload.disableLocalStorage && !collection.config.upload.handlers) {
|
||||||
throw new APIError(
|
throw new APIError(
|
||||||
`This collection has local storage disabled: ${collectionSlug}`,
|
`This collection has local storage disabled: ${collectionSlug}`,
|
||||||
httpStatus.BAD_REQUEST,
|
httpStatus.BAD_REQUEST,
|
||||||
@@ -103,10 +104,21 @@ export const GET =
|
|||||||
req,
|
req,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
let response: Response = null
|
||||||
|
if (collection.config.upload.handlers?.length) {
|
||||||
|
for (const handler of collection.config.upload.handlers) {
|
||||||
|
response = await handler(req, { params })
|
||||||
|
}
|
||||||
|
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
|
||||||
const fileDir = collection.config.upload?.staticDir || collection.config.slug
|
const fileDir = collection.config.upload?.staticDir || collection.config.slug
|
||||||
const filePath = path.resolve(`${fileDir}/${filename}`)
|
const filePath = path.resolve(`${fileDir}/${filename}`)
|
||||||
|
|
||||||
const stats = await fsPromises.stat(filePath)
|
const stats = await fsPromises.stat(filePath)
|
||||||
const data = streamFile(filePath)
|
const data = streamFile(filePath)
|
||||||
|
|
||||||
return new Response(data, {
|
return new Response(data, {
|
||||||
headers: new Headers({
|
headers: new Headers({
|
||||||
'content-length': stats.size + '',
|
'content-length': stats.size + '',
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ const sanitizeCollections = (
|
|||||||
|
|
||||||
if ('editor' in sanitized) delete sanitized.editor
|
if ('editor' in sanitized) delete sanitized.editor
|
||||||
|
|
||||||
|
if ('upload' in sanitized && typeof sanitized.upload === 'object') {
|
||||||
|
sanitized.upload = { ...sanitized.upload }
|
||||||
|
delete sanitized.upload.handlers
|
||||||
|
}
|
||||||
|
|
||||||
if ('admin' in sanitized) {
|
if ('admin' in sanitized) {
|
||||||
sanitized.admin = { ...sanitized.admin }
|
sanitized.admin = { ...sanitized.admin }
|
||||||
|
|
||||||
@@ -119,6 +124,7 @@ export const createClientConfig = async (
|
|||||||
delete clientConfig.endpoints
|
delete clientConfig.endpoints
|
||||||
delete clientConfig.db
|
delete clientConfig.db
|
||||||
delete clientConfig.editor
|
delete clientConfig.editor
|
||||||
|
delete clientConfig.plugins
|
||||||
|
|
||||||
'localization' in clientConfig &&
|
'localization' in clientConfig &&
|
||||||
clientConfig.localization &&
|
clientConfig.localization &&
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import type express from 'express'
|
import type express from 'express'
|
||||||
|
import type { PayloadRequest } from 'payload/types'
|
||||||
import type serveStatic from 'serve-static'
|
import type serveStatic from 'serve-static'
|
||||||
import type { ResizeOptions, Sharp } from 'sharp'
|
import type { ResizeOptions, Sharp } from 'sharp'
|
||||||
|
|
||||||
@@ -82,7 +83,10 @@ export type UploadConfig = {
|
|||||||
focalPoint?: boolean
|
focalPoint?: boolean
|
||||||
/** Options for original upload file only. For sizes, set each formatOptions individually. */
|
/** Options for original upload file only. For sizes, set each formatOptions individually. */
|
||||||
formatOptions?: ImageUploadFormatOptions
|
formatOptions?: ImageUploadFormatOptions
|
||||||
handlers?: any[]
|
handlers?: ((
|
||||||
|
req: PayloadRequest,
|
||||||
|
args2: { params: { collection: string; filename: string } },
|
||||||
|
) => Promise<Response> | Response)[]
|
||||||
imageSizes?: ImageSize[]
|
imageSizes?: ImageSize[]
|
||||||
mimeTypes?: string[]
|
mimeTypes?: string[]
|
||||||
resizeOptions?: ResizeOptions
|
resizeOptions?: ResizeOptions
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
/** @type {import('prettier').Config} */
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
extends: ['@payloadcms'],
|
extends: ['@payloadcms'],
|
||||||
overrides: [
|
overrides: [
|
||||||
|
|||||||
@@ -14,12 +14,12 @@
|
|||||||
"test": "echo \"No tests available.\""
|
"test": "echo \"No tests available.\""
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.142.0",
|
"@aws-sdk/client-s3": "^3.525.0",
|
||||||
"@aws-sdk/lib-storage": "^3.267.0",
|
"@aws-sdk/lib-storage": "^3.525.0",
|
||||||
"@azure/abort-controller": "^1.0.0",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/storage-blob": "^12.11.0",
|
"@azure/storage-blob": "^12.11.0",
|
||||||
"@google-cloud/storage": "^7.7.0",
|
"@google-cloud/storage": "^7.7.0",
|
||||||
"payload": "^1.7.2 || ^2.0.0"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@aws-sdk/client-s3": {
|
"@aws-sdk/client-s3": {
|
||||||
@@ -44,18 +44,12 @@
|
|||||||
"*.d.ts"
|
"*.d.ts"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.142.0",
|
"@aws-sdk/client-s3": "^3.525.0",
|
||||||
"@aws-sdk/lib-storage": "^3.267.0",
|
"@aws-sdk/lib-storage": "^3.525.0",
|
||||||
"@azure/storage-blob": "^12.11.0",
|
"@azure/storage-blob": "^12.11.0",
|
||||||
"@google-cloud/storage": "^7.7.0",
|
"@google-cloud/storage": "^7.7.0",
|
||||||
"@types/express": "^4.17.9",
|
|
||||||
"@types/find-node-modules": "^2.1.2",
|
"@types/find-node-modules": "^2.1.2",
|
||||||
"cross-env": "^7.0.3",
|
"payload": "workspace:*"
|
||||||
"dotenv": "^8.2.0",
|
|
||||||
"nodemon": "3.0.3",
|
|
||||||
"payload": "workspace:*",
|
|
||||||
"rimraf": "^4.1.2",
|
|
||||||
"webpack": "^5.78.0"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"find-node-modules": "^2.1.3",
|
"find-node-modules": "^2.1.3",
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import { getGenerateURL } from './generateURL'
|
|||||||
import { getHandleDelete } from './handleDelete'
|
import { getHandleDelete } from './handleDelete'
|
||||||
import { getHandleUpload } from './handleUpload'
|
import { getHandleUpload } from './handleUpload'
|
||||||
import { getHandler } from './staticHandler'
|
import { getHandler } from './staticHandler'
|
||||||
import { extendWebpackConfig } from './webpack'
|
|
||||||
|
|
||||||
export interface Args {
|
export interface Args {
|
||||||
allowContainerCreate: boolean
|
allowContainerCreate: boolean
|
||||||
@@ -44,7 +43,6 @@ export const azureBlobStorageAdapter = ({
|
|||||||
prefix,
|
prefix,
|
||||||
}),
|
}),
|
||||||
staticHandler: getHandler({ collection, getStorageClient }),
|
staticHandler: getHandler({ collection, getStorageClient }),
|
||||||
webpack: extendWebpackConfig,
|
|
||||||
...(allowContainerCreate && { onInit: createContainerIfNotExists }),
|
...(allowContainerCreate && { onInit: createContainerIfNotExists }),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
export const azureBlobStorageAdapter = () => {}
|
|
||||||
@@ -14,13 +14,11 @@ interface Args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const getHandler = ({ collection, getStorageClient }: Args): StaticHandler => {
|
export const getHandler = ({ collection, getStorageClient }: Args): StaticHandler => {
|
||||||
return async (req, res, next) => {
|
return async (req, { params }) => {
|
||||||
try {
|
try {
|
||||||
const prefix = await getFilePrefix({ collection, req })
|
const prefix = await getFilePrefix({ collection, req })
|
||||||
const blockBlobClient = getStorageClient().getBlockBlobClient(
|
const blockBlobClient = getStorageClient().getBlockBlobClient(
|
||||||
// WARNING:
|
path.posix.join(prefix, params.filename),
|
||||||
// TODO: Untested for 3.0
|
|
||||||
path.posix.join(prefix, req.routeParams.filename as string),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const { end, start } = await getRangeFromHeader(blockBlobClient, req.headers.get('range'))
|
const { end, start } = await getRangeFromHeader(blockBlobClient, req.headers.get('range'))
|
||||||
@@ -28,16 +26,30 @@ export const getHandler = ({ collection, getStorageClient }: Args): StaticHandle
|
|||||||
const blob = await blockBlobClient.download(start, end)
|
const blob = await blockBlobClient.download(start, end)
|
||||||
// eslint-disable-next-line no-underscore-dangle
|
// eslint-disable-next-line no-underscore-dangle
|
||||||
const response = blob._response
|
const response = blob._response
|
||||||
res.header(response.headers.rawHeaders())
|
|
||||||
res.status(response.status)
|
|
||||||
|
|
||||||
if (blob?.readableStreamBody) {
|
// Manually create a ReadableStream for the web from a Node.js stream.
|
||||||
return blob.readableStreamBody.pipe(res)
|
const readableStream = new ReadableStream({
|
||||||
}
|
start(controller) {
|
||||||
|
const nodeStream = blob.readableStreamBody
|
||||||
|
nodeStream.on('data', (chunk) => {
|
||||||
|
controller.enqueue(new Uint8Array(chunk))
|
||||||
|
})
|
||||||
|
nodeStream.on('end', () => {
|
||||||
|
controller.close()
|
||||||
|
})
|
||||||
|
nodeStream.on('error', (err) => {
|
||||||
|
controller.error(err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
return next()
|
return new Response(readableStream, {
|
||||||
|
headers: response.headers.rawHeaders(),
|
||||||
|
status: response.status,
|
||||||
|
})
|
||||||
} catch (err: unknown) {
|
} catch (err: unknown) {
|
||||||
return next()
|
req.payload.logger.error(err)
|
||||||
|
return new Response('Internal Server Error', { status: 500 })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
import type { Configuration as WebpackConfig } from 'webpack'
|
|
||||||
|
|
||||||
import path from 'path'
|
|
||||||
|
|
||||||
export const extendWebpackConfig = (existingWebpackConfig: WebpackConfig): WebpackConfig => {
|
|
||||||
const newConfig: WebpackConfig = {
|
|
||||||
...existingWebpackConfig,
|
|
||||||
resolve: {
|
|
||||||
...(existingWebpackConfig.resolve || {}),
|
|
||||||
alias: {
|
|
||||||
...(existingWebpackConfig.resolve?.alias ? existingWebpackConfig.resolve.alias : {}),
|
|
||||||
'@payloadcms/plugin-cloud-storage/azure': path.resolve(__dirname, './mock.js'),
|
|
||||||
},
|
|
||||||
fallback: {
|
|
||||||
...(existingWebpackConfig.resolve?.fallback ? existingWebpackConfig.resolve.fallback : {}),
|
|
||||||
stream: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return newConfig
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,6 @@ import { getGenerateURL } from './generateURL'
|
|||||||
import { getHandleDelete } from './handleDelete'
|
import { getHandleDelete } from './handleDelete'
|
||||||
import { getHandleUpload } from './handleUpload'
|
import { getHandleUpload } from './handleUpload'
|
||||||
import { getHandler } from './staticHandler'
|
import { getHandler } from './staticHandler'
|
||||||
import { extendWebpackConfig } from './webpack'
|
|
||||||
|
|
||||||
export interface Args {
|
export interface Args {
|
||||||
acl?: 'Private' | 'Public'
|
acl?: 'Private' | 'Public'
|
||||||
@@ -38,6 +37,5 @@ export const gcsAdapter =
|
|||||||
prefix,
|
prefix,
|
||||||
}),
|
}),
|
||||||
staticHandler: getHandler({ bucket, collection, getStorageClient }),
|
staticHandler: getHandler({ bucket, collection, getStorageClient }),
|
||||||
webpack: extendWebpackConfig,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
export const gcsAdapter = () => {}
|
|
||||||
@@ -14,26 +14,40 @@ interface Args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const getHandler = ({ bucket, collection, getStorageClient }: Args): StaticHandler => {
|
export const getHandler = ({ bucket, collection, getStorageClient }: Args): StaticHandler => {
|
||||||
return async (req, res, next) => {
|
return async (req, { params }) => {
|
||||||
try {
|
try {
|
||||||
const prefix = await getFilePrefix({ collection, req })
|
const prefix = await getFilePrefix({ collection, req })
|
||||||
const file = getStorageClient()
|
const file = getStorageClient().bucket(bucket).file(path.posix.join(prefix, params.filename))
|
||||||
.bucket(bucket)
|
|
||||||
// WARNING:
|
|
||||||
// TODO: Untested for 3.0
|
|
||||||
.file(path.posix.join(prefix, req.routeParams.filename as string))
|
|
||||||
|
|
||||||
const [metadata] = await file.getMetadata()
|
const [metadata] = await file.getMetadata()
|
||||||
|
|
||||||
res.set({
|
// Manually create a ReadableStream for the web from a Node.js stream.
|
||||||
'Content-Length': metadata.size,
|
const readableStream = new ReadableStream({
|
||||||
'Content-Type': metadata.contentType,
|
start(controller) {
|
||||||
ETag: metadata.etag,
|
const nodeStream = file.createReadStream()
|
||||||
|
nodeStream.on('data', (chunk) => {
|
||||||
|
controller.enqueue(new Uint8Array(chunk))
|
||||||
|
})
|
||||||
|
nodeStream.on('end', () => {
|
||||||
|
controller.close()
|
||||||
|
})
|
||||||
|
nodeStream.on('error', (err) => {
|
||||||
|
controller.error(err)
|
||||||
|
})
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
return file.createReadStream().pipe(res)
|
return new Response(readableStream, {
|
||||||
|
headers: new Headers({
|
||||||
|
'Content-Length': String(metadata.size),
|
||||||
|
'Content-Type': metadata.contentType,
|
||||||
|
ETag: metadata.etag,
|
||||||
|
}),
|
||||||
|
status: 200,
|
||||||
|
})
|
||||||
} catch (err: unknown) {
|
} catch (err: unknown) {
|
||||||
return next()
|
req.payload.logger.error(err)
|
||||||
|
return new Response('Internal Server Error', { status: 500 })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
import type { Configuration as WebpackConfig } from 'webpack'
|
|
||||||
|
|
||||||
import path from 'path'
|
|
||||||
|
|
||||||
export const extendWebpackConfig = (existingWebpackConfig: WebpackConfig): WebpackConfig => {
|
|
||||||
const newConfig: WebpackConfig = {
|
|
||||||
...existingWebpackConfig,
|
|
||||||
resolve: {
|
|
||||||
...(existingWebpackConfig.resolve || {}),
|
|
||||||
alias: {
|
|
||||||
...(existingWebpackConfig.resolve?.alias ? existingWebpackConfig.resolve.alias : {}),
|
|
||||||
'@google-cloud/storage': path.resolve(__dirname, './mock.js'),
|
|
||||||
},
|
|
||||||
fallback: {
|
|
||||||
...(existingWebpackConfig.resolve?.fallback ? existingWebpackConfig.resolve.fallback : {}),
|
|
||||||
stream: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return newConfig
|
|
||||||
}
|
|
||||||
@@ -6,7 +6,6 @@ import { getGenerateURL } from './generateURL'
|
|||||||
import { getHandleDelete } from './handleDelete'
|
import { getHandleDelete } from './handleDelete'
|
||||||
import { getHandleUpload } from './handleUpload'
|
import { getHandleUpload } from './handleUpload'
|
||||||
import { getHandler } from './staticHandler'
|
import { getHandler } from './staticHandler'
|
||||||
import { extendWebpackConfig } from './webpack'
|
|
||||||
|
|
||||||
export interface Args {
|
export interface Args {
|
||||||
acl?: 'private' | 'public-read'
|
acl?: 'private' | 'public-read'
|
||||||
@@ -45,6 +44,5 @@ export const s3Adapter =
|
|||||||
prefix,
|
prefix,
|
||||||
}),
|
}),
|
||||||
staticHandler: getHandler({ bucket, collection, getStorageClient }),
|
staticHandler: getHandler({ bucket, collection, getStorageClient }),
|
||||||
webpack: extendWebpackConfig,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
export const s3Adapter = () => {}
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
import type * as AWS from '@aws-sdk/client-s3'
|
import type * as AWS from '@aws-sdk/client-s3'
|
||||||
import type { CollectionConfig } from 'payload/types'
|
import type { CollectionConfig } from 'payload/types'
|
||||||
import type { Readable } from 'stream'
|
|
||||||
|
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
|
||||||
@@ -14,33 +13,43 @@ interface Args {
|
|||||||
getStorageClient: () => AWS.S3
|
getStorageClient: () => AWS.S3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Convert a stream into a promise that resolves with a Buffer
|
||||||
|
const streamToBuffer = async (readableStream) => {
|
||||||
|
const chunks = []
|
||||||
|
for await (const chunk of readableStream) {
|
||||||
|
chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk)
|
||||||
|
}
|
||||||
|
return Buffer.concat(chunks)
|
||||||
|
}
|
||||||
|
|
||||||
export const getHandler = ({ bucket, collection, getStorageClient }: Args): StaticHandler => {
|
export const getHandler = ({ bucket, collection, getStorageClient }: Args): StaticHandler => {
|
||||||
return async (req, res, next) => {
|
return async (req, { params }) => {
|
||||||
try {
|
try {
|
||||||
const prefix = await getFilePrefix({ collection, req })
|
const prefix = await getFilePrefix({ collection, req })
|
||||||
|
|
||||||
const object = await getStorageClient().getObject({
|
const object = await getStorageClient().getObject({
|
||||||
Bucket: bucket,
|
Bucket: bucket,
|
||||||
// WARNING:
|
Key: path.posix.join(prefix, params.filename),
|
||||||
// TODO: Untested for 3.0
|
|
||||||
Key: path.posix.join(prefix, req.routeParams.filename as string),
|
|
||||||
})
|
})
|
||||||
|
|
||||||
res.set({
|
if (!object.Body) {
|
||||||
'Accept-Ranges': object.AcceptRanges,
|
return new Response(null, { status: 404, statusText: 'Not Found' })
|
||||||
'Content-Length': object.ContentLength,
|
|
||||||
'Content-Type': object.ContentType,
|
|
||||||
ETag: object.ETag,
|
|
||||||
})
|
|
||||||
|
|
||||||
if (object?.Body) {
|
|
||||||
return (object.Body as Readable).pipe(res)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return next()
|
const bodyBuffer = await streamToBuffer(object.Body)
|
||||||
} catch (err: unknown) {
|
|
||||||
|
return new Response(bodyBuffer, {
|
||||||
|
headers: new Headers({
|
||||||
|
'Accept-Ranges': object.AcceptRanges,
|
||||||
|
'Content-Length': String(object.ContentLength),
|
||||||
|
'Content-Type': object.ContentType,
|
||||||
|
ETag: object.ETag,
|
||||||
|
}),
|
||||||
|
status: 200,
|
||||||
|
})
|
||||||
|
} catch (err) {
|
||||||
req.payload.logger.error(err)
|
req.payload.logger.error(err)
|
||||||
return next()
|
return new Response('Internal Server Error', { status: 500 })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
import type { Configuration as WebpackConfig } from 'webpack'
|
|
||||||
|
|
||||||
import findNodeModules from 'find-node-modules'
|
|
||||||
import fs from 'fs'
|
|
||||||
import path from 'path'
|
|
||||||
|
|
||||||
const packageName = '@payloadcms/plugin-cloud-storage'
|
|
||||||
|
|
||||||
const nodeModulesPaths = findNodeModules({ cwd: __dirname, relative: false })
|
|
||||||
|
|
||||||
export const extendWebpackConfig = (existingWebpackConfig: WebpackConfig): WebpackConfig => {
|
|
||||||
let nodeModulesPath = nodeModulesPaths.find((p) => {
|
|
||||||
const guess = path.resolve(p, `${packageName}/dist`)
|
|
||||||
|
|
||||||
if (fs.existsSync(guess)) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!nodeModulesPath) {
|
|
||||||
nodeModulesPath = process.cwd()
|
|
||||||
}
|
|
||||||
|
|
||||||
const newConfig: WebpackConfig = {
|
|
||||||
...existingWebpackConfig,
|
|
||||||
resolve: {
|
|
||||||
...(existingWebpackConfig.resolve || {}),
|
|
||||||
alias: {
|
|
||||||
...(existingWebpackConfig.resolve?.alias ? existingWebpackConfig.resolve.alias : {}),
|
|
||||||
'@payloadcms/plugin-cloud-storage/s3$': path.resolve(
|
|
||||||
nodeModulesPath,
|
|
||||||
`./${packageName}/dist/adapters/s3/mock.js`,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
fallback: {
|
|
||||||
...(existingWebpackConfig.resolve?.fallback ? existingWebpackConfig.resolve.fallback : {}),
|
|
||||||
stream: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return newConfig
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,6 @@ import type { PluginOptions } from './types'
|
|||||||
import { getFields } from './fields/getFields'
|
import { getFields } from './fields/getFields'
|
||||||
import { getAfterDeleteHook } from './hooks/afterDelete'
|
import { getAfterDeleteHook } from './hooks/afterDelete'
|
||||||
import { getBeforeChangeHook } from './hooks/beforeChange'
|
import { getBeforeChangeHook } from './hooks/beforeChange'
|
||||||
import { extendWebpackConfig } from './webpack'
|
|
||||||
|
|
||||||
// This plugin extends all targeted collections by offloading uploaded files
|
// This plugin extends all targeted collections by offloading uploaded files
|
||||||
// to cloud storage instead of solely storing files locally.
|
// to cloud storage instead of solely storing files locally.
|
||||||
@@ -22,13 +21,6 @@ export const cloudStorage =
|
|||||||
const { collections: allCollectionOptions, enabled } = pluginOptions
|
const { collections: allCollectionOptions, enabled } = pluginOptions
|
||||||
const config = { ...incomingConfig }
|
const config = { ...incomingConfig }
|
||||||
|
|
||||||
const webpack = extendWebpackConfig({ config: incomingConfig, options: pluginOptions })
|
|
||||||
|
|
||||||
config.admin = {
|
|
||||||
...(config.admin || {}),
|
|
||||||
webpack,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return early if disabled. Only webpack config mods are applied.
|
// Return early if disabled. Only webpack config mods are applied.
|
||||||
if (enabled === false) {
|
if (enabled === false) {
|
||||||
return config
|
return config
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import type { NextFunction, Response } from 'express'
|
|
||||||
import type { FileData, ImageSize } from 'payload/types'
|
import type { FileData, ImageSize } from 'payload/types'
|
||||||
import type { TypeWithID } from 'payload/types'
|
import type { TypeWithID } from 'payload/types'
|
||||||
import type { CollectionConfig, PayloadRequest } from 'payload/types'
|
import type { CollectionConfig, PayloadRequest } from 'payload/types'
|
||||||
import type { Configuration as WebpackConfig } from 'webpack'
|
|
||||||
|
|
||||||
export interface File {
|
export interface File {
|
||||||
buffer: Buffer
|
buffer: Buffer
|
||||||
@@ -38,9 +36,8 @@ export type GenerateURL = (args: {
|
|||||||
|
|
||||||
export type StaticHandler = (
|
export type StaticHandler = (
|
||||||
req: PayloadRequest,
|
req: PayloadRequest,
|
||||||
res: Response,
|
args2: { params: { collection: string; filename: string } },
|
||||||
next: NextFunction,
|
) => Promise<Response> | Response
|
||||||
) => Promise<unknown> | unknown
|
|
||||||
|
|
||||||
export interface GeneratedAdapter {
|
export interface GeneratedAdapter {
|
||||||
generateURL: GenerateURL
|
generateURL: GenerateURL
|
||||||
@@ -48,7 +45,6 @@ export interface GeneratedAdapter {
|
|||||||
handleUpload: HandleUpload
|
handleUpload: HandleUpload
|
||||||
onInit?: () => void
|
onInit?: () => void
|
||||||
staticHandler: StaticHandler
|
staticHandler: StaticHandler
|
||||||
webpack?: (config: WebpackConfig) => WebpackConfig
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Adapter = (args: { collection: CollectionConfig; prefix?: string }) => GeneratedAdapter
|
export type Adapter = (args: { collection: CollectionConfig; prefix?: string }) => GeneratedAdapter
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
import type { Config } from 'payload/config'
|
|
||||||
import type { Configuration as WebpackConfig } from 'webpack'
|
|
||||||
|
|
||||||
import path from 'path'
|
|
||||||
|
|
||||||
import type { GeneratedAdapter, PluginOptions } from './types'
|
|
||||||
|
|
||||||
interface Args {
|
|
||||||
config: Config
|
|
||||||
options: PluginOptions
|
|
||||||
}
|
|
||||||
|
|
||||||
export const extendWebpackConfig =
|
|
||||||
({ config, options }: Args): ((webpackConfig: WebpackConfig) => WebpackConfig) =>
|
|
||||||
(webpackConfig) => {
|
|
||||||
const existingWebpackConfig =
|
|
||||||
typeof config.admin?.webpack === 'function'
|
|
||||||
? config.admin.webpack(webpackConfig)
|
|
||||||
: webpackConfig
|
|
||||||
|
|
||||||
const newConfig: WebpackConfig = {
|
|
||||||
...existingWebpackConfig,
|
|
||||||
resolve: {
|
|
||||||
...(existingWebpackConfig.resolve || {}),
|
|
||||||
alias: {
|
|
||||||
...(existingWebpackConfig.resolve?.alias ? existingWebpackConfig.resolve.alias : {}),
|
|
||||||
'@payloadcms/plugin-cloud-storage$': path.resolve(__dirname, './admin/index.js'),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
const modifiedConfig = Object.entries(options.collections).reduce(
|
|
||||||
(resultingWebpackConfig, [slug, collectionOptions]) => {
|
|
||||||
const matchedCollection = config.collections?.find((coll) => coll.slug === slug)
|
|
||||||
|
|
||||||
if (matchedCollection && typeof collectionOptions.adapter === 'function') {
|
|
||||||
const adapter: GeneratedAdapter = collectionOptions.adapter({
|
|
||||||
collection: matchedCollection,
|
|
||||||
})
|
|
||||||
|
|
||||||
if (adapter.webpack) {
|
|
||||||
return adapter.webpack(resultingWebpackConfig)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return resultingWebpackConfig
|
|
||||||
},
|
|
||||||
newConfig,
|
|
||||||
)
|
|
||||||
|
|
||||||
return modifiedConfig
|
|
||||||
}
|
|
||||||
485
pnpm-lock.yaml
generated
485
pnpm-lock.yaml
generated
@@ -900,41 +900,23 @@ importers:
|
|||||||
version: 1.2.1
|
version: 1.2.1
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@aws-sdk/client-s3':
|
'@aws-sdk/client-s3':
|
||||||
specifier: ^3.142.0
|
specifier: ^3.525.0
|
||||||
version: 3.523.0
|
version: 3.525.0
|
||||||
'@aws-sdk/lib-storage':
|
'@aws-sdk/lib-storage':
|
||||||
specifier: ^3.267.0
|
specifier: ^3.525.0
|
||||||
version: 3.523.0(@aws-sdk/client-s3@3.523.0)
|
version: 3.525.1(@aws-sdk/client-s3@3.525.0)
|
||||||
'@azure/storage-blob':
|
'@azure/storage-blob':
|
||||||
specifier: ^12.11.0
|
specifier: ^12.11.0
|
||||||
version: 12.17.0
|
version: 12.17.0
|
||||||
'@google-cloud/storage':
|
'@google-cloud/storage':
|
||||||
specifier: ^7.7.0
|
specifier: ^7.7.0
|
||||||
version: 7.7.0
|
version: 7.7.0
|
||||||
'@types/express':
|
|
||||||
specifier: ^4.17.9
|
|
||||||
version: 4.17.21
|
|
||||||
'@types/find-node-modules':
|
'@types/find-node-modules':
|
||||||
specifier: ^2.1.2
|
specifier: ^2.1.2
|
||||||
version: 2.1.2
|
version: 2.1.2
|
||||||
cross-env:
|
|
||||||
specifier: 7.0.3
|
|
||||||
version: 7.0.3
|
|
||||||
dotenv:
|
|
||||||
specifier: 8.6.0
|
|
||||||
version: 8.6.0
|
|
||||||
nodemon:
|
|
||||||
specifier: 3.0.3
|
|
||||||
version: 3.0.3
|
|
||||||
payload:
|
payload:
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../payload
|
version: link:../payload
|
||||||
rimraf:
|
|
||||||
specifier: ^4.1.2
|
|
||||||
version: 4.4.1
|
|
||||||
webpack:
|
|
||||||
specifier: ^5.78.0
|
|
||||||
version: 5.90.3(@swc/core@1.4.2)(webpack-cli@5.1.4)
|
|
||||||
|
|
||||||
packages/plugin-form-builder:
|
packages/plugin-form-builder:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1610,6 +1592,72 @@ packages:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/client-s3@3.525.0:
|
||||||
|
resolution: {integrity: sha512-hoMGH8G9rezZDiJPsMjsyRVNfVHHa4u6lcZ09SQMmtFHWK0FUcC0DIKR5ripV5qGDbnV54i2JotXlLzAv0aNCQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/sha1-browser': 3.0.0
|
||||||
|
'@aws-crypto/sha256-browser': 3.0.0
|
||||||
|
'@aws-crypto/sha256-js': 3.0.0
|
||||||
|
'@aws-sdk/client-sts': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/core': 3.525.0
|
||||||
|
'@aws-sdk/credential-provider-node': 3.525.0
|
||||||
|
'@aws-sdk/middleware-bucket-endpoint': 3.525.0
|
||||||
|
'@aws-sdk/middleware-expect-continue': 3.523.0
|
||||||
|
'@aws-sdk/middleware-flexible-checksums': 3.523.0
|
||||||
|
'@aws-sdk/middleware-host-header': 3.523.0
|
||||||
|
'@aws-sdk/middleware-location-constraint': 3.523.0
|
||||||
|
'@aws-sdk/middleware-logger': 3.523.0
|
||||||
|
'@aws-sdk/middleware-recursion-detection': 3.523.0
|
||||||
|
'@aws-sdk/middleware-sdk-s3': 3.525.0
|
||||||
|
'@aws-sdk/middleware-signing': 3.523.0
|
||||||
|
'@aws-sdk/middleware-ssec': 3.523.0
|
||||||
|
'@aws-sdk/middleware-user-agent': 3.525.0
|
||||||
|
'@aws-sdk/region-config-resolver': 3.525.0
|
||||||
|
'@aws-sdk/signature-v4-multi-region': 3.525.0
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-endpoints': 3.525.0
|
||||||
|
'@aws-sdk/util-user-agent-browser': 3.523.0
|
||||||
|
'@aws-sdk/util-user-agent-node': 3.525.0
|
||||||
|
'@aws-sdk/xml-builder': 3.523.0
|
||||||
|
'@smithy/config-resolver': 2.1.4
|
||||||
|
'@smithy/core': 1.3.5
|
||||||
|
'@smithy/eventstream-serde-browser': 2.1.3
|
||||||
|
'@smithy/eventstream-serde-config-resolver': 2.1.3
|
||||||
|
'@smithy/eventstream-serde-node': 2.1.3
|
||||||
|
'@smithy/fetch-http-handler': 2.4.3
|
||||||
|
'@smithy/hash-blob-browser': 2.1.3
|
||||||
|
'@smithy/hash-node': 2.1.3
|
||||||
|
'@smithy/hash-stream-node': 2.1.3
|
||||||
|
'@smithy/invalid-dependency': 2.1.3
|
||||||
|
'@smithy/md5-js': 2.1.3
|
||||||
|
'@smithy/middleware-content-length': 2.1.3
|
||||||
|
'@smithy/middleware-endpoint': 2.4.4
|
||||||
|
'@smithy/middleware-retry': 2.1.4
|
||||||
|
'@smithy/middleware-serde': 2.1.3
|
||||||
|
'@smithy/middleware-stack': 2.1.3
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/node-http-handler': 2.4.1
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/url-parser': 2.1.3
|
||||||
|
'@smithy/util-base64': 2.1.1
|
||||||
|
'@smithy/util-body-length-browser': 2.1.1
|
||||||
|
'@smithy/util-body-length-node': 2.2.1
|
||||||
|
'@smithy/util-defaults-mode-browser': 2.1.4
|
||||||
|
'@smithy/util-defaults-mode-node': 2.2.3
|
||||||
|
'@smithy/util-endpoints': 1.1.4
|
||||||
|
'@smithy/util-retry': 2.1.3
|
||||||
|
'@smithy/util-stream': 2.1.3
|
||||||
|
'@smithy/util-utf8': 2.1.1
|
||||||
|
'@smithy/util-waiter': 2.1.3
|
||||||
|
fast-xml-parser: 4.2.5
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/client-sso-oidc@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
/@aws-sdk/client-sso-oidc@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
||||||
resolution: {integrity: sha512-OktkdiuJ5DtYgNrJlo53Tf7pJ+UWfOt7V7or0ije6MysLP18GwlTkbg2UE4EUtfOxt/baXxHMlExB1vmRtlATw==}
|
resolution: {integrity: sha512-OktkdiuJ5DtYgNrJlo53Tf7pJ+UWfOt7V7or0ije6MysLP18GwlTkbg2UE4EUtfOxt/baXxHMlExB1vmRtlATw==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1660,6 +1708,56 @@ packages:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/client-sso-oidc@3.525.0(@aws-sdk/credential-provider-node@3.525.0):
|
||||||
|
resolution: {integrity: sha512-zz13k/6RkjPSLmReSeGxd8wzGiiZa4Odr2Tv3wTcxClM4wOjD+zOgGv4Fe32b9AMqaueiCdjbvdu7AKcYxFA4A==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
'@aws-sdk/credential-provider-node': ^3.525.0
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/sha256-browser': 3.0.0
|
||||||
|
'@aws-crypto/sha256-js': 3.0.0
|
||||||
|
'@aws-sdk/client-sts': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/core': 3.525.0
|
||||||
|
'@aws-sdk/credential-provider-node': 3.525.0
|
||||||
|
'@aws-sdk/middleware-host-header': 3.523.0
|
||||||
|
'@aws-sdk/middleware-logger': 3.523.0
|
||||||
|
'@aws-sdk/middleware-recursion-detection': 3.523.0
|
||||||
|
'@aws-sdk/middleware-user-agent': 3.525.0
|
||||||
|
'@aws-sdk/region-config-resolver': 3.525.0
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-endpoints': 3.525.0
|
||||||
|
'@aws-sdk/util-user-agent-browser': 3.523.0
|
||||||
|
'@aws-sdk/util-user-agent-node': 3.525.0
|
||||||
|
'@smithy/config-resolver': 2.1.4
|
||||||
|
'@smithy/core': 1.3.5
|
||||||
|
'@smithy/fetch-http-handler': 2.4.3
|
||||||
|
'@smithy/hash-node': 2.1.3
|
||||||
|
'@smithy/invalid-dependency': 2.1.3
|
||||||
|
'@smithy/middleware-content-length': 2.1.3
|
||||||
|
'@smithy/middleware-endpoint': 2.4.4
|
||||||
|
'@smithy/middleware-retry': 2.1.4
|
||||||
|
'@smithy/middleware-serde': 2.1.3
|
||||||
|
'@smithy/middleware-stack': 2.1.3
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/node-http-handler': 2.4.1
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/url-parser': 2.1.3
|
||||||
|
'@smithy/util-base64': 2.1.1
|
||||||
|
'@smithy/util-body-length-browser': 2.1.1
|
||||||
|
'@smithy/util-body-length-node': 2.2.1
|
||||||
|
'@smithy/util-defaults-mode-browser': 2.1.4
|
||||||
|
'@smithy/util-defaults-mode-node': 2.2.3
|
||||||
|
'@smithy/util-endpoints': 1.1.4
|
||||||
|
'@smithy/util-middleware': 2.1.3
|
||||||
|
'@smithy/util-retry': 2.1.3
|
||||||
|
'@smithy/util-utf8': 2.1.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/client-sso@3.523.0:
|
/@aws-sdk/client-sso@3.523.0:
|
||||||
resolution: {integrity: sha512-vob/Tk9bIr6VIyzScBWsKpP92ACI6/aOXBL2BITgvRWl5Umqi1jXFtfssj/N2UJHM4CBMRwxIJ33InfN0gPxZw==}
|
resolution: {integrity: sha512-vob/Tk9bIr6VIyzScBWsKpP92ACI6/aOXBL2BITgvRWl5Umqi1jXFtfssj/N2UJHM4CBMRwxIJ33InfN0gPxZw==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1706,6 +1804,52 @@ packages:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/client-sso@3.525.0:
|
||||||
|
resolution: {integrity: sha512-6KwGQWFoNLH1UupdWPFdKPfTgjSz1kN8/r8aCzuvvXBe4Pz+iDUZ6FEJzGWNc9AapjvZDNO1hs23slomM9rTaA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/sha256-browser': 3.0.0
|
||||||
|
'@aws-crypto/sha256-js': 3.0.0
|
||||||
|
'@aws-sdk/core': 3.525.0
|
||||||
|
'@aws-sdk/middleware-host-header': 3.523.0
|
||||||
|
'@aws-sdk/middleware-logger': 3.523.0
|
||||||
|
'@aws-sdk/middleware-recursion-detection': 3.523.0
|
||||||
|
'@aws-sdk/middleware-user-agent': 3.525.0
|
||||||
|
'@aws-sdk/region-config-resolver': 3.525.0
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-endpoints': 3.525.0
|
||||||
|
'@aws-sdk/util-user-agent-browser': 3.523.0
|
||||||
|
'@aws-sdk/util-user-agent-node': 3.525.0
|
||||||
|
'@smithy/config-resolver': 2.1.4
|
||||||
|
'@smithy/core': 1.3.5
|
||||||
|
'@smithy/fetch-http-handler': 2.4.3
|
||||||
|
'@smithy/hash-node': 2.1.3
|
||||||
|
'@smithy/invalid-dependency': 2.1.3
|
||||||
|
'@smithy/middleware-content-length': 2.1.3
|
||||||
|
'@smithy/middleware-endpoint': 2.4.4
|
||||||
|
'@smithy/middleware-retry': 2.1.4
|
||||||
|
'@smithy/middleware-serde': 2.1.3
|
||||||
|
'@smithy/middleware-stack': 2.1.3
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/node-http-handler': 2.4.1
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/url-parser': 2.1.3
|
||||||
|
'@smithy/util-base64': 2.1.1
|
||||||
|
'@smithy/util-body-length-browser': 2.1.1
|
||||||
|
'@smithy/util-body-length-node': 2.2.1
|
||||||
|
'@smithy/util-defaults-mode-browser': 2.1.4
|
||||||
|
'@smithy/util-defaults-mode-node': 2.2.3
|
||||||
|
'@smithy/util-endpoints': 1.1.4
|
||||||
|
'@smithy/util-middleware': 2.1.3
|
||||||
|
'@smithy/util-retry': 2.1.3
|
||||||
|
'@smithy/util-utf8': 2.1.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/client-sts@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
/@aws-sdk/client-sts@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
||||||
resolution: {integrity: sha512-ggAkL8szaJkqD8oOsS68URJ9XMDbLA/INO/NPZJqv9BhmftecJvfy43uUVWGNs6n4YXNzfF0Y+zQ3DT0fZkv9g==}
|
resolution: {integrity: sha512-ggAkL8szaJkqD8oOsS68URJ9XMDbLA/INO/NPZJqv9BhmftecJvfy43uUVWGNs6n4YXNzfF0Y+zQ3DT0fZkv9g==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1756,6 +1900,56 @@ packages:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/client-sts@3.525.0(@aws-sdk/credential-provider-node@3.525.0):
|
||||||
|
resolution: {integrity: sha512-a8NUGRvO6rkfTZCbMaCsjDjLbERCwIUU9dIywFYcRgbFhkupJ7fSaZz3Het98U51M9ZbTEpaTa3fz0HaJv8VJw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
'@aws-sdk/credential-provider-node': ^3.525.0
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/sha256-browser': 3.0.0
|
||||||
|
'@aws-crypto/sha256-js': 3.0.0
|
||||||
|
'@aws-sdk/core': 3.525.0
|
||||||
|
'@aws-sdk/credential-provider-node': 3.525.0
|
||||||
|
'@aws-sdk/middleware-host-header': 3.523.0
|
||||||
|
'@aws-sdk/middleware-logger': 3.523.0
|
||||||
|
'@aws-sdk/middleware-recursion-detection': 3.523.0
|
||||||
|
'@aws-sdk/middleware-user-agent': 3.525.0
|
||||||
|
'@aws-sdk/region-config-resolver': 3.525.0
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-endpoints': 3.525.0
|
||||||
|
'@aws-sdk/util-user-agent-browser': 3.523.0
|
||||||
|
'@aws-sdk/util-user-agent-node': 3.525.0
|
||||||
|
'@smithy/config-resolver': 2.1.4
|
||||||
|
'@smithy/core': 1.3.5
|
||||||
|
'@smithy/fetch-http-handler': 2.4.3
|
||||||
|
'@smithy/hash-node': 2.1.3
|
||||||
|
'@smithy/invalid-dependency': 2.1.3
|
||||||
|
'@smithy/middleware-content-length': 2.1.3
|
||||||
|
'@smithy/middleware-endpoint': 2.4.4
|
||||||
|
'@smithy/middleware-retry': 2.1.4
|
||||||
|
'@smithy/middleware-serde': 2.1.3
|
||||||
|
'@smithy/middleware-stack': 2.1.3
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/node-http-handler': 2.4.1
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/url-parser': 2.1.3
|
||||||
|
'@smithy/util-base64': 2.1.1
|
||||||
|
'@smithy/util-body-length-browser': 2.1.1
|
||||||
|
'@smithy/util-body-length-node': 2.2.1
|
||||||
|
'@smithy/util-defaults-mode-browser': 2.1.4
|
||||||
|
'@smithy/util-defaults-mode-node': 2.2.3
|
||||||
|
'@smithy/util-endpoints': 1.1.4
|
||||||
|
'@smithy/util-middleware': 2.1.3
|
||||||
|
'@smithy/util-retry': 2.1.3
|
||||||
|
'@smithy/util-utf8': 2.1.1
|
||||||
|
fast-xml-parser: 4.2.5
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/core@3.523.0:
|
/@aws-sdk/core@3.523.0:
|
||||||
resolution: {integrity: sha512-JHa3ngEWkTzZ2YTn6EavcADC8gv6zZU4U9WBAleClh6ioXH0kGMBawZje3y0F0mKyLTfLhFqFUlCV5sngI/Qcw==}
|
resolution: {integrity: sha512-JHa3ngEWkTzZ2YTn6EavcADC8gv6zZU4U9WBAleClh6ioXH0kGMBawZje3y0F0mKyLTfLhFqFUlCV5sngI/Qcw==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1768,6 +1962,18 @@ packages:
|
|||||||
'@smithy/types': 2.10.1
|
'@smithy/types': 2.10.1
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/core@3.525.0:
|
||||||
|
resolution: {integrity: sha512-E3LtEtMWCriQOFZpVKpLYzbdw/v2PAOEAMhn2VRRZ1g0/g1TXzQrfhEU2yd8l/vQEJaCJ82ooGGg7YECviBUxA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/core': 1.3.5
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/signature-v4': 2.1.3
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/credential-provider-cognito-identity@3.523.0:
|
/@aws-sdk/credential-provider-cognito-identity@3.523.0:
|
||||||
resolution: {integrity: sha512-HmVtNZdo0JKBkJB00Az11ST5uPMeoIVNKdmOxcmPpdbVV+9OJK3IrlNmXAgoqmltke/KZEcdxOzd8ApQo8kx2Q==}
|
resolution: {integrity: sha512-HmVtNZdo0JKBkJB00Az11ST5uPMeoIVNKdmOxcmPpdbVV+9OJK3IrlNmXAgoqmltke/KZEcdxOzd8ApQo8kx2Q==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1806,6 +2012,21 @@ packages:
|
|||||||
'@smithy/util-stream': 2.1.3
|
'@smithy/util-stream': 2.1.3
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/credential-provider-http@3.525.0:
|
||||||
|
resolution: {integrity: sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/fetch-http-handler': 2.4.3
|
||||||
|
'@smithy/node-http-handler': 2.4.1
|
||||||
|
'@smithy/property-provider': 2.1.3
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/util-stream': 2.1.3
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/credential-provider-ini@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
/@aws-sdk/credential-provider-ini@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
||||||
resolution: {integrity: sha512-dRch5Ts67FFRZY5r9DpiC3PM6BVHv1tRcy1b26hoqfFkxP9xYH3dsTSPBog1azIqaJa2GcXqEvKCqhghFTt4Xg==}
|
resolution: {integrity: sha512-dRch5Ts67FFRZY5r9DpiC3PM6BVHv1tRcy1b26hoqfFkxP9xYH3dsTSPBog1azIqaJa2GcXqEvKCqhghFTt4Xg==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1826,6 +2047,26 @@ packages:
|
|||||||
- '@aws-sdk/credential-provider-node'
|
- '@aws-sdk/credential-provider-node'
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/credential-provider-ini@3.525.0(@aws-sdk/credential-provider-node@3.525.0):
|
||||||
|
resolution: {integrity: sha512-JDnccfK5JRb9jcgpc9lirL9PyCwGIqY0nKdw3LlX5WL5vTpTG4E1q7rLAlpNh7/tFD1n66Itarfv2tsyHMIqCw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/client-sts': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/credential-provider-env': 3.523.0
|
||||||
|
'@aws-sdk/credential-provider-process': 3.523.0
|
||||||
|
'@aws-sdk/credential-provider-sso': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/credential-provider-web-identity': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/credential-provider-imds': 2.2.4
|
||||||
|
'@smithy/property-provider': 2.1.3
|
||||||
|
'@smithy/shared-ini-file-loader': 2.3.4
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@aws-sdk/credential-provider-node'
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/credential-provider-node@3.523.0:
|
/@aws-sdk/credential-provider-node@3.523.0:
|
||||||
resolution: {integrity: sha512-0aW5ylA8pZmvv/8qA/+iel4acEyzSlHRiaHYL3L0qu9SSoe2a92+RHjrxKl6+Sb55eA2mRfQjaN8oOa5xiYyKA==}
|
resolution: {integrity: sha512-0aW5ylA8pZmvv/8qA/+iel4acEyzSlHRiaHYL3L0qu9SSoe2a92+RHjrxKl6+Sb55eA2mRfQjaN8oOa5xiYyKA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1846,6 +2087,26 @@ packages:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/credential-provider-node@3.525.0:
|
||||||
|
resolution: {integrity: sha512-RJXlO8goGXpnoHQAyrCcJ0QtWEOFa34LSbfdqBIjQX/fwnjUuEmiGdXTV3AZmwYQ7juk49tfBneHbtOP3AGqsQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/credential-provider-env': 3.523.0
|
||||||
|
'@aws-sdk/credential-provider-http': 3.525.0
|
||||||
|
'@aws-sdk/credential-provider-ini': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/credential-provider-process': 3.523.0
|
||||||
|
'@aws-sdk/credential-provider-sso': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/credential-provider-web-identity': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/credential-provider-imds': 2.2.4
|
||||||
|
'@smithy/property-provider': 2.1.3
|
||||||
|
'@smithy/shared-ini-file-loader': 2.3.4
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/credential-provider-process@3.523.0:
|
/@aws-sdk/credential-provider-process@3.523.0:
|
||||||
resolution: {integrity: sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==}
|
resolution: {integrity: sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1873,6 +2134,22 @@ packages:
|
|||||||
- '@aws-sdk/credential-provider-node'
|
- '@aws-sdk/credential-provider-node'
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/credential-provider-sso@3.525.0(@aws-sdk/credential-provider-node@3.525.0):
|
||||||
|
resolution: {integrity: sha512-7V7ybtufxdD3plxeIeB6aqHZeFIUlAyPphXIUgXrGY10iNcosL970rQPBeggsohe4gCM6UvY2TfMeEcr+ZE8FA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/client-sso': 3.525.0
|
||||||
|
'@aws-sdk/token-providers': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/property-provider': 2.1.3
|
||||||
|
'@smithy/shared-ini-file-loader': 2.3.4
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@aws-sdk/credential-provider-node'
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/credential-provider-web-identity@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
/@aws-sdk/credential-provider-web-identity@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
||||||
resolution: {integrity: sha512-EyBwVoTNZrhLRIHly3JnLzy86deT2hHGoxSCrT3+cVcF1Pq3FPp6n9fUkHd6Yel+wFrjpXCRggLddPvajUoXtQ==}
|
resolution: {integrity: sha512-EyBwVoTNZrhLRIHly3JnLzy86deT2hHGoxSCrT3+cVcF1Pq3FPp6n9fUkHd6Yel+wFrjpXCRggLddPvajUoXtQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1887,6 +2164,20 @@ packages:
|
|||||||
- '@aws-sdk/credential-provider-node'
|
- '@aws-sdk/credential-provider-node'
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/credential-provider-web-identity@3.525.0(@aws-sdk/credential-provider-node@3.525.0):
|
||||||
|
resolution: {integrity: sha512-sAukOjR1oKb2JXG4nPpuBFpSwGUhrrY17PG/xbTy8NAoLLhrqRwnErcLfdTfmj6tH+3094k6ws/Sh8a35ae7fA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/client-sts': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/property-provider': 2.1.3
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@aws-sdk/credential-provider-node'
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/credential-providers@3.523.0:
|
/@aws-sdk/credential-providers@3.523.0:
|
||||||
resolution: {integrity: sha512-A6uIcr4CuIq6+HTcho8soRmwDzXLVX2cs4U/WbHNOiD9rbLs/3kc4c/kkuGsMcq/pFm2dULxav0YuKyOAi3DEA==}
|
resolution: {integrity: sha512-A6uIcr4CuIq6+HTcho8soRmwDzXLVX2cs4U/WbHNOiD9rbLs/3kc4c/kkuGsMcq/pFm2dULxav0YuKyOAi3DEA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -1925,6 +2216,23 @@ packages:
|
|||||||
events: 3.3.0
|
events: 3.3.0
|
||||||
stream-browserify: 3.0.0
|
stream-browserify: 3.0.0
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@aws-sdk/lib-storage@3.525.1(@aws-sdk/client-s3@3.525.0):
|
||||||
|
resolution: {integrity: sha512-q0y4+bc5GsE10F1HyA1D24maRyy2H3Ph3o+1eK7/kzKrk0nBbISLGbZ8XNqtWwi+9KdsqWNKMoN9+zsDaE6d/w==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
'@aws-sdk/client-s3': ^3.0.0
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/client-s3': 3.525.0
|
||||||
|
'@smithy/abort-controller': 2.1.3
|
||||||
|
'@smithy/middleware-endpoint': 2.4.4
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
buffer: 5.6.0
|
||||||
|
events: 3.3.0
|
||||||
|
stream-browserify: 3.0.0
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/middleware-bucket-endpoint@3.523.0:
|
/@aws-sdk/middleware-bucket-endpoint@3.523.0:
|
||||||
resolution: {integrity: sha512-mrZbixWjk0d9NqxC4xBnKtfwErum0we4Uk2O4fgvDVI+XxAimUlZ9c4o/QJ2+TzeQ/8QclT2k4WidsQdWtPNvg==}
|
resolution: {integrity: sha512-mrZbixWjk0d9NqxC4xBnKtfwErum0we4Uk2O4fgvDVI+XxAimUlZ9c4o/QJ2+TzeQ/8QclT2k4WidsQdWtPNvg==}
|
||||||
@@ -1938,6 +2246,19 @@ packages:
|
|||||||
'@smithy/util-config-provider': 2.2.1
|
'@smithy/util-config-provider': 2.2.1
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/middleware-bucket-endpoint@3.525.0:
|
||||||
|
resolution: {integrity: sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-arn-parser': 3.495.0
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/util-config-provider': 2.2.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/middleware-expect-continue@3.523.0:
|
/@aws-sdk/middleware-expect-continue@3.523.0:
|
||||||
resolution: {integrity: sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==}
|
resolution: {integrity: sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2011,6 +2332,21 @@ packages:
|
|||||||
'@smithy/util-config-provider': 2.2.1
|
'@smithy/util-config-provider': 2.2.1
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/middleware-sdk-s3@3.525.0:
|
||||||
|
resolution: {integrity: sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-arn-parser': 3.495.0
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/signature-v4': 2.1.3
|
||||||
|
'@smithy/smithy-client': 2.4.2
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/util-config-provider': 2.2.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/middleware-signing@3.523.0:
|
/@aws-sdk/middleware-signing@3.523.0:
|
||||||
resolution: {integrity: sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==}
|
resolution: {integrity: sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2042,6 +2378,17 @@ packages:
|
|||||||
'@smithy/types': 2.10.1
|
'@smithy/types': 2.10.1
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/middleware-user-agent@3.525.0:
|
||||||
|
resolution: {integrity: sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@aws-sdk/util-endpoints': 3.525.0
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/region-config-resolver@3.523.0:
|
/@aws-sdk/region-config-resolver@3.523.0:
|
||||||
resolution: {integrity: sha512-IypIAecBc8b4jM0uVBEj90NYaIsc0vuLdSFyH4LPO7is4rQUet4CkkD+S036NvDdcdxBsQ4hJZBmWrqiizMHhQ==}
|
resolution: {integrity: sha512-IypIAecBc8b4jM0uVBEj90NYaIsc0vuLdSFyH4LPO7is4rQUet4CkkD+S036NvDdcdxBsQ4hJZBmWrqiizMHhQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2054,6 +2401,18 @@ packages:
|
|||||||
'@smithy/util-middleware': 2.1.3
|
'@smithy/util-middleware': 2.1.3
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/region-config-resolver@3.525.0:
|
||||||
|
resolution: {integrity: sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/util-config-provider': 2.2.1
|
||||||
|
'@smithy/util-middleware': 2.1.3
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/signature-v4-multi-region@3.523.0:
|
/@aws-sdk/signature-v4-multi-region@3.523.0:
|
||||||
resolution: {integrity: sha512-TU1AfF6YlihdMy4H5YtkmFYmA/Zrh7sqk2V6tPiR2Vu6idc+9xm1R0UE/2V/DKgMIkxfr4+cAojtp2kqYuuF/A==}
|
resolution: {integrity: sha512-TU1AfF6YlihdMy4H5YtkmFYmA/Zrh7sqk2V6tPiR2Vu6idc+9xm1R0UE/2V/DKgMIkxfr4+cAojtp2kqYuuF/A==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2065,6 +2424,18 @@ packages:
|
|||||||
'@smithy/types': 2.10.1
|
'@smithy/types': 2.10.1
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/signature-v4-multi-region@3.525.0:
|
||||||
|
resolution: {integrity: sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/middleware-sdk-s3': 3.525.0
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/protocol-http': 3.2.1
|
||||||
|
'@smithy/signature-v4': 2.1.3
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/token-providers@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
/@aws-sdk/token-providers@3.523.0(@aws-sdk/credential-provider-node@3.523.0):
|
||||||
resolution: {integrity: sha512-m3sPEnLuGV3JY9A8ytcz90SogVtjxEyIxUDFeswxY4C5wP/36yOq3ivenRu07dH+QIJnBhsQdjnHwJfrIetG6g==}
|
resolution: {integrity: sha512-m3sPEnLuGV3JY9A8ytcz90SogVtjxEyIxUDFeswxY4C5wP/36yOq3ivenRu07dH+QIJnBhsQdjnHwJfrIetG6g==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2080,6 +2451,21 @@ packages:
|
|||||||
- '@aws-sdk/credential-provider-node'
|
- '@aws-sdk/credential-provider-node'
|
||||||
- aws-crt
|
- aws-crt
|
||||||
|
|
||||||
|
/@aws-sdk/token-providers@3.525.0(@aws-sdk/credential-provider-node@3.525.0):
|
||||||
|
resolution: {integrity: sha512-puVjbxuK0Dq7PTQ2HdddHy2eQjOH8GZbump74yWJa6JVpRW84LlOcNmP+79x4Kscvz2ldWB8XDFw/pcCiSDe5A==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/client-sso-oidc': 3.525.0(@aws-sdk/credential-provider-node@3.525.0)
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/property-provider': 2.1.3
|
||||||
|
'@smithy/shared-ini-file-loader': 2.3.4
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@aws-sdk/credential-provider-node'
|
||||||
|
- aws-crt
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/types@3.523.0:
|
/@aws-sdk/types@3.523.0:
|
||||||
resolution: {integrity: sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==}
|
resolution: {integrity: sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2104,6 +2490,16 @@ packages:
|
|||||||
'@smithy/util-endpoints': 1.1.4
|
'@smithy/util-endpoints': 1.1.4
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/util-endpoints@3.525.0:
|
||||||
|
resolution: {integrity: sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
'@smithy/util-endpoints': 1.1.4
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/util-locate-window@3.495.0:
|
/@aws-sdk/util-locate-window@3.495.0:
|
||||||
resolution: {integrity: sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==}
|
resolution: {integrity: sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -2135,6 +2531,21 @@ packages:
|
|||||||
'@smithy/types': 2.10.1
|
'@smithy/types': 2.10.1
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/@aws-sdk/util-user-agent-node@3.525.0:
|
||||||
|
resolution: {integrity: sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
aws-crt: '>=1.0.0'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
aws-crt:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.523.0
|
||||||
|
'@smithy/node-config-provider': 2.2.4
|
||||||
|
'@smithy/types': 2.10.1
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@aws-sdk/util-utf8-browser@3.259.0:
|
/@aws-sdk/util-utf8-browser@3.259.0:
|
||||||
resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==}
|
resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
@@ -10434,16 +10845,6 @@ packages:
|
|||||||
minimatch: 5.1.6
|
minimatch: 5.1.6
|
||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
|
|
||||||
/glob@9.3.5:
|
|
||||||
resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
|
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
|
||||||
dependencies:
|
|
||||||
fs.realpath: 1.0.0
|
|
||||||
minimatch: 8.0.4
|
|
||||||
minipass: 4.2.8
|
|
||||||
path-scurry: 1.10.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/global-dirs@3.0.1:
|
/global-dirs@3.0.1:
|
||||||
resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
|
resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@@ -12900,13 +13301,6 @@ packages:
|
|||||||
brace-expansion: 2.0.1
|
brace-expansion: 2.0.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/minimatch@8.0.4:
|
|
||||||
resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
|
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
|
||||||
dependencies:
|
|
||||||
brace-expansion: 2.0.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/minimatch@9.0.1:
|
/minimatch@9.0.1:
|
||||||
resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
|
resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
@@ -12923,11 +13317,6 @@ packages:
|
|||||||
/minimist@1.2.8:
|
/minimist@1.2.8:
|
||||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||||
|
|
||||||
/minipass@4.2.8:
|
|
||||||
resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/minipass@7.0.4:
|
/minipass@7.0.4:
|
||||||
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
|
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
@@ -15484,14 +15873,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
glob: 7.2.3
|
glob: 7.2.3
|
||||||
|
|
||||||
/rimraf@4.4.1:
|
|
||||||
resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==}
|
|
||||||
engines: {node: '>=14'}
|
|
||||||
hasBin: true
|
|
||||||
dependencies:
|
|
||||||
glob: 9.3.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/run-applescript@7.0.0:
|
/run-applescript@7.0.0:
|
||||||
resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
|
resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
MONGODB_URI=mongodb://localhost/payload-plugin-cloud-storage
|
MONGODB_URI=mongodb://localhost/payload-plugin-cloud-storage
|
||||||
PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3000
|
PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3000
|
||||||
PAYLOAD_SECRET=45ligj345ligj4wl5igj4lw5igj45ligj45wlijl
|
PAYLOAD_SECRET=45ligj345ligj4wl5igj4lw5igj45ligj45wlijl
|
||||||
PAYLOAD_CONFIG_PATH=src/payload.config.ts
|
PAYLOAD_CONFIG_PATH=config.ts
|
||||||
|
|
||||||
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://localhost:10000/devstoreaccount1;QueueEndpoint=http://localhost:10001/devstoreaccount1;
|
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://localhost:10000/devstoreaccount1;QueueEndpoint=http://localhost:10001/devstoreaccount1;
|
||||||
AZURE_STORAGE_CONTAINER_NAME=az-media
|
AZURE_STORAGE_CONTAINER_NAME=az-media
|
||||||
@@ -15,6 +15,7 @@ S3_ACCESS_KEY_ID=payloadAccessKey
|
|||||||
S3_SECRET_ACCESS_KEY=alwiejglaiwhewlihgawe
|
S3_SECRET_ACCESS_KEY=alwiejglaiwhewlihgawe
|
||||||
S3_BUCKET=payload-bucket
|
S3_BUCKET=payload-bucket
|
||||||
S3_FORCE_PATH_STYLE=true
|
S3_FORCE_PATH_STYLE=true
|
||||||
|
S3_REGION=us-east-1
|
||||||
|
|
||||||
GCS_ENDPOINT=http://localhost:4443
|
GCS_ENDPOINT=http://localhost:4443
|
||||||
GCS_PROJECT_ID=test
|
GCS_PROJECT_ID=test
|
||||||
@@ -28,3 +29,4 @@ R2_BUCKET=payload-bucket
|
|||||||
R2_FORCE_PATH_STYLE=
|
R2_FORCE_PATH_STYLE=
|
||||||
|
|
||||||
PAYLOAD_DROP_DATABASE=true
|
PAYLOAD_DROP_DATABASE=true
|
||||||
|
PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER=s3
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import type { CollectionConfig } from '../../../packages/payload/src/collections
|
|||||||
export const Media: CollectionConfig = {
|
export const Media: CollectionConfig = {
|
||||||
slug: 'media',
|
slug: 'media',
|
||||||
upload: {
|
upload: {
|
||||||
disableLocalStorage: false, // don't save me
|
disableLocalStorage: true, // don't save me
|
||||||
resizeOptions: {
|
resizeOptions: {
|
||||||
position: 'center',
|
position: 'center',
|
||||||
width: 200,
|
width: 200,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import * as AWS from '@aws-sdk/client-s3'
|
||||||
import dotenv from 'dotenv'
|
import dotenv from 'dotenv'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
|
||||||
@@ -16,9 +17,13 @@ let adapter: Adapter
|
|||||||
let uploadOptions
|
let uploadOptions
|
||||||
|
|
||||||
dotenv.config({
|
dotenv.config({
|
||||||
path: path.resolve(__dirname, '.env.emulated'),
|
path: path.resolve(process.cwd(), './test/plugin-cloud-storage/.env.emulated'),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
`Using plugin-cloud-storage adapter: ${process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER}`,
|
||||||
|
)
|
||||||
|
|
||||||
if (process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 'azure') {
|
if (process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 'azure') {
|
||||||
adapter = azureBlobStorageAdapter({
|
adapter = azureBlobStorageAdapter({
|
||||||
connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING,
|
connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING,
|
||||||
@@ -79,37 +84,9 @@ if (process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 'r2') {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(
|
|
||||||
`Using plugin-cloud-storage adapter: ${process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER}`,
|
|
||||||
)
|
|
||||||
|
|
||||||
export default buildConfigWithDefaults({
|
export default buildConfigWithDefaults({
|
||||||
collections: [Media, Users],
|
collections: [Media, Users],
|
||||||
upload: uploadOptions,
|
upload: uploadOptions,
|
||||||
admin: {
|
|
||||||
webpack: (config) => ({
|
|
||||||
...config,
|
|
||||||
resolve: {
|
|
||||||
...config.resolve,
|
|
||||||
alias: {
|
|
||||||
...config?.resolve?.alias,
|
|
||||||
[path.resolve(__dirname, '../../packages/plugin-cloud-storage/src/index')]: path.resolve(
|
|
||||||
__dirname,
|
|
||||||
'../../packages/plugin-cloud-storage/src/admin/mock.js',
|
|
||||||
),
|
|
||||||
[path.resolve(__dirname, '../../packages/plugin-cloud-storage/src/adapters/s3/index')]:
|
|
||||||
path.resolve(__dirname, '../../packages/plugin-cloud-storage/src/adapters/s3/mock.js'),
|
|
||||||
[path.resolve(__dirname, '../../packages/plugin-cloud-storage/src/adapters/gcs/index')]:
|
|
||||||
path.resolve(__dirname, '../../packages/plugin-cloud-storage/src/adapters/gcs/mock.js'),
|
|
||||||
[path.resolve(__dirname, '../../packages/plugin-cloud-storage/src/adapters/azure/index')]:
|
|
||||||
path.resolve(
|
|
||||||
__dirname,
|
|
||||||
'../../packages/plugin-cloud-storage/src/adapters/azure/mock.js',
|
|
||||||
),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
plugins: [
|
plugins: [
|
||||||
cloudStorage({
|
cloudStorage({
|
||||||
collections: {
|
collections: {
|
||||||
@@ -120,6 +97,24 @@ export default buildConfigWithDefaults({
|
|||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
onInit: async (payload) => {
|
onInit: async (payload) => {
|
||||||
|
/*const client = new AWS.S3({
|
||||||
|
endpoint: process.env.S3_ENDPOINT,
|
||||||
|
forcePathStyle: process.env.S3_FORCE_PATH_STYLE === 'true',
|
||||||
|
region: process.env.S3_REGION,
|
||||||
|
credentials: {
|
||||||
|
accessKeyId: process.env.S3_ACCESS_KEY_ID,
|
||||||
|
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const makeBucketRes = await client.send(
|
||||||
|
new AWS.CreateBucketCommand({ Bucket: 'payload-bucket' }),
|
||||||
|
)
|
||||||
|
|
||||||
|
if (makeBucketRes.$metadata.httpStatusCode !== 200) {
|
||||||
|
throw new Error(`Failed to create bucket. ${makeBucketRes.$metadata.httpStatusCode}`)
|
||||||
|
}*/
|
||||||
|
|
||||||
await payload.create({
|
await payload.create({
|
||||||
collection: 'users',
|
collection: 'users',
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -10,7 +10,11 @@
|
|||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"forceConsistentCasingInFileNames": true,
|
"forceConsistentCasingInFileNames": true,
|
||||||
"jsx": "preserve",
|
"jsx": "preserve",
|
||||||
"lib": ["dom", "dom.iterable", "esnext"],
|
"lib": [
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"esnext"
|
||||||
|
],
|
||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"outDir": "./dist",
|
"outDir": "./dist",
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
@@ -18,7 +22,11 @@
|
|||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"strict": false,
|
"strict": false,
|
||||||
"types": ["jest", "node", "@types/jest"],
|
"types": [
|
||||||
|
"jest",
|
||||||
|
"node",
|
||||||
|
"@types/jest"
|
||||||
|
],
|
||||||
"incremental": true,
|
"incremental": true,
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"plugins": [
|
"plugins": [
|
||||||
@@ -27,27 +35,62 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"paths": {
|
"paths": {
|
||||||
"payload": ["./packages/payload/src"],
|
"payload": [
|
||||||
"payload/*": ["./packages/payload/src/exports/*"],
|
"./packages/payload/src"
|
||||||
"@payloadcms/db-mongodb": ["./packages/db-mongodb/src"],
|
],
|
||||||
"@payloadcms/richtext-lexical": ["./packages/richtext-lexical/src"],
|
"payload/*": [
|
||||||
"@payloadcms/plugin-cloud-storage": ["./packages/plugin-cloud-storage/src"],
|
"./packages/payload/src/exports/*"
|
||||||
"@payloadcms/ui": ["./packages/ui/src/exports/index.ts"],
|
],
|
||||||
"@payloadcms/ui/*": ["./packages/ui/src/exports/*"],
|
"@payloadcms/db-mongodb": [
|
||||||
"@payloadcms/ui/scss": ["./packages/ui/src/scss/styles.scss"],
|
"./packages/db-mongodb/src"
|
||||||
"@payloadcms/ui/scss/app.scss": ["./packages/ui/src/scss/app.scss"],
|
],
|
||||||
"@payloadcms/translations": ["./packages/translations/src/exports/index.ts"],
|
"@payloadcms/richtext-lexical": [
|
||||||
|
"./packages/richtext-lexical/src"
|
||||||
|
],
|
||||||
|
"@payloadcms/plugin-cloud-storage": [
|
||||||
|
"./packages/plugin-cloud-storage/src"
|
||||||
|
],
|
||||||
|
"@payloadcms/ui": [
|
||||||
|
"./packages/ui/src/exports/index.ts"
|
||||||
|
],
|
||||||
|
"@payloadcms/ui/*": [
|
||||||
|
"./packages/ui/src/exports/*"
|
||||||
|
],
|
||||||
|
"@payloadcms/ui/scss": [
|
||||||
|
"./packages/ui/src/scss/styles.scss"
|
||||||
|
],
|
||||||
|
"@payloadcms/ui/scss/app.scss": [
|
||||||
|
"./packages/ui/src/scss/app.scss"
|
||||||
|
],
|
||||||
|
"@payloadcms/translations": [
|
||||||
|
"./packages/translations/src/exports/index.ts"
|
||||||
|
],
|
||||||
"@payloadcms/translations/client": [
|
"@payloadcms/translations/client": [
|
||||||
"./packages/translations/src/_generatedFiles_/client/index.ts"
|
"./packages/translations/src/_generatedFiles_/client/index.ts"
|
||||||
],
|
],
|
||||||
"@payloadcms/translations/api": ["./packages/translations/src/_generatedFiles_/api/index.ts"],
|
"@payloadcms/translations/api": [
|
||||||
"@payloadcms/next/*": ["./packages/next/src/*"],
|
"./packages/translations/src/_generatedFiles_/api/index.ts"
|
||||||
"@payloadcms/next": ["./packages/next/src/exports/*"],
|
],
|
||||||
"@payloadcms/graphql": ["./packages/graphql/src"],
|
"@payloadcms/next/*": [
|
||||||
"@payload-config": ["./test/_community/config.ts"]
|
"./packages/next/src/*"
|
||||||
|
],
|
||||||
|
"@payloadcms/next": [
|
||||||
|
"./packages/next/src/exports/*"
|
||||||
|
],
|
||||||
|
"@payloadcms/graphql": [
|
||||||
|
"./packages/graphql/src"
|
||||||
|
],
|
||||||
|
"@payload-config": [
|
||||||
|
"./test/plugin-cloud-storage/config.ts"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"exclude": ["dist", "build", "temp", "node_modules"],
|
"exclude": [
|
||||||
|
"dist",
|
||||||
|
"build",
|
||||||
|
"temp",
|
||||||
|
"node_modules"
|
||||||
|
],
|
||||||
"composite": true,
|
"composite": true,
|
||||||
"references": [
|
"references": [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user