Inline base64 source maps had been checked into tracked src files. This strips those comments from the repository without changing runtime behavior or adding ongoing guardrails, per the requested one-time cleanup scope. Constraint: Keep this change limited to tracked source cleanup only Rejected: Add CI/source verification guard | user requested one-time cleanup only Confidence: high Scope-risk: narrow Reversibility: clean Directive: If these directives reappear, fix the producing transform instead of reintroducing repo-side cleanup code Tested: rg -n "sourceMappingURL" ., bun run smoke, bun run verify:privacy, bun run test:provider, npm run test:provider-recommendation Not-tested: bun run typecheck (repository has many pre-existing unrelated failures) Co-authored-by: anandh8x <test@example.com>
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import { c as _c } from "react-compiler-runtime";
|
||
import React from 'react';
|
||
type Props = {
|
||
/**
|
||
* Pre-rendered ANSI lines. Each element must be exactly one terminal row
|
||
* (already wrapped to `width` by the producer) with ANSI escape codes inline.
|
||
*/
|
||
lines: string[];
|
||
/** Column width the producer wrapped to. Sent to Yoga as the fixed leaf width. */
|
||
width: number;
|
||
};
|
||
|
||
/**
|
||
* Bypass the <Ansi> → React tree → Yoga → squash → re-serialize roundtrip for
|
||
* content that is already terminal-ready.
|
||
*
|
||
* Use this when an external renderer (e.g. the ColorDiff NAPI module) has
|
||
* already produced ANSI-escaped, width-wrapped output. A normal <Ansi> mount
|
||
* reparses that output into one React <Text> per style span, lays out each
|
||
* span as a Yoga flex child, then walks the tree to re-emit the same escape
|
||
* codes it was given. For a long transcript full of syntax-highlighted diffs
|
||
* that roundtrip is the dominant cost of the render.
|
||
*
|
||
* This component emits a single Yoga leaf with a constant-time measure func
|
||
* (width × lines.length) and hands the joined string straight to output.write(),
|
||
* which already splits on '\n' and parses ANSI into the screen buffer.
|
||
*/
|
||
export function RawAnsi(t0) {
|
||
const $ = _c(6);
|
||
const {
|
||
lines,
|
||
width
|
||
} = t0;
|
||
if (lines.length === 0) {
|
||
return null;
|
||
}
|
||
let t1;
|
||
if ($[0] !== lines) {
|
||
t1 = lines.join("\n");
|
||
$[0] = lines;
|
||
$[1] = t1;
|
||
} else {
|
||
t1 = $[1];
|
||
}
|
||
let t2;
|
||
if ($[2] !== lines.length || $[3] !== t1 || $[4] !== width) {
|
||
t2 = <ink-raw-ansi rawText={t1} rawWidth={width} rawHeight={lines.length} />;
|
||
$[2] = lines.length;
|
||
$[3] = t1;
|
||
$[4] = width;
|
||
$[5] = t2;
|
||
} else {
|
||
t2 = $[5];
|
||
}
|
||
return t2;
|
||
}
|