@payloadcms/plugin-cloud-storage 3.0.0-beta.6-86adc6f → 3.0.0-beta.9

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 CHANGED
@@ -63,6 +63,7 @@ This plugin supports the following adapters:
63
63
  - [Azure Blob Storage](#azure-blob-storage-adapter)
64
64
  - [AWS S3-style Storage](#s3-adapter)
65
65
  - [Google Cloud Storage](#gcs-adapter)
66
+ - [Vercel Blob Storage](#vercel-blob-adapter)
66
67
 
67
68
  However, you can create your own adapter for any third-party service you would like to use.
68
69
 
@@ -176,6 +177,20 @@ const adapter = gcsAdapter({
176
177
  // Now you can pass this adapter to the plugin
177
178
  ```
178
179
 
180
+ ### Vercel Blob Adapter
181
+
182
+ To use the Vercel Blob adapter, you need to have `@vercel/blob` installed in your project dependencies.
183
+
184
+ ```ts
185
+ import { vercelBlobAdapter } from '@payloadcms/plugin-cloud-storage/vercelBlob'
186
+
187
+ const adapter = vercelBlobAdapter({
188
+ token: process.env.BLOB_READ_WRITE_TOKEN || '',
189
+ })
190
+ ```
191
+
192
+ Credit to @JarvisPrestidge for the original implementation of this plugin.
193
+
179
194
  ### Payload Access Control
180
195
 
181
196
  Payload ships with access control that runs _even on statically served files_. The same `read` access control property on your `upload`-enabled collections is used, and it allows you to restrict who can request your uploaded files.
@@ -1 +1 @@
1
- {"version":3,"file":"staticHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/vercelBlob/staticHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAA;AAKnF,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,gBAAgB,uBACP,iBAAiB,cACzB,gBAAgB,KAC3B,aAmCF,CAAA"}
1
+ {"version":3,"file":"staticHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/vercelBlob/staticHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAA;AAOnF,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,gBAAgB,uBACP,iBAAiB,cACzB,gBAAgB,KAC3B,aAmCF,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { head } from '@vercel/blob';
2
2
  import path from 'path';
3
+ import { getFilePrefix } from '../../utilities/getFilePrefix.js';
3
4
  export const getStaticHandler = ({ baseUrl, token }, collection)=>{
4
5
  return async (req, { params: { filename } })=>{
5
6
  try {
@@ -46,32 +47,5 @@ export const getStaticHandler = ({ baseUrl, token }, collection)=>{
46
47
  }
47
48
  };
48
49
  };
49
- async function getFilePrefix({ collection, req }) {
50
- const imageSizes = collection?.upload?.imageSizes || [];
51
- const { routeParams } = req;
52
- const filename = routeParams?.['filename'];
53
- const files = await req.payload.find({
54
- collection: collection.slug,
55
- depth: 0,
56
- limit: 1,
57
- pagination: false,
58
- where: {
59
- or: [
60
- {
61
- filename: {
62
- equals: filename
63
- }
64
- },
65
- ...imageSizes.map((imageSize)=>({
66
- [`sizes.${imageSize.name}.filename`]: {
67
- equals: filename
68
- }
69
- }))
70
- ]
71
- }
72
- });
73
- const prefix = files?.docs?.[0]?.prefix;
74
- return prefix ? prefix : '';
75
- }
76
50
 
77
51
  //# sourceMappingURL=staticHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapters/vercelBlob/staticHandler.ts"],"sourcesContent":["import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'\nimport type { CollectionConfig, PayloadRequest, UploadConfig } from 'payload/types'\n\nimport { head } from '@vercel/blob'\nimport path from 'path'\n\ntype StaticHandlerArgs = {\n baseUrl: string\n token: string\n}\n\nexport const getStaticHandler = (\n { baseUrl, token }: StaticHandlerArgs,\n collection: CollectionConfig,\n): StaticHandler => {\n return async (req, { params: { filename } }) => {\n try {\n const prefix = await getFilePrefix({ collection, req })\n\n const fileUrl = `${baseUrl}/${path.posix.join(prefix, filename)}`\n\n const blobMetadata = await head(fileUrl, { token })\n if (!blobMetadata) {\n return new Response(null, { status: 404, statusText: 'Not Found' })\n }\n\n const { contentDisposition, contentType, size } = blobMetadata\n const response = await fetch(fileUrl)\n const blob = await response.blob()\n\n if (!blob) {\n return new Response(null, { status: 204, statusText: 'No Content' })\n }\n\n const bodyBuffer = await blob.arrayBuffer()\n\n return new Response(bodyBuffer, {\n headers: new Headers({\n 'Content-Disposition': contentDisposition,\n 'Content-Length': String(size),\n 'Content-Type': contentType,\n }),\n status: 200,\n })\n } catch (err: unknown) {\n req.payload.logger.error({ err, msg: 'Unexpected error in staticHandler' })\n return new Response('Internal Server Error', { status: 500 })\n }\n }\n}\n\nasync function getFilePrefix({\n collection,\n req,\n}: {\n collection: CollectionConfig\n req: PayloadRequest\n}): Promise<string> {\n const imageSizes = (collection?.upload as UploadConfig)?.imageSizes || []\n const { routeParams } = req\n const filename = routeParams?.['filename']\n\n const files = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n or: [\n {\n filename: { equals: filename },\n },\n ...imageSizes.map((imageSize) => ({\n [`sizes.${imageSize.name}.filename`]: { equals: filename },\n })),\n ],\n },\n })\n const prefix = files?.docs?.[0]?.prefix\n return prefix ? (prefix as string) : ''\n}\n"],"names":["head","path","getStaticHandler","baseUrl","token","collection","req","params","filename","prefix","getFilePrefix","fileUrl","posix","join","blobMetadata","Response","status","statusText","contentDisposition","contentType","size","response","fetch","blob","bodyBuffer","arrayBuffer","headers","Headers","String","err","payload","logger","error","msg","imageSizes","upload","routeParams","files","find","slug","depth","limit","pagination","where","or","equals","map","imageSize","name","docs"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,IAAI,QAAQ,eAAc;AACnC,OAAOC,UAAU,OAAM;AAOvB,OAAO,MAAMC,mBAAmB,CAC9B,EAAEC,OAAO,EAAEC,KAAK,EAAqB,EACrCC;IAEA,OAAO,OAAOC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,EAAE;QACzC,IAAI;YACF,MAAMC,SAAS,MAAMC,cAAc;gBAAEL;gBAAYC;YAAI;YAErD,MAAMK,UAAU,CAAC,EAAER,QAAQ,CAAC,EAAEF,KAAKW,KAAK,CAACC,IAAI,CAACJ,QAAQD,UAAU,CAAC;YAEjE,MAAMM,eAAe,MAAMd,KAAKW,SAAS;gBAAEP;YAAM;YACjD,IAAI,CAACU,cAAc;gBACjB,OAAO,IAAIC,SAAS,MAAM;oBAAEC,QAAQ;oBAAKC,YAAY;gBAAY;YACnE;YAEA,MAAM,EAAEC,kBAAkB,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGN;YAClD,MAAMO,WAAW,MAAMC,MAAMX;YAC7B,MAAMY,OAAO,MAAMF,SAASE,IAAI;YAEhC,IAAI,CAACA,MAAM;gBACT,OAAO,IAAIR,SAAS,MAAM;oBAAEC,QAAQ;oBAAKC,YAAY;gBAAa;YACpE;YAEA,MAAMO,aAAa,MAAMD,KAAKE,WAAW;YAEzC,OAAO,IAAIV,SAASS,YAAY;gBAC9BE,SAAS,IAAIC,QAAQ;oBACnB,uBAAuBT;oBACvB,kBAAkBU,OAAOR;oBACzB,gBAAgBD;gBAClB;gBACAH,QAAQ;YACV;QACF,EAAE,OAAOa,KAAc;YACrBvB,IAAIwB,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;gBAAEH;gBAAKI,KAAK;YAAoC;YACzE,OAAO,IAAIlB,SAAS,yBAAyB;gBAAEC,QAAQ;YAAI;QAC7D;IACF;AACF,EAAC;AAED,eAAeN,cAAc,EAC3BL,UAAU,EACVC,GAAG,EAIJ;IACC,MAAM4B,aAAa,AAAC7B,YAAY8B,QAAyBD,cAAc,EAAE;IACzE,MAAM,EAAEE,WAAW,EAAE,GAAG9B;IACxB,MAAME,WAAW4B,aAAa,CAAC,WAAW;IAE1C,MAAMC,QAAQ,MAAM/B,IAAIwB,OAAO,CAACQ,IAAI,CAAC;QACnCjC,YAAYA,WAAWkC,IAAI;QAC3BC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZC,OAAO;YACLC,IAAI;gBACF;oBACEpC,UAAU;wBAAEqC,QAAQrC;oBAAS;gBAC/B;mBACG0B,WAAWY,GAAG,CAAC,CAACC,YAAe,CAAA;wBAChC,CAAC,CAAC,MAAM,EAAEA,UAAUC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;4BAAEH,QAAQrC;wBAAS;oBAC3D,CAAA;aACD;QACH;IACF;IACA,MAAMC,SAAS4B,OAAOY,MAAM,CAAC,EAAE,EAAExC;IACjC,OAAOA,SAAUA,SAAoB;AACvC"}
1
+ {"version":3,"sources":["../../../src/adapters/vercelBlob/staticHandler.ts"],"sourcesContent":["import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'\nimport type { CollectionConfig, PayloadRequest, UploadConfig } from 'payload/types'\n\nimport { head } from '@vercel/blob'\nimport path from 'path'\n\nimport { getFilePrefix } from '../../utilities/getFilePrefix.js'\n\ntype StaticHandlerArgs = {\n baseUrl: string\n token: string\n}\n\nexport const getStaticHandler = (\n { baseUrl, token }: StaticHandlerArgs,\n collection: CollectionConfig,\n): StaticHandler => {\n return async (req, { params: { filename } }) => {\n try {\n const prefix = await getFilePrefix({ collection, req })\n\n const fileUrl = `${baseUrl}/${path.posix.join(prefix, filename)}`\n\n const blobMetadata = await head(fileUrl, { token })\n if (!blobMetadata) {\n return new Response(null, { status: 404, statusText: 'Not Found' })\n }\n\n const { contentDisposition, contentType, size } = blobMetadata\n const response = await fetch(fileUrl)\n const blob = await response.blob()\n\n if (!blob) {\n return new Response(null, { status: 204, statusText: 'No Content' })\n }\n\n const bodyBuffer = await blob.arrayBuffer()\n\n return new Response(bodyBuffer, {\n headers: new Headers({\n 'Content-Disposition': contentDisposition,\n 'Content-Length': String(size),\n 'Content-Type': contentType,\n }),\n status: 200,\n })\n } catch (err: unknown) {\n req.payload.logger.error({ err, msg: 'Unexpected error in staticHandler' })\n return new Response('Internal Server Error', { status: 500 })\n }\n }\n}\n"],"names":["head","path","getFilePrefix","getStaticHandler","baseUrl","token","collection","req","params","filename","prefix","fileUrl","posix","join","blobMetadata","Response","status","statusText","contentDisposition","contentType","size","response","fetch","blob","bodyBuffer","arrayBuffer","headers","Headers","String","err","payload","logger","error","msg"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,IAAI,QAAQ,eAAc;AACnC,OAAOC,UAAU,OAAM;AAEvB,SAASC,aAAa,QAAQ,mCAAkC;AAOhE,OAAO,MAAMC,mBAAmB,CAC9B,EAAEC,OAAO,EAAEC,KAAK,EAAqB,EACrCC;IAEA,OAAO,OAAOC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,EAAE;QACzC,IAAI;YACF,MAAMC,SAAS,MAAMR,cAAc;gBAAEI;gBAAYC;YAAI;YAErD,MAAMI,UAAU,CAAC,EAAEP,QAAQ,CAAC,EAAEH,KAAKW,KAAK,CAACC,IAAI,CAACH,QAAQD,UAAU,CAAC;YAEjE,MAAMK,eAAe,MAAMd,KAAKW,SAAS;gBAAEN;YAAM;YACjD,IAAI,CAACS,cAAc;gBACjB,OAAO,IAAIC,SAAS,MAAM;oBAAEC,QAAQ;oBAAKC,YAAY;gBAAY;YACnE;YAEA,MAAM,EAAEC,kBAAkB,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGN;YAClD,MAAMO,WAAW,MAAMC,MAAMX;YAC7B,MAAMY,OAAO,MAAMF,SAASE,IAAI;YAEhC,IAAI,CAACA,MAAM;gBACT,OAAO,IAAIR,SAAS,MAAM;oBAAEC,QAAQ;oBAAKC,YAAY;gBAAa;YACpE;YAEA,MAAMO,aAAa,MAAMD,KAAKE,WAAW;YAEzC,OAAO,IAAIV,SAASS,YAAY;gBAC9BE,SAAS,IAAIC,QAAQ;oBACnB,uBAAuBT;oBACvB,kBAAkBU,OAAOR;oBACzB,gBAAgBD;gBAClB;gBACAH,QAAQ;YACV;QACF,EAAE,OAAOa,KAAc;YACrBtB,IAAIuB,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;gBAAEH;gBAAKI,KAAK;YAAoC;YACzE,OAAO,IAAIlB,SAAS,yBAAyB;gBAAEC,QAAQ;YAAI;QAC7D;IACF;AACF,EAAC"}
@@ -0,0 +1,2 @@
1
+ export { getFilePrefix } from '../utilities/getFilePrefix.js';
2
+ //# sourceMappingURL=utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/exports/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { getFilePrefix } from '../utilities/getFilePrefix.js';
2
+
3
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/utilities.ts"],"sourcesContent":["export { getFilePrefix } from '../utilities/getFilePrefix.js'\n"],"names":["getFilePrefix"],"rangeMappings":"","mappings":"AAAA,SAASA,aAAa,QAAQ,gCAA+B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-cloud-storage",
3
3
  "description": "The official cloud storage plugin for Payload CMS",
4
- "version": "3.0.0-beta.6-86adc6f",
4
+ "version": "3.0.0-beta.9",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "type": "module",
@@ -18,7 +18,8 @@
18
18
  "@azure/abort-controller": "^1.0.0",
19
19
  "@azure/storage-blob": "^12.11.0",
20
20
  "@google-cloud/storage": "^7.7.0",
21
- "payload": "3.0.0-beta.6"
21
+ "@vercel/blob": "^0.22.3",
22
+ "payload": "3.0.0-beta.9"
22
23
  },
23
24
  "peerDependenciesMeta": {
24
25
  "@aws-sdk/client-s3": {
@@ -52,7 +53,7 @@
52
53
  "@google-cloud/storage": "^7.7.0",
53
54
  "@types/find-node-modules": "^2.1.2",
54
55
  "@vercel/blob": "^0.22.3",
55
- "payload": "3.0.0-beta.6"
56
+ "payload": "3.0.0-beta.9"
56
57
  },
57
58
  "dependencies": {
58
59
  "find-node-modules": "^2.1.3",
@@ -79,7 +80,7 @@
79
80
  "registry": "https://registry.npmjs.org/"
80
81
  },
81
82
  "scripts": {
82
- "build": "pnpm build:swc && pnpm build:types && tsx ../../scripts/exportPointerFiles.ts ../packages/plugin-cloud-storage dist/exports",
83
+ "build": "pnpm build:swc && pnpm build:types",
83
84
  "build:swc": "swc ./src -d ./dist --config-file .swcrc",
84
85
  "build:types": "tsc --emitDeclarationOnly --outDir dist",
85
86
  "clean": "rimraf {dist,*.tsbuildinfo}",
package/azure.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { azureBlobStorageAdapter } from './dist/adapters/azure/index.js';
2
- //# sourceMappingURL=azure.d.ts.map
package/azure.js DELETED
@@ -1,3 +0,0 @@
1
- export { azureBlobStorageAdapter } from './dist/adapters/azure/index.js';
2
-
3
- //# sourceMappingURL=azure.js.map
@@ -1,6 +0,0 @@
1
- import type { CollectionConfig, PayloadRequest } from 'payload/types';
2
- export declare function getFilePrefix({ collection, req, }: {
3
- collection: CollectionConfig;
4
- req: PayloadRequest;
5
- }): Promise<string>;
6
- //# sourceMappingURL=getFilePrefix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFilePrefix.d.ts","sourceRoot":"","sources":["../../../src/adapters/vercelBlob/getFilePrefix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAgB,MAAM,eAAe,CAAA;AAEnF,wBAAsB,aAAa,CAAC,EAClC,UAAU,EACV,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,gBAAgB,CAAA;IAC5B,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBlB"}
@@ -1,29 +0,0 @@
1
- export async function getFilePrefix({ collection, req }) {
2
- const imageSizes = collection?.upload?.imageSizes || [];
3
- const { routeParams } = req;
4
- const filename = routeParams?.['filename'];
5
- const files = await req.payload.find({
6
- collection: collection.slug,
7
- depth: 0,
8
- limit: 1,
9
- pagination: false,
10
- where: {
11
- or: [
12
- {
13
- filename: {
14
- equals: filename
15
- }
16
- },
17
- ...imageSizes.map((imageSize)=>({
18
- [`sizes.${imageSize.name}.filename`]: {
19
- equals: filename
20
- }
21
- }))
22
- ]
23
- }
24
- });
25
- const prefix = files?.docs?.[0]?.prefix;
26
- return prefix ? prefix : '';
27
- }
28
-
29
- //# sourceMappingURL=getFilePrefix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/adapters/vercelBlob/getFilePrefix.ts"],"sourcesContent":["import type { CollectionConfig, PayloadRequest, UploadConfig } from 'payload/types'\n\nexport async function getFilePrefix({\n collection,\n req,\n}: {\n collection: CollectionConfig\n req: PayloadRequest\n}): Promise<string> {\n const imageSizes = (collection?.upload as UploadConfig)?.imageSizes || []\n const { routeParams } = req\n const filename = routeParams?.['filename']\n\n const files = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n or: [\n {\n filename: { equals: filename },\n },\n ...imageSizes.map((imageSize) => ({\n [`sizes.${imageSize.name}.filename`]: { equals: filename },\n })),\n ],\n },\n })\n const prefix = files?.docs?.[0]?.prefix\n return prefix ? (prefix as string) : ''\n}\n"],"names":["getFilePrefix","collection","req","imageSizes","upload","routeParams","filename","files","payload","find","slug","depth","limit","pagination","where","or","equals","map","imageSize","name","prefix","docs"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,eAAeA,cAAc,EAClCC,UAAU,EACVC,GAAG,EAIJ;IACC,MAAMC,aAAa,AAACF,YAAYG,QAAyBD,cAAc,EAAE;IACzE,MAAM,EAAEE,WAAW,EAAE,GAAGH;IACxB,MAAMI,WAAWD,aAAa,CAAC,WAAW;IAE1C,MAAME,QAAQ,MAAML,IAAIM,OAAO,CAACC,IAAI,CAAC;QACnCR,YAAYA,WAAWS,IAAI;QAC3BC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZC,OAAO;YACLC,IAAI;gBACF;oBACET,UAAU;wBAAEU,QAAQV;oBAAS;gBAC/B;mBACGH,WAAWc,GAAG,CAAC,CAACC,YAAe,CAAA;wBAChC,CAAC,CAAC,MAAM,EAAEA,UAAUC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;4BAAEH,QAAQV;wBAAS;oBAC3D,CAAA;aACD;QACH;IACF;IACA,MAAMc,SAASb,OAAOc,MAAM,CAAC,EAAE,EAAED;IACjC,OAAOA,SAAUA,SAAoB;AACvC"}
package/gcs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { gcsAdapter } from './dist/adapters/gcs/index.js';
2
- //# sourceMappingURL=gcs.d.ts.map
package/gcs.js DELETED
@@ -1,3 +0,0 @@
1
- export { gcsAdapter } from './dist/adapters/gcs/index.js';
2
-
3
- //# sourceMappingURL=gcs.js.map
package/s3.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { s3Adapter } from './dist/adapters/s3/index.js';
2
- //# sourceMappingURL=s3.d.ts.map
package/s3.js DELETED
@@ -1,3 +0,0 @@
1
- export { s3Adapter } from './dist/adapters/s3/index.js';
2
-
3
- //# sourceMappingURL=s3.js.map
package/vercelBlob.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { vercelBlobAdapter } from './dist/adapters/vercelBlob/index.js';
2
- //# sourceMappingURL=vercelBlob.d.ts.map
package/vercelBlob.js DELETED
@@ -1,3 +0,0 @@
1
- export { vercelBlobAdapter } from './dist/adapters/vercelBlob/index.js';
2
-
3
- //# sourceMappingURL=vercelBlob.js.map