@forge/bridge

5.12.1-next.0-experimental-1dcd5935.13.0-next.1
~

Modified (6 files)

Index: package/out/fetch/fetch.js
===================================================================
--- package/out/fetch/fetch.js
+++ package/out/fetch/fetch.js
@@ -1,17 +1,18 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.productFetchApi = exports.remoteFetchApi = void 0;
 const blobParser_1 = require("../utils/blobParser");
-const parseFormData = async (form) => {
+const parseFormData = async (form, matchFilePrefix = false) => {
     const parsed = {};
     for (const [key, value] of form.entries()) {
-        if (key === 'file') {
+        const isFileKey = matchFilePrefix ? key.startsWith('file') : key === 'file';
+        if (isFileKey) {
             const fileName = value.name;
             const fileType = value.type;
-            parsed['file'] = await (0, blobParser_1.blobToBase64)(value);
-            parsed['__fileName'] = fileName;
-            parsed['__fileType'] = fileType;
+            parsed[key] = await (0, blobParser_1.blobToBase64)(value);
+            parsed[`__${key}Name`] = fileName;
+            parsed[`__${key}Type`] = fileType;
         }
         else {
             parsed[key] = value;
         }
@@ -28,11 +29,11 @@
         return rest;
     }
     return init;
 };
-const parseRequest = async (init) => {
+const parseRequest = async (fetchType, init) => {
     const isFormData = (init === null || init === void 0 ? void 0 : init.body) instanceof FormData ? true : false;
-    const requestBody = isFormData ? await parseFormData(init === null || init === void 0 ? void 0 : init.body) : init === null || init === void 0 ? void 0 : init.body;
+    const requestBody = isFormData ? await parseFormData(init === null || init === void 0 ? void 0 : init.body, fetchType === 'remote') : init === null || init === void 0 ? void 0 : init.body;
     const req = new Request('', { body: requestBody, method: init === null || init === void 0 ? void 0 : init.method, headers: init === null || init === void 0 ? void 0 : init.headers });
     const headers = Object.fromEntries(req.headers.entries());
     const body = req.method !== 'GET' ? await req.text() : null;
     return {
@@ -43,9 +44,9 @@
 };
 const remoteFetchApi = (callBridge) => {
     const fetch = async (remoteKey, init) => {
         const validatedInit = validateFetchOptions(init);
-        const { body: requestBody, headers: requestHeaders, isMultipartFormData } = await parseRequest(validatedInit);
+        const { body: requestBody, headers: requestHeaders, isMultipartFormData } = await parseRequest('remote', validatedInit);
         const fetchPayload = {
             remoteKey,
             fetchRequestInit: { ...validatedInit, body: requestBody, headers: [...requestHeaders.entries()] },
             isMultipartFormData
@@ -61,9 +62,9 @@
 exports.remoteFetchApi = remoteFetchApi;
 const productFetchApi = (callBridge) => {
     const fetch = async (product, restPath, init) => {
         const validatedInit = validateFetchOptions(init);
-        const { body: requestBody, headers: requestHeaders, isMultipartFormData } = await parseRequest(validatedInit);
+        const { body: requestBody, headers: requestHeaders, isMultipartFormData } = await parseRequest('product', validatedInit);
         if (!requestHeaders.has('X-Atlassian-Token')) {
             requestHeaders.set('X-Atlassian-Token', 'no-check');
         }
         const fetchPayload = {
Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/bridge",
-  "version": "5.12.1-next.0-experimental-1dcd593",
+  "version": "5.13.0-next.1",
   "description": "Forge bridge API for custom UI apps",
   "author": "Atlassian",
   "license": "SEE LICENSE IN LICENSE.txt",
   "main": "out/index.js",
@@ -19,9 +19,9 @@
     "@forge/i18n": "0.0.7",
     "@forge/resolver": "1.7.1",
     "@statsig/js-client": "3.18.2",
     "@types/history": "^4.7.11",
-    "@forge/manifest": "12.1.1-next.0-experimental-1dcd593",
+    "@forge/manifest": "12.1.1-next.1",
     "@types/iframe-resizer": "^3.5.8",
     "iframe-resizer": "^4.4.5",
     "uuid": "^9.0.1"
   },
Index: package/out/fetch/fetch.d.ts.map
===================================================================
--- package/out/fetch/fetch.d.ts.map
+++ package/out/fetch/fetch.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/fetch/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAoE5C,eAAO,MAAM,cAAc,eAAgB,WAAW,oBAAoB,CAAC;+BAc5C,MAAM,iBAAiB,gBAAgB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,QAAQ,QAAQ,CAAC;CAG7G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,WAAW,oBAAoB,CAAC;kCA8B1C,MAAM,iBAAiB,gBAAgB,KAAG,QAAQ,QAAQ,CAAC;4BAGjE,MAAM,iBAAiB,gBAAgB,KAAG,QAAQ,QAAQ,CAAC;iCAGtD,MAAM,iBAAiB,gBAAgB,KAAG,QAAQ,QAAQ,CAAC;CAG3F,CAAC"}
\ No newline at end of file
+{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/fetch/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAuEvD,eAAO,MAAM,cAAc,eAAgB,WAAW,oBAAoB,CAAC;+BAkB5C,MAAM,iBAAiB,gBAAgB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,QAAQ,QAAQ,CAAC;CAG7G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,WAAW,oBAAoB,CAAC;kCAkC1C,MAAM,iBAAiB,gBAAgB,KAAG,QAAQ,QAAQ,CAAC;4BAGjE,MAAM,iBAAiB,gBAAgB,KAAG,QAAQ,QAAQ,CAAC;iCAGtD,MAAM,iBAAiB,gBAAgB,KAAG,QAAQ,QAAQ,CAAC;CAG3F,CAAC"}
\ No newline at end of file
Index: package/out/types.d.ts.map
===================================================================
--- package/out/types.d.ts.map
+++ package/out/types.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE7D,oBAAY,aAAa,GAAG;KACzB,GAAG,IAAI,MAAM,GAAG,MAAM,GAAG,GAAG;CAC9B,CAAC;AAEF,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AAExD,aAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;AAEhD,oBAAY,oBAAoB,GAAG,aAAa,CAAC;AACjD,oBAAY,mBAAmB,GAAG,aAAa,CAAC;AAEhD,oBAAY,oBAAoB;IAC9B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAED,aAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AACD,UAAU,aAAa;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,aAAK,oBAAoB;IACvB,WAAW,gBAAgB;CAC5B;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;CACtC;AAED,oBAAY,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,oBAAY,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AAElE,oBAAY,oBAAoB;IAC9B,SAAS,cAAc;CACxB;AAED,oBAAY,sBAAsB,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAE9E,oBAAY,0BAA0B,GAAG;IACvC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,0BAA0B,CAAC;CACxC,CAAC;AAQF,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAGD,oBAAY,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAE3D,oBAAY,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC"}
\ No newline at end of file
Index: package/CHANGELOG.md
===================================================================
--- package/CHANGELOG.md
+++ package/CHANGELOG.md
@@ -1,15 +1,16 @@
 # @forge/bridge
 
-## 5.12.1-next.0-experimental-1dcd593
+## 5.13.0-next.1
 
+### Minor Changes
+
+- 03b471a: added support for multiple file upload for requestRemote()
+
 ### Patch Changes
 
-- Updated dependencies [b59aee1]
 - Updated dependencies [beddb18]
-- Updated dependencies [561036a]
-- Updated dependencies [b248c8f]
-  - @forge/[email protected]
+  - @forge/[email protected]
 
 ## 5.12.1-next.0
 
 ### Patch Changes
Index: package/out/types.d.ts
===================================================================
--- package/out/types.d.ts
+++ package/out/types.d.ts
@@ -85,6 +85,7 @@
     scopes?: Scopes;
     external?: External;
 }
 export declare type ForgeRequestInit = Omit<RequestInit, 'signal'>;
+export declare type FetchType = 'remote' | 'product';
 export {};
 //# sourceMappingURL=types.d.ts.map
\ No newline at end of file