📦 deps(thirdparty): update snapshots
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
// Warn when a rec's claimed rendering mode (static/ISR/SSR) contradicts
|
||||
// the scanner-tagged mode for that route. No-op when the scanner didn't
|
||||
// tag a renderingMode — full AST inference isn't implemented yet.
|
||||
|
||||
import { extractRoute } from '../util.mjs';
|
||||
|
||||
const MODE_PATTERNS = {
|
||||
static: /\bstatic(?:ally rendered)?\b|prerender(?:ed)?\b/i,
|
||||
isr: /\bISR\b|incremental[- ]?static|revalidate\s*:\s*\d/i,
|
||||
ssr: /\bSSR\b|server[- ]?side rendered|dynamic\s*=\s*['"]force-dynamic['"]/i,
|
||||
};
|
||||
|
||||
export const metadata = {
|
||||
id: 'rendering-mode-mislabel',
|
||||
description: 'Catch recs that blame the wrong rendering mode (e.g. "convert from ISR" on a static page).',
|
||||
};
|
||||
|
||||
export function apply(rec, ctx = {}) {
|
||||
const route = extractRoute(rec);
|
||||
if (!route) return {};
|
||||
const routes = ctx?.signals?.codebase?.routes ?? [];
|
||||
const match = routes.find((r) => r.routePath === route);
|
||||
const actualMode = match?.renderingMode;
|
||||
if (!actualMode) return {};
|
||||
|
||||
const text = [rec.what, rec.why, rec.fix, rec.currentBehavior, rec.desiredBehavior]
|
||||
.filter((s) => typeof s === 'string')
|
||||
.join('\n');
|
||||
const claimedModes = Object.entries(MODE_PATTERNS)
|
||||
.filter(([, re]) => re.test(text))
|
||||
.map(([m]) => m);
|
||||
|
||||
if (claimedModes.length === 0 || claimedModes.includes(actualMode)) return {};
|
||||
|
||||
const warning = `\n\n_⚠ Rendering-mode mismatch: this rec describes the route as \`${claimedModes.join(', ')}\` but the scanner classified it as \`${actualMode}\`. Verify the rendering mode before applying._`;
|
||||
if (typeof rec.fix === 'string') rec.fix += warning;
|
||||
return { tag: `rendering-mode-mislabel:${claimedModes.join(',')}!=${actualMode}`, needsReview: true };
|
||||
}
|
||||
Reference in New Issue
Block a user