Fix addon and dist builds after path mapping removal

Import shared core from ../../../out/common|browser in addons so tsc
and runtime agree. Enable preserveConstEnums so const enums remain in
compiled out/ for addon consumers.

Build xterm esbuild before addons so out-esbuild exists for parallel
addon jobs. Verified: npm run setup, esbuild-demo-client, package.

Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
This commit is contained in:
Cursor Agent
2026-05-28 01:08:32 +00:00
co-authored by Daniel Imms
parent 9a96b27566
commit 584954b4fb
38 changed files with 139 additions and 127 deletions
@@ -6,8 +6,8 @@
import { perfContext, before, ThroughputRuntimeCase } from 'xterm-benchmark';
import { spawn } from 'node-pty';
import { Utf8ToUtf32, stringFromCodePoint } from '../../../out-esbuild/common/input/TextDecoder';
import { Terminal } from '../../../out-esbuild/browser/public/Terminal';
import { Utf8ToUtf32, stringFromCodePoint } from '../../../out/common/input/TextDecoder';
import { Terminal } from '../../../out/browser/public/Terminal';
import { SerializeAddon } from '../src/SerializeAddon';
class TestTerminal extends Terminal {
@@ -6,10 +6,10 @@
import jsdom = require('jsdom');
import { assert } from 'chai';
import { SerializeAddon } from './SerializeAddon';
import { Terminal } from '../../../out-esbuild/browser/public/Terminal';
import { SelectionModel } from '../../../out-esbuild/browser/selection/SelectionModel';
import { IBufferService } from '../../../out-esbuild/common/services/Services';
import { ThemeService } from '../../../out-esbuild/browser/services/ThemeService';
import { Terminal } from '../../../out/browser/public/Terminal';
import { SelectionModel } from '../../../out/browser/selection/SelectionModel';
import { IBufferService } from '../../../out/common/services/Services';
import { ThemeService } from '../../../out/browser/services/ThemeService';
function sgr(...seq: string[]): string {
return `\x1b[${seq.join(';')}m`;
+3 -3
View File
@@ -7,9 +7,9 @@
import type { IBuffer, IBufferCell, IBufferRange, ITerminalAddon, Terminal } from '@xterm/xterm';
import type { IHTMLSerializeOptions, SerializeAddon as ISerializeApi, ISerializeOptions, ISerializeRange } from '@xterm/addon-serialize';
import { IAttributeData, IColor } from '../../../out-esbuild/common/Types';
import { DEFAULT_ANSI_COLORS } from '../../../out-esbuild/browser/Types';
import { UnderlineStyle } from '../../../out-esbuild/common/buffer/Constants';
import { IAttributeData, IColor } from '../../../out/common/Types';
import { DEFAULT_ANSI_COLORS } from '../../../out/browser/Types';
import { UnderlineStyle } from '../../../out/common/buffer/Constants';
function constrain(value: number, low: number, high: number): number {
return Math.max(low, Math.min(value, high));