- Restore Color.ts under common/base/ (not services) - Add base/ColorTypes (IColor, IColorRGB) - Add terminal/CoreTerminalTypes (ICoreTerminal, IScrollEvent, XtermListener) - Add terminal/InputHandlerTypes and input/WindowOptions for handler types - services/Types.ts: service-only (modes, mouse, osc link, cursor styles) - Update imports across src, addons, browser; re-export KeyboardResultType removed - browser tsconfig: exclude unit tests from composite build Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
@xterm/addon-serialize
An addon for xterm.js that enables xterm.js to serialize a terminal framebuffer into string or html. This addon requires xterm.js v4+.
⚠️ This is an experimental addon that is still under construction ⚠️
Install
npm install --save @xterm/addon-serialize
Usage
import { Terminal } from "@xterm/xterm";
import { SerializeAddon } from "@xterm/addon-serialize";
const terminal = new Terminal();
const serializeAddon = new SerializeAddon();
terminal.loadAddon(serializeAddon);
terminal.write("something...", () => {
console.log(serializeAddon.serialize());
});
See the full API for more advanced usage.
Benchmark
⚠️ Ensure you have lolcat, hexdump programs installed in your computer
$ git clone https://github.com/xtermjs/xterm.js.git
$ cd xterm.js
$ npm ci
$ cd addons/addon-serialize
$ npm run benchmark && npm run benchmark-baseline
$ # change some code in `@xterm/addon-serialize`
$ npm run benchmark-eval