npm package diff

Package: @forge/tunnel

Versions: 5.4.1-next.8-experimental-c7a7d36 - 5.5.0-next.11

Modified:package/out/servers/custom-ui-tunnel-server.js

Index: package/out/servers/custom-ui-tunnel-server.js
===================================================================
--- package/out/servers/custom-ui-tunnel-server.js
+++ package/out/servers/custom-ui-tunnel-server.js
@@ -21,10 +21,13 @@
     socket;
     constructor(tunnelArgs) {
         super(tunnelArgs);
         this.tunnelArgs = tunnelArgs;
-        const { tunnel, permissions, remotes } = tunnelArgs;
+        const { tunnel, permissions, remotes, i18nConfig } = tunnelArgs;
         this.app = (0, express_1.default)();
+        if (i18nConfig) {
+            this.app.use(this.getI18nResourcesMiddleware(i18nConfig));
+        }
         this.app.use(this.getCustomUIHtmlTransformMiddleware(permissions, remotes));
         if (tunnel) {
             net_1.default.setDefaultAutoSelectFamily?.(true);
             const { port: tunnelPort } = tunnel;

Modified:package/out/servers/native-ui-tunnel-server.js

Index: package/out/servers/native-ui-tunnel-server.js
===================================================================
--- package/out/servers/native-ui-tunnel-server.js
+++ package/out/servers/native-ui-tunnel-server.js
@@ -12,9 +12,9 @@
     server;
     constructor(tunnelArgs) {
         super(tunnelArgs);
         this.tunnelArgs = tunnelArgs;
-        const { key, path, port, permissions, remotes } = tunnelArgs;
+        const { key, path, port, permissions, remotes, i18nConfig } = tunnelArgs;
         const entrypoint = { name: key, path, functions: [] };
         const config = (0, bundler_1.getNativeUiBuildConfig)([entrypoint]);
         const compiler = (0, bundler_1.getCompiler)({
             ...config,
@@ -36,8 +36,14 @@
                 middlewares.splice(index, 0, {
                     name: 'custom-ui-scripts-middleware',
                     middleware: this.getCustomUIHtmlTransformMiddleware(permissions, remotes)
                 });
+                if (i18nConfig) {
+                    middlewares.unshift({
+                        name: 'i18n-resources-middleware',
+                        middleware: this.getI18nResourcesMiddleware(i18nConfig)
+                    });
+                }
                 middlewares.unshift({
                     name: 'logging-middleware',
                     middleware: (req, _, next) => {
                         this.logFileServed(req.url, (input) => cli_shared_1.Text.tunnel.customUI.fileServed(input, this.key));

Modified:package/out/servers/resource-tunnel-server.js

Index: package/out/servers/resource-tunnel-server.js
===================================================================
--- package/out/servers/resource-tunnel-server.js
+++ package/out/servers/resource-tunnel-server.js
@@ -55,6 +55,20 @@
         const cspDetails = new csp_1.CSPProcessingService({ info: () => { } }).getCspDetails(htmlContentWithBridgeScript, ResourceTunnelServer.transformPermissionsWithRemotes(permissions, remotes));
         res.setHeader('Content-Security-Policy', this.getCspHeader(cspDetails));
         return htmlContentWithBridgeScript;
     });
+    getI18nResourcesMiddleware = (i18nConfig) => {
+        const i18nResourcesPathRegex = /^\/__LOCALES__\/(.+)\.json$/i;
+        const i18nResourceFileAccessor = new cli_shared_1.I18nResourceBundlingService().createFileAccessor(i18nConfig);
+        return async (req, resp, next) => {
+            const locale = i18nResourcesPathRegex.exec(req.path)?.[1];
+            if (!locale)
+                return next();
+            const file = await i18nResourceFileAccessor(locale);
+            if (!file)
+                return next();
+            resp.setHeader('Content-Type', 'application/json');
+            resp.status(200).send(file);
+        };
+    };
 }
 exports.ResourceTunnelServer = ResourceTunnelServer;

Modified:package/out/command/start-tunnel-command.js

Index: package/out/command/start-tunnel-command.js
===================================================================
--- package/out/command/start-tunnel-command.js
+++ package/out/command/start-tunnel-command.js
@@ -56,9 +56,9 @@
         };
     };
     startResourceBasedTunnelsServers = async (resourceDetails, options) => {
         const portMap = options.resourcePortMap ?? JSON.parse(process.env.RESOURCE_PORT_MAP ?? '{}');
-        const { permissions = {}, remotes = [] } = await this.configFile.readConfig();
+        const { permissions = {}, remotes = [], translations: i18nConfig } = await this.configFile.readConfig();
         const availablePort = await (0, portfinder_1.getPortPromise)({ port: 4000 });
         const cspReporterPort = process.env.CSP_REPORTER_PORT ? parseInt(process.env.CSP_REPORTER_PORT, 10) : availablePort;
         if (resourceDetails.length === 0)
             return [];
@@ -74,9 +74,10 @@
                 host: options.host,
                 logger: this.logger,
                 cspReporterServerPort: cspReporterPort,
                 permissions,
-                remotes
+                remotes,
+                i18nConfig
             });
             return this.tunnelServers[key].start();
         }));
     };

Modified:package/package.json

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/tunnel",
-  "version": "5.4.1-next.8-experimental-c7a7d36",
+  "version": "5.5.0-next.11",
   "description": "Tunnel functionality for Forge CLI",
   "author": "Atlassian",
   "license": "UNLICENSED",
   "main": "out/index.js",
@@ -10,11 +10,11 @@
     "clean": "rm -rf ./out && rm -f tsconfig.tsbuildinfo",
     "compile": "tsc -b -v"
   },
   "dependencies": {
-    "@forge/bundler": "4.18.1-next.8-experimental-c7a7d36",
-    "@forge/cli-shared": "5.5.0-next.8-experimental-c7a7d36",
-    "@forge/csp": "3.3.0-experimental-c7a7d36",
+    "@forge/bundler": "4.19.0-next.11",
+    "@forge/cli-shared": "5.5.0-next.11",
+    "@forge/csp": "3.3.0",
     "@forge/runtime": "5.10.1",
     "chokidar": "^3.6.0",
     "cloudflared": "^0.5.2",
     "express": "^4.18.3",
@@ -28,9 +28,9 @@
     "webpack-dev-server": "^4.15.1"
   },
   "devDependencies": {
     "@atlassian/xen-test-util": "^4.2.0",
-    "@forge/manifest": "7.7.0-next.8-experimental-c7a7d36",
+    "@forge/manifest": "7.7.0-next.11",
     "@types/express": "^4.17.21",
     "@types/jest": "^29.5.12",
     "@types/node": "14.18.63",
     "@types/supertest": "^2.0.16",

Modified:package/out/servers/custom-ui-tunnel-server.d.ts.map

Index: package/out/servers/custom-ui-tunnel-server.d.ts.map
===================================================================
--- package/out/servers/custom-ui-tunnel-server.d.ts.map
+++ package/out/servers/custom-ui-tunnel-server.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"custom-ui-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/custom-ui-tunnel-server.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAc,MAAM,cAAc,CAAC;AASnF,qBAAa,oBAAqB,SAAQ,oBAAqB,YAAW,iBAAiB;IAM7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,MAAM,CAAqB;gBAEN,UAAU,EAAE,wBAAwB;IAyD3D,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAkBhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASd,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAK5C,MAAM,IAAI,OAAO;IAIjB,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,sBAAsB;CAO/B"}
\ No newline at end of file
+{"version":3,"file":"custom-ui-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/custom-ui-tunnel-server.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAc,MAAM,cAAc,CAAC;AASnF,qBAAa,oBAAqB,SAAQ,oBAAqB,YAAW,iBAAiB;IAM7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,MAAM,CAAqB;gBAEN,UAAU,EAAE,wBAAwB;IA4D3D,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAkBhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASd,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAK5C,MAAM,IAAI,OAAO;IAIjB,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,sBAAsB;CAO/B"}
\ No newline at end of file

Modified:package/out/servers/native-ui-tunnel-server.d.ts.map

Index: package/out/servers/native-ui-tunnel-server.d.ts.map
===================================================================
--- package/out/servers/native-ui-tunnel-server.d.ts.map
+++ package/out/servers/native-ui-tunnel-server.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"native-ui-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/native-ui-tunnel-server.ts"],"names":[],"mappings":"AAAA,OAAO,gBAA+D,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAuE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnF,qBAAa,oBAAqB,SAAQ,oBAAqB,YAAW,iBAAiB;IAG7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,SAAgB,MAAM,EAAE,gBAAgB,CAAC;gBAEZ,UAAU,EAAE,wBAAwB;IAoD3D,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAWzC,eAAe,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAwCjG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
\ No newline at end of file
+{"version":3,"file":"native-ui-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/native-ui-tunnel-server.ts"],"names":[],"mappings":"AAAA,OAAO,gBAA+D,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAuE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnF,qBAAa,oBAAqB,SAAQ,oBAAqB,YAAW,iBAAiB;IAG7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,SAAgB,MAAM,EAAE,gBAAgB,CAAC;gBAEZ,UAAU,EAAE,wBAAwB;IA2D3D,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAWzC,eAAe,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAwCjG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
\ No newline at end of file

Modified:package/out/servers/resource-tunnel-server.d.ts.map

Index: package/out/servers/resource-tunnel-server.d.ts.map
===================================================================
--- package/out/servers/resource-tunnel-server.d.ts.map
+++ package/out/servers/resource-tunnel-server.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"resource-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/resource-tunnel-server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,QAAQ,EAMR,MAAM,EAEP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAA6C,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG5D,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,8BAAsB,oBAAoB;IACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE5B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAQxF,MAAM,CAAC,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;IAajF,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMvF,SAAS,CAAC,YAAY,gBAAiB,UAAU,KAAG,MAAM,CAO1C;IAEhB,SAAS,CAAC,wBAAwB,gBAAiB,MAAM,YAGpD;IAEL,SAAS,CAAC,yBAAyB,gBAAiB,MAAM,YAGrD;IAEL,SAAS,CAAC,kCAAkC,gBAAiB,WAAW,uBAAqB,cAAc,CAqBpG;CACR"}
\ No newline at end of file
+{"version":3,"file":"resource-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/resource-tunnel-server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,QAAQ,EAMR,MAAM,EAGP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAA6C,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1E,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,8BAAsB,oBAAoB;IACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE5B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAQxF,MAAM,CAAC,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;IAajF,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMvF,SAAS,CAAC,YAAY,gBAAiB,UAAU,KAAG,MAAM,CAO1C;IAEhB,SAAS,CAAC,wBAAwB,gBAAiB,MAAM,YAGpD;IAEL,SAAS,CAAC,yBAAyB,gBAAiB,MAAM,YAGrD;IAEL,SAAS,CAAC,kCAAkC,gBAAiB,WAAW,uBAAqB,cAAc,CAqBpG;IAEP,SAAS,CAAC,0BAA0B,eAAgB,YAAY,WAI3C,OAAO,QAAQ,QAAQ,QAAQ,YAAY,mBAU9D;CACH"}
\ No newline at end of file

Modified:package/out/command/start-tunnel-command.d.ts.map

Index: package/out/command/start-tunnel-command.d.ts.map
===================================================================
--- package/out/command/start-tunnel-command.d.ts.map
+++ package/out/command/start-tunnel-command.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"start-tunnel-command.d.ts","sourceRoot":"","sources":["../../src/command/start-tunnel-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAyB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAC;AAI9D,OAAO,EACL,iBAAiB,EAKlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAsC,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACzE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAX7B,OAAO,CAAC,aAAa,CAAmE;IACxF,OAAO,CAAC,iBAAiB,CAAgC;gBAGtC,YAAY,EAAE,iBAAiB,EAC/B,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,mBAAmB,EAClC,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,qBAAqB,EACnC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAGzC,OAAO,CAAC,YAAY,CAUlB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAmCtC;IAEW,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAwD9E"}
\ No newline at end of file
+{"version":3,"file":"start-tunnel-command.d.ts","sourceRoot":"","sources":["../../src/command/start-tunnel-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAyB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAC;AAI9D,OAAO,EACL,iBAAiB,EAKlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAsC,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACzE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAX7B,OAAO,CAAC,aAAa,CAAmE;IACxF,OAAO,CAAC,iBAAiB,CAAgC;gBAGtC,YAAY,EAAE,iBAAiB,EAC/B,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,mBAAmB,EAClC,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,qBAAqB,EACnC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAGzC,OAAO,CAAC,YAAY,CAUlB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAoCtC;IAEW,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAwD9E"}
\ No newline at end of file

Modified:package/CHANGELOG.md

too-big

Modified:package/out/servers/resource-tunnel-server.d.ts

Index: package/out/servers/resource-tunnel-server.d.ts
===================================================================
--- package/out/servers/resource-tunnel-server.d.ts
+++ package/out/servers/resource-tunnel-server.d.ts
@@ -1,16 +1,18 @@
 /// <reference types="node" resolution-mode="require"/>
+import { NextFunction, Request, Response } from 'express';
 import { RequestHandler } from 'http-proxy-middleware';
 import { Resource, Logger } from '@forge/cli-shared';
 import { CSPDetails } from '@forge/csp';
-import type { Permissions, Remotes } from '@forge/manifest';
+import type { Permissions, Remotes, Translations } from '@forge/manifest';
 export interface ResourceTunnelServerArgs extends Resource {
     port: number;
     host: string;
     logger: Logger;
     permissions: Permissions;
     cspReporterServerPort: number;
     remotes: Remotes;
+    i18nConfig?: Translations;
 }
 export declare abstract class ResourceTunnelServer {
     protected readonly port: number;
     protected readonly key: string;
@@ -39,6 +41,7 @@
     protected getCspHeader: (existingCsp: CSPDetails) => string;
     protected injectGlobalBridgeScript: (htmlContent: Buffer) => Buffer;
     protected injectIframeResizerScript: (htmlContent: Buffer) => Buffer;
     protected getCustomUIHtmlTransformMiddleware: (permissions: Permissions, remotes: Remotes) => RequestHandler;
+    protected getI18nResourcesMiddleware: (i18nConfig: Translations) => (req: Request, resp: Response, next: NextFunction) => Promise<void>;
 }
 //# sourceMappingURL=resource-tunnel-server.d.ts.map
\ No newline at end of file