fix(javascript): retain uncertainty for missing source map mappings

Share the required mappings field contract and retain readable declarations across malformed indexed leaves while marking graph coverage partial.

Refs #5469.
This commit is contained in:
morluto
2026-10-20 19:54:33 +08:00
parent 0e83d92c58
commit a4dbb36d8e
6 changed files with 312 additions and 4 deletions
+5 -2
View File
@@ -1,6 +1,9 @@
import { z } from "zod";
import { WEB_SOURCE_MAP_LIMITS } from "../../domain/webSourceLocation.js";
import { sourceMapJsonText } from "../../domain/sourceMapEnvelope.js";
import {
sourceMapJsonText,
sourceMapMappingsSchema,
} from "../../domain/sourceMapEnvelope.js";
import type { EncodedSourceMapXInput } from "@jridgewell/trace-mapping";
const leafSchema = z.object({
@@ -10,7 +13,7 @@ const leafSchema = z.object({
sources: z.array(z.string().nullable()),
sourcesContent: z.array(z.string().nullable()).nullable().optional(),
names: z.array(z.string()).default([]),
mappings: z.string().regex(/^[A-Za-z0-9+/,;]*$/u),
mappings: sourceMapMappingsSchema.regex(/^[A-Za-z0-9+/,;]*$/u),
ignoreList: z.array(z.number().int().min(0)).optional(),
x_google_ignoreList: z.array(z.number().int().min(0)).optional(),
});