Turn off debug logging of MaxSizedBox errors by default. (#1228)

This commit is contained in:
Jacob Richman
2025-06-20 05:27:03 +00:00
committed by GitHub
parent b179424161
commit 05b1c8101f
3 changed files with 15 additions and 2 deletions

View File

@@ -5,11 +5,17 @@
*/
import { render } from 'ink-testing-library';
import { MaxSizedBox } from './MaxSizedBox.js';
import { MaxSizedBox, setMaxSizedBoxDebugging } from './MaxSizedBox.js';
import { Box, Text } from 'ink';
import { describe, it, expect } from 'vitest';
describe('<MaxSizedBox />', () => {
// Make sure MaxSizedBox logs errors on invalid configurations.
// This is useful for debugging issues with the component.
// It should be set to false in production for perfornance and to avoid
// cluttering the console if there are ignoreable issues.
setMaxSizedBoxDebugging(true);
it('renders children without truncation when they fit', () => {
const { lastFrame } = render(
<MaxSizedBox maxWidth={80} maxHeight={10}>

View File

@@ -10,7 +10,11 @@ import stringWidth from 'string-width';
import { Colors } from '../../colors.js';
import { toCodePoints } from '../../utils/textUtils.js';
const enableDebugLog = true;
let enableDebugLog = false;
export function setMaxSizedBoxDebugging(value: boolean) {
enableDebugLog = value;
}
function debugReportError(message: string, element: React.ReactNode) {
if (!enableDebugLog) return;