@payloadcms/storage-gcs 4.0.0-internal.f15737c → 4.0.0-internal.f2a04f7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EAEpB,MAAM,wCAAwC,CAAA;AAQ/C,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,oBAA4B,GAC7B,EAAE,oBAAoB,GAAG,OAAO,CA8DhC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EAGpB,MAAM,wCAAwC,CAAA;AAS/C,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,oBAA4B,GAC7B,EAAE,oBAAoB,GAAG,OAAO,CAgEhC"}
package/dist/adapter.js CHANGED
@@ -1,11 +1,26 @@
1
+ import { copyGcsFile } from './copyFile.js';
1
2
  import { deleteFile } from './deleteFile.js';
2
3
  import { generateUploadInstructions } from './generateUploadInstructions.js';
3
4
  import { generateURL } from './generateURL.js';
4
5
  import { getFile } from './getFile.js';
5
6
  import { uploadFile } from './uploadFile.js';
6
7
  export function createGcsAdapter({ acl, bucket, clientUploads, getStorageClient, useCompositePrefixes = false }) {
8
+ const deleteStoredFile = ({ storageFilePath })=>deleteFile({
9
+ bucket,
10
+ client: getStorageClient(),
11
+ storageFilePath
12
+ });
7
13
  return ({ collection, prefix = '' })=>({
8
14
  name: 'gcs',
15
+ copyFile: ({ from, req, to })=>copyGcsFile({
16
+ acl,
17
+ bucket,
18
+ client: getStorageClient(),
19
+ from,
20
+ req,
21
+ to
22
+ }),
23
+ deleteFile: deleteStoredFile,
9
24
  generateURL: ({ filename, prefix: urlPrefix = '' })=>generateURL({
10
25
  bucket,
11
26
  client: getStorageClient(),
@@ -26,11 +41,7 @@ export function createGcsAdapter({ acl, bucket, clientUploads, getStorageClient,
26
41
  requiresUploadReceipt: true,
27
42
  useInAdmin: true
28
43
  },
29
- handleDelete: ({ storageFilePath })=>deleteFile({
30
- bucket,
31
- client: getStorageClient(),
32
- storageFilePath
33
- }),
44
+ handleDelete: deleteStoredFile,
34
45
  handleUpload: async ({ data, file, storageFilePath })=>{
35
46
  await uploadFile({
36
47
  acl,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapter.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\nimport type {\n Adapter,\n ClientUploadsConfig,\n GeneratedAdapter,\n} from '@payloadcms/plugin-cloud-storage/types'\n\nimport { deleteFile } from './deleteFile.js'\nimport { generateUploadInstructions } from './generateUploadInstructions.js'\nimport { generateURL } from './generateURL.js'\nimport { getFile } from './getFile.js'\nimport { uploadFile } from './uploadFile.js'\n\ninterface CreateGcsAdapterArgs {\n acl?: 'Private' | 'Public'\n bucket: string\n clientUploads?: ClientUploadsConfig\n getStorageClient: () => Storage\n useCompositePrefixes?: boolean\n}\n\nexport function createGcsAdapter({\n acl,\n bucket,\n clientUploads,\n getStorageClient,\n useCompositePrefixes = false,\n}: CreateGcsAdapterArgs): Adapter {\n return ({ collection, prefix = '' }): GeneratedAdapter => ({\n name: 'gcs',\n\n generateURL: ({ filename, prefix: urlPrefix = '' }) =>\n generateURL({\n bucket,\n client: getStorageClient(),\n collectionPrefix: prefix,\n filename,\n prefix: urlPrefix,\n useCompositePrefixes,\n }),\n\n uploadInstructions: {\n enabled: Boolean(clientUploads),\n generate: generateUploadInstructions({\n access: typeof clientUploads === 'object' ? clientUploads.access : undefined,\n bucket,\n collectionPrefix: prefix,\n getStorageClient,\n useCompositePrefixes,\n }),\n requiresUploadReceipt: true,\n useInAdmin: true,\n },\n\n handleDelete: ({ storageFilePath }) =>\n deleteFile({\n bucket,\n client: getStorageClient(),\n storageFilePath,\n }),\n\n handleUpload: async ({ data, file, storageFilePath }) => {\n await uploadFile({\n acl,\n bucket,\n buffer: file.buffer,\n client: getStorageClient(),\n mimeType: file.mimeType,\n storageFilePath,\n })\n\n return data\n },\n\n staticHandler: (req, { doc, headers, params: { filename, operation, uploadReference } }) =>\n getFile({\n bucket,\n client: getStorageClient(),\n collection,\n collectionPrefix: prefix,\n doc,\n filename,\n incomingHeaders: headers,\n operation,\n req,\n uploadReference,\n useCompositePrefixes,\n }),\n })\n}\n"],"names":["deleteFile","generateUploadInstructions","generateURL","getFile","uploadFile","createGcsAdapter","acl","bucket","clientUploads","getStorageClient","useCompositePrefixes","collection","prefix","name","filename","urlPrefix","client","collectionPrefix","uploadInstructions","enabled","Boolean","generate","access","undefined","requiresUploadReceipt","useInAdmin","handleDelete","storageFilePath","handleUpload","data","file","buffer","mimeType","staticHandler","req","doc","headers","params","operation","uploadReference","incomingHeaders"],"mappings":"AAOA,SAASA,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,0BAA0B,QAAQ,kCAAiC;AAC5E,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,UAAU,QAAQ,kBAAiB;AAU5C,OAAO,SAASC,iBAAiB,EAC/BC,GAAG,EACHC,MAAM,EACNC,aAAa,EACbC,gBAAgB,EAChBC,uBAAuB,KAAK,EACP;IACrB,OAAO,CAAC,EAAEC,UAAU,EAAEC,SAAS,EAAE,EAAE,GAAwB,CAAA;YACzDC,MAAM;YAENX,aAAa,CAAC,EAAEY,QAAQ,EAAEF,QAAQG,YAAY,EAAE,EAAE,GAChDb,YAAY;oBACVK;oBACAS,QAAQP;oBACRQ,kBAAkBL;oBAClBE;oBACAF,QAAQG;oBACRL;gBACF;YAEFQ,oBAAoB;gBAClBC,SAASC,QAAQZ;gBACjBa,UAAUpB,2BAA2B;oBACnCqB,QAAQ,OAAOd,kBAAkB,WAAWA,cAAcc,MAAM,GAAGC;oBACnEhB;oBACAU,kBAAkBL;oBAClBH;oBACAC;gBACF;gBACAc,uBAAuB;gBACvBC,YAAY;YACd;YAEAC,cAAc,CAAC,EAAEC,eAAe,EAAE,GAChC3B,WAAW;oBACTO;oBACAS,QAAQP;oBACRkB;gBACF;YAEFC,cAAc,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAEH,eAAe,EAAE;gBAClD,MAAMvB,WAAW;oBACfE;oBACAC;oBACAwB,QAAQD,KAAKC,MAAM;oBACnBf,QAAQP;oBACRuB,UAAUF,KAAKE,QAAQ;oBACvBL;gBACF;gBAEA,OAAOE;YACT;YAEAI,eAAe,CAACC,KAAK,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEvB,QAAQ,EAAEwB,SAAS,EAAEC,eAAe,EAAE,EAAE,GACrFpC,QAAQ;oBACNI;oBACAS,QAAQP;oBACRE;oBACAM,kBAAkBL;oBAClBuB;oBACArB;oBACA0B,iBAAiBJ;oBACjBE;oBACAJ;oBACAK;oBACA7B;gBACF;QACJ,CAAA;AACF"}
1
+ {"version":3,"sources":["../src/adapter.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\nimport type {\n Adapter,\n ClientUploadsConfig,\n DeleteFile,\n GeneratedAdapter,\n} from '@payloadcms/plugin-cloud-storage/types'\n\nimport { copyGcsFile } from './copyFile.js'\nimport { deleteFile } from './deleteFile.js'\nimport { generateUploadInstructions } from './generateUploadInstructions.js'\nimport { generateURL } from './generateURL.js'\nimport { getFile } from './getFile.js'\nimport { uploadFile } from './uploadFile.js'\n\ninterface CreateGcsAdapterArgs {\n acl?: 'Private' | 'Public'\n bucket: string\n clientUploads?: ClientUploadsConfig\n getStorageClient: () => Storage\n useCompositePrefixes?: boolean\n}\n\nexport function createGcsAdapter({\n acl,\n bucket,\n clientUploads,\n getStorageClient,\n useCompositePrefixes = false,\n}: CreateGcsAdapterArgs): Adapter {\n const deleteStoredFile: DeleteFile = ({ storageFilePath }) =>\n deleteFile({ bucket, client: getStorageClient(), storageFilePath })\n\n return ({ collection, prefix = '' }): GeneratedAdapter => ({\n name: 'gcs',\n\n copyFile: ({ from, req, to }) =>\n copyGcsFile({ acl, bucket, client: getStorageClient(), from, req, to }),\n deleteFile: deleteStoredFile,\n\n generateURL: ({ filename, prefix: urlPrefix = '' }) =>\n generateURL({\n bucket,\n client: getStorageClient(),\n collectionPrefix: prefix,\n filename,\n prefix: urlPrefix,\n useCompositePrefixes,\n }),\n\n uploadInstructions: {\n enabled: Boolean(clientUploads),\n generate: generateUploadInstructions({\n access: typeof clientUploads === 'object' ? clientUploads.access : undefined,\n bucket,\n collectionPrefix: prefix,\n getStorageClient,\n useCompositePrefixes,\n }),\n requiresUploadReceipt: true,\n useInAdmin: true,\n },\n\n handleDelete: deleteStoredFile,\n\n handleUpload: async ({ data, file, storageFilePath }) => {\n await uploadFile({\n acl,\n bucket,\n buffer: file.buffer,\n client: getStorageClient(),\n mimeType: file.mimeType,\n storageFilePath,\n })\n\n return data\n },\n\n staticHandler: (req, { doc, headers, params: { filename, operation, uploadReference } }) =>\n getFile({\n bucket,\n client: getStorageClient(),\n collection,\n collectionPrefix: prefix,\n doc,\n filename,\n incomingHeaders: headers,\n operation,\n req,\n uploadReference,\n useCompositePrefixes,\n }),\n })\n}\n"],"names":["copyGcsFile","deleteFile","generateUploadInstructions","generateURL","getFile","uploadFile","createGcsAdapter","acl","bucket","clientUploads","getStorageClient","useCompositePrefixes","deleteStoredFile","storageFilePath","client","collection","prefix","name","copyFile","from","req","to","filename","urlPrefix","collectionPrefix","uploadInstructions","enabled","Boolean","generate","access","undefined","requiresUploadReceipt","useInAdmin","handleDelete","handleUpload","data","file","buffer","mimeType","staticHandler","doc","headers","params","operation","uploadReference","incomingHeaders"],"mappings":"AAQA,SAASA,WAAW,QAAQ,gBAAe;AAC3C,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,0BAA0B,QAAQ,kCAAiC;AAC5E,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,UAAU,QAAQ,kBAAiB;AAU5C,OAAO,SAASC,iBAAiB,EAC/BC,GAAG,EACHC,MAAM,EACNC,aAAa,EACbC,gBAAgB,EAChBC,uBAAuB,KAAK,EACP;IACrB,MAAMC,mBAA+B,CAAC,EAAEC,eAAe,EAAE,GACvDZ,WAAW;YAAEO;YAAQM,QAAQJ;YAAoBG;QAAgB;IAEnE,OAAO,CAAC,EAAEE,UAAU,EAAEC,SAAS,EAAE,EAAE,GAAwB,CAAA;YACzDC,MAAM;YAENC,UAAU,CAAC,EAAEC,IAAI,EAAEC,GAAG,EAAEC,EAAE,EAAE,GAC1BrB,YAAY;oBAAEO;oBAAKC;oBAAQM,QAAQJ;oBAAoBS;oBAAMC;oBAAKC;gBAAG;YACvEpB,YAAYW;YAEZT,aAAa,CAAC,EAAEmB,QAAQ,EAAEN,QAAQO,YAAY,EAAE,EAAE,GAChDpB,YAAY;oBACVK;oBACAM,QAAQJ;oBACRc,kBAAkBR;oBAClBM;oBACAN,QAAQO;oBACRZ;gBACF;YAEFc,oBAAoB;gBAClBC,SAASC,QAAQlB;gBACjBmB,UAAU1B,2BAA2B;oBACnC2B,QAAQ,OAAOpB,kBAAkB,WAAWA,cAAcoB,MAAM,GAAGC;oBACnEtB;oBACAgB,kBAAkBR;oBAClBN;oBACAC;gBACF;gBACAoB,uBAAuB;gBACvBC,YAAY;YACd;YAEAC,cAAcrB;YAEdsB,cAAc,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAEvB,eAAe,EAAE;gBAClD,MAAMR,WAAW;oBACfE;oBACAC;oBACA6B,QAAQD,KAAKC,MAAM;oBACnBvB,QAAQJ;oBACR4B,UAAUF,KAAKE,QAAQ;oBACvBzB;gBACF;gBAEA,OAAOsB;YACT;YAEAI,eAAe,CAACnB,KAAK,EAAEoB,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEpB,QAAQ,EAAEqB,SAAS,EAAEC,eAAe,EAAE,EAAE,GACrFxC,QAAQ;oBACNI;oBACAM,QAAQJ;oBACRK;oBACAS,kBAAkBR;oBAClBwB;oBACAlB;oBACAuB,iBAAiBJ;oBACjBE;oBACAvB;oBACAwB;oBACAjC;gBACF;QACJ,CAAA;AACF"}
@@ -0,0 +1,13 @@
1
+ import type { Storage } from '@google-cloud/storage';
2
+ import type { PayloadRequest } from 'payload';
3
+ type Args = {
4
+ acl?: 'Private' | 'Public';
5
+ bucket: string;
6
+ client: Storage;
7
+ from: string;
8
+ req?: PayloadRequest;
9
+ to: string;
10
+ };
11
+ export declare const copyGcsFile: ({ acl, bucket, client, from, req, to }: Args) => Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=copyFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyFile.d.ts","sourceRoot":"","sources":["../src/copyFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,IAAI,GAAG;IACV,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,eAAO,MAAM,WAAW,2CAAkD,IAAI,KAAG,OAAO,CAAC,IAAI,CA6C5F,CAAA"}
@@ -0,0 +1,45 @@
1
+ export const copyGcsFile = async ({ acl, bucket, client, from, req, to })=>{
2
+ if (from === to) {
3
+ throw new Error('Storage copy requires different source and destination keys');
4
+ }
5
+ const storageBucket = client.bucket(bucket);
6
+ const source = storageBucket.file(from);
7
+ const destination = storageBucket.file(to);
8
+ const [sourceMetadata] = await source.getMetadata();
9
+ const [hasDestination] = await destination.exists();
10
+ if (hasDestination) {
11
+ throw new Error(`Storage destination already exists: ${to}`);
12
+ }
13
+ const [, response] = await source.copy(destination, {
14
+ preconditionOpts: {
15
+ ifGenerationMatch: 0
16
+ }
17
+ });
18
+ const generation = response.resource?.generation;
19
+ try {
20
+ if (acl) {
21
+ await destination[`make${acl}`]();
22
+ }
23
+ const [destinationMetadata] = await destination.getMetadata();
24
+ if (destinationMetadata.size !== sourceMetadata.size) {
25
+ throw new Error(`Copied GCS object is not readable at its expected length: ${to}`);
26
+ }
27
+ } catch (err) {
28
+ try {
29
+ if (generation === undefined) {
30
+ throw new Error('GCS copy did not return a generation for safe cleanup');
31
+ }
32
+ await storageBucket.file(to, {
33
+ generation
34
+ }).delete();
35
+ } catch (cleanupError) {
36
+ req?.payload.logger.error({
37
+ err: cleanupError,
38
+ msg: `Failed to remove unsuccessful GCS copy at ${bucket}/${to}`
39
+ });
40
+ }
41
+ throw err;
42
+ }
43
+ };
44
+
45
+ //# sourceMappingURL=copyFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/copyFile.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\nimport type { PayloadRequest } from 'payload'\n\ntype Args = {\n acl?: 'Private' | 'Public'\n bucket: string\n client: Storage\n from: string\n req?: PayloadRequest\n to: string\n}\n\nexport const copyGcsFile = async ({ acl, bucket, client, from, req, to }: Args): Promise<void> => {\n if (from === to) {\n throw new Error('Storage copy requires different source and destination keys')\n }\n\n const storageBucket = client.bucket(bucket)\n const source = storageBucket.file(from)\n const destination = storageBucket.file(to)\n const [sourceMetadata] = await source.getMetadata()\n const [hasDestination] = await destination.exists()\n\n if (hasDestination) {\n throw new Error(`Storage destination already exists: ${to}`)\n }\n\n const [, response] = await source.copy(destination, {\n preconditionOpts: { ifGenerationMatch: 0 },\n })\n const generation = (response as { resource?: { generation?: number | string } }).resource\n ?.generation\n\n try {\n if (acl) {\n await destination[`make${acl}`]()\n }\n\n const [destinationMetadata] = await destination.getMetadata()\n\n if (destinationMetadata.size !== sourceMetadata.size) {\n throw new Error(`Copied GCS object is not readable at its expected length: ${to}`)\n }\n } catch (err) {\n try {\n if (generation === undefined) {\n throw new Error('GCS copy did not return a generation for safe cleanup')\n }\n await storageBucket.file(to, { generation }).delete()\n } catch (cleanupError) {\n req?.payload.logger.error({\n err: cleanupError,\n msg: `Failed to remove unsuccessful GCS copy at ${bucket}/${to}`,\n })\n }\n throw err\n }\n}\n"],"names":["copyGcsFile","acl","bucket","client","from","req","to","Error","storageBucket","source","file","destination","sourceMetadata","getMetadata","hasDestination","exists","response","copy","preconditionOpts","ifGenerationMatch","generation","resource","destinationMetadata","size","err","undefined","delete","cleanupError","payload","logger","error","msg"],"mappings":"AAYA,OAAO,MAAMA,cAAc,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,GAAG,EAAEC,EAAE,EAAQ;IAC5E,IAAIF,SAASE,IAAI;QACf,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,gBAAgBL,OAAOD,MAAM,CAACA;IACpC,MAAMO,SAASD,cAAcE,IAAI,CAACN;IAClC,MAAMO,cAAcH,cAAcE,IAAI,CAACJ;IACvC,MAAM,CAACM,eAAe,GAAG,MAAMH,OAAOI,WAAW;IACjD,MAAM,CAACC,eAAe,GAAG,MAAMH,YAAYI,MAAM;IAEjD,IAAID,gBAAgB;QAClB,MAAM,IAAIP,MAAM,CAAC,oCAAoC,EAAED,IAAI;IAC7D;IAEA,MAAM,GAAGU,SAAS,GAAG,MAAMP,OAAOQ,IAAI,CAACN,aAAa;QAClDO,kBAAkB;YAAEC,mBAAmB;QAAE;IAC3C;IACA,MAAMC,aAAa,AAACJ,SAA6DK,QAAQ,EACrFD;IAEJ,IAAI;QACF,IAAInB,KAAK;YACP,MAAMU,WAAW,CAAC,CAAC,IAAI,EAAEV,KAAK,CAAC;QACjC;QAEA,MAAM,CAACqB,oBAAoB,GAAG,MAAMX,YAAYE,WAAW;QAE3D,IAAIS,oBAAoBC,IAAI,KAAKX,eAAeW,IAAI,EAAE;YACpD,MAAM,IAAIhB,MAAM,CAAC,0DAA0D,EAAED,IAAI;QACnF;IACF,EAAE,OAAOkB,KAAK;QACZ,IAAI;YACF,IAAIJ,eAAeK,WAAW;gBAC5B,MAAM,IAAIlB,MAAM;YAClB;YACA,MAAMC,cAAcE,IAAI,CAACJ,IAAI;gBAAEc;YAAW,GAAGM,MAAM;QACrD,EAAE,OAAOC,cAAc;YACrBtB,KAAKuB,QAAQC,OAAOC,MAAM;gBACxBN,KAAKG;gBACLI,KAAK,CAAC,0CAA0C,EAAE7B,OAAO,CAAC,EAAEI,IAAI;YAClE;QACF;QACA,MAAMkB;IACR;AACF,EAAC"}
package/package.json CHANGED
@@ -1,13 +1,8 @@
1
1
  {
2
2
  "name": "@payloadcms/storage-gcs",
3
- "version": "4.0.0-internal.f15737c",
3
+ "version": "4.0.0-internal.f2a04f7",
4
4
  "description": "Payload storage adapter for Google Cloud Storage",
5
5
  "homepage": "https://payloadcms.com",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/payloadcms/payload.git",
9
- "directory": "packages/storage-gcs"
10
- },
11
6
  "license": "MIT",
12
7
  "author": "Payload <dev@payloadcms.com> (https://payloadcms.com)",
13
8
  "maintainers": [
@@ -17,8 +12,18 @@
17
12
  "url": "https://payloadcms.com"
18
13
  }
19
14
  ],
20
- "sideEffects": false,
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/payloadcms/payload.git",
18
+ "directory": "packages/storage-gcs"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
21
23
  "type": "module",
24
+ "sideEffects": false,
25
+ "main": "./dist/index.js",
26
+ "types": "./dist/index.d.ts",
22
27
  "exports": {
23
28
  ".": {
24
29
  "import": "./dist/index.js",
@@ -26,20 +31,15 @@
26
31
  "default": "./dist/index.js"
27
32
  }
28
33
  },
29
- "main": "./dist/index.js",
30
- "types": "./dist/index.d.ts",
31
- "files": [
32
- "dist"
33
- ],
34
34
  "dependencies": {
35
35
  "@google-cloud/storage": "7.19.0",
36
- "@payloadcms/plugin-cloud-storage": "4.0.0-internal.f15737c"
36
+ "@payloadcms/plugin-cloud-storage": "4.0.0-internal.f2a04f7"
37
37
  },
38
38
  "devDependencies": {
39
- "payload": "4.0.0-internal.f15737c"
39
+ "payload": "4.0.0-internal.f2a04f7"
40
40
  },
41
41
  "peerDependencies": {
42
- "payload": "4.0.0-internal.f15737c"
42
+ "payload": "4.0.0-internal.f2a04f7"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=24.15.0"