📦 deps(thirdparty): update snapshots
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
// Append a caveat when a rec targets a route covered by middleware: e.g.
|
||||
// middleware setting Set-Cookie downstream poisons cache headers the rec
|
||||
// adds. Trusts finding.routesCovered rather than re-implementing Next's
|
||||
// matcher algorithm.
|
||||
|
||||
import { extractRoute } from '../util.mjs';
|
||||
|
||||
export const metadata = {
|
||||
id: 'middleware-conflict',
|
||||
description: 'Append caveat when rec targets a route covered by middleware.',
|
||||
};
|
||||
|
||||
export function apply(rec, ctx = {}) {
|
||||
const findings = ctx?.signals?.codebase?.findings ?? [];
|
||||
const middlewareFinding = findings.find((f) => f?.scannerId === 'middleware-broad-matcher' || f?.id === 'middleware-broad-matcher');
|
||||
if (!middlewareFinding) return {};
|
||||
|
||||
const route = extractRoute(rec);
|
||||
if (!route) return {};
|
||||
|
||||
const matcher = middlewareFinding.detail?.matcher
|
||||
?? middlewareFinding.matcher
|
||||
?? '(unspecified matcher)';
|
||||
const middlewareFile = middlewareFinding.file ?? middlewareFinding.path ?? 'middleware.ts';
|
||||
|
||||
const covered = middlewareFinding.detail?.routesCovered ?? middlewareFinding.routesCovered;
|
||||
if (Array.isArray(covered) && covered.length > 0 && !covered.includes(route)) {
|
||||
return {};
|
||||
}
|
||||
|
||||
const tag = `middleware-conflict:${matcher}`;
|
||||
const caveat = `\n\n_Caveat: Middleware at \`${middlewareFile}\` (matcher: \`${matcher}\`) may intercept \`${route}\` and alter request/response before this fix takes effect. Verify the middleware does not set headers (e.g. \`Set-Cookie\`) that would invalidate caching._`;
|
||||
|
||||
if (typeof rec.fix === 'string') rec.fix += caveat;
|
||||
return { tag, needsReview: true };
|
||||
}
|
||||
Reference in New Issue
Block a user