Commit Graph
25 Commits
Author SHA1 Message Date
Daniel ImmsandCursor 17ad33dc3d Remove TypeScript path mappings in favor of relative imports
Fixes https://github.com/xtermjs/xterm.js/issues/5896

TypeScript path mappings for common/*, browser/*, and headless/*
were not rewritten in emitted JavaScript, which forced webpack resolve
aliases and NODE_PATH workarounds so runtime could resolve modules.
That added build complexity and broke tooling such as ESLint import/no-cycle.

Changes:
- Convert ~750 imports across src/, addons/, and test/ to relative paths
- Remove common/browser/headless paths and src catch-all mappings from tsconfigs
  (keep @xterm/addon-* demo and addon typings paths)
- Remove webpack resolve.alias for common, browser, headless, and vs
- Drop NODE_PATH from unit tests, benchmarks, and VS Code launch config
- Fix addon-image IIPImageStorage to import ./Types after removing catch-all *

Verified: npm run build, esbuild, package, package-headless
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 09:16:10 -07:00
Daniel Imms c727240f16 Fix cyclic dependency
Linkifier -> MouseService -> SelectionService -> Linkifier
2026-03-11 10:23:38 +09:00
Daniel Imms eea03cf0a9 Use lightweight versions of most vs/ imports 2026-01-31 22:52:19 -08:00
Daniel Imms e8d99d50a6 Remove vs dependency in common
Fixes #5631
2026-01-30 06:03:16 -08:00
Daniel Imms f764c0ac91 Fix links sometimes not activating
This was a very long standing bug that was hard to nail down a repro case. Turns
out this was because at some point the current link can get cleared and re-evaluated,
I think because of a different fix we made. That caused the object check to fail.
So the fix there is to check link equality, not js object equality.

Additionally I found we don't dispose of old linkifiers when open is called
multiple times.

See microsoft/vscode#230010
2024-09-27 12:58:34 -07:00
Daniel Imms 144bdb5dd0 Move over to vs disposables 2024-07-14 16:19:20 -07:00
Daniel Imms 866bc9eb90 Move to dom.ts addDisposableListener 2024-07-14 16:07:39 -07:00
Daniel Imms 90ff6f3d06 Migrate most EventEmitter to base/ Emitter 2024-07-14 07:41:56 -07:00
Daniel Imms dbcb43f1d3 Rename Linkifier2 -> Linkifier 2023-12-23 08:32:39 -08:00
Daniel Imms 7a17a26e18 Remove link matchers
Fixes #2703
2022-07-27 06:49:35 -07:00
Daniel Imms f593d14823 Fix tests, add explanatory comment 2021-06-04 12:21:15 -07:00
Daniel Imms f52d631fa4 Add eslint type assertions rule
Fixes #3359
2021-06-04 06:23:12 -07:00
Daniel Imms a5d50960a7 Support DI in UnicodeService 2020-04-25 07:27:09 -07:00
Daniel Imms f2ed01993d Track changes to hideUnderline 2020-04-18 06:18:01 -07:00
Daniel Imms a980b3d132 Handle links safely by removing opener from window
Fixes #2608
2020-02-04 06:43:17 -08:00
Jörg Breitbart 794573969c remove CharWidth.ts 2019-12-06 16:44:20 +01:00
Jörg Breitbart 3395ccb943 UnicodeService & provider 2019-12-05 15:42:55 +01:00
Jörg Breitbart aca6d24e96 change to v11, expose unicodeVersion, fix linkifier 2019-11-15 18:08:17 +01:00
Jörg Breitbart c7ad4aa460 terminal option unicodeVersion 2019-11-15 13:33:28 +01:00
Daniel 851fb7ae38 Refine IViewportRange API to use 'cursor positions' for x value
Fixes #2484
2019-10-25 04:43:34 -07:00
Daniel 8350804858 Adjust to use 1-based, note in API 2019-10-17 12:36:03 -07:00
Jon Bockhorst 08475eb495 Update API to use IViewportRange and IViewportCellPosition 2019-10-17 12:25:42 -05:00
Jon Bockhorst 040f9f49d9 Support link position in hover tooltip callback 2019-10-14 14:25:02 -05:00
Daniel Imms 7f9f757042 Fix web links addon support in Edge
regex.flags isn't supported on Edge

Fixes #2417
2019-09-11 14:39:11 -07:00
Daniel Imms 0cd4093e53 Move Linkifier to browser 2019-07-13 14:15:28 -07:00