npm package diff

Package: @forge/tunnel

Versions: 5.10.2-next.2 - 5.10.2-next.3

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
@@ -33,13 +33,14 @@
         if (reqUrl !== '/' && reqUrl !== '/index.html')
             return;
         this.logger.info(cli_shared_1.LogColor.trace(textDecorator('index.html')));
     }
-    getCspHeader = (existingCsp) => new csp_1.CSPInjectionService()
+    getCspHeader = (existingCsp, hostname) => new csp_1.CSPInjectionService()
         .getInjectableCSP({
         existingCSPDetails: existingCsp,
         microsEnv: (0, cli_shared_1.getEnvironmentConfig)(cli_shared_1.CDNEnvironments),
-        tunnelCSPReporterUri: `http://localhost:${this.cspReporterServerPort}`
+        tunnelCSPReporterUri: `http://localhost:${this.cspReporterServerPort}`,
+        hostname
     })
         .join('; ');
     injectGlobalBridgeScript = (htmlContent) => new cli_shared_1.BridgeScriptService().injectBridgeCore(htmlContent, () => {
         throw new Error('Malformed HTML document');
@@ -48,15 +49,16 @@
         throw new Error('Malformed HTML document');
     });
     getCustomUIHtmlTransformMiddleware = (permissions, remotes) => (0, express_intercept_1.responseHandler)()
         .if((res) => /html/i.test(res.get('content-type')))
-        .replaceBuffer((body, _, res) => {
-        if (!res)
+        .replaceBuffer((body, req, res) => {
+        if (!res || !req)
             return body;
         const htmlContentWithIframeResizerScript = this.injectIframeResizerScript(body);
         const htmlContentWithBridgeScript = this.injectGlobalBridgeScript(htmlContentWithIframeResizerScript);
         const cspDetails = new csp_1.CSPProcessingService({ info: () => { } }).getCspDetails(htmlContentWithBridgeScript, ResourceTunnelServer.transformPermissionsWithRemotes(permissions, remotes));
-        res.setHeader('Content-Security-Policy', this.getCspHeader(cspDetails));
+        const hostname = req.query.hostname;
+        res.setHeader('Content-Security-Policy', this.getCspHeader(cspDetails, hostname));
         return htmlContentWithBridgeScript;
     });
     getI18nResourcesMiddleware = (i18nConfig) => {
         const i18nResourcesPathRegex = /^\/__LOCALES__\/(.+)\.json$/i;

Modified: package/package.json

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/tunnel",
-  "version": "5.10.2-next.2",
+  "version": "5.10.2-next.3",
   "description": "Tunnel functionality for Forge CLI",
   "author": "Atlassian",
   "license": "SEE LICENSE IN LICENSE.txt",
   "main": "out/index.js",
@@ -10,10 +10,10 @@
     "clean": "rm -rf ./out && rm -f tsconfig.tsbuildinfo",
     "compile": "tsc -b -v"
   },
   "dependencies": {
-    "@forge/bundler": "4.22.1-next.2",
-    "@forge/cli-shared": "6.8.1-next.1",
+    "@forge/bundler": "4.22.1-next.3",
+    "@forge/cli-shared": "6.9.0-next.2",
     "@forge/csp": "3.7.1-next.0",
     "@forge/runtime": "5.10.7",
     "cloudflared": "^0.7.0",
     "chokidar": "^3.6.0",

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":";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;;;;;;;;;;;;;;;;;IAejF,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
+{"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;;;;;;;;;;;;;;;;;IAejF,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMvF,SAAS,CAAC,YAAY,gBAAiB,UAAU,aAAa,MAAM,KAAG,MAAM,CAQ7D;IAEhB,SAAS,CAAC,wBAAwB,gBAAiB,MAAM,YAGpD;IAEL,SAAS,CAAC,yBAAyB,gBAAiB,MAAM,YAGrD;IAEL,SAAS,CAAC,kCAAkC,gBAAiB,WAAW,uBAAqB,cAAc,CAwBpG;IAEP,SAAS,CAAC,0BAA0B,eAAgB,YAAY,WAI3C,OAAO,QAAQ,QAAQ,QAAQ,YAAY,mBAU9D;CACH"}
\ No newline at end of file

Modified: package/CHANGELOG.md

Large diffs are not rendered by default.

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
@@ -37,9 +37,9 @@
         scopes?: import("@forge/manifest").Scopes | undefined;
         content?: import("@forge/manifest").Content1 | undefined;
     };
     protected logFileServed(reqUrl: string, textDecorator: (input: string) => string): void;
-    protected getCspHeader: (existingCsp: CSPDetails) => string;
+    protected getCspHeader: (existingCsp: CSPDetails, hostname?: string) => 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>;