Addons no longer import from out/ or out-esbuild in source. TypeScript
and editors resolve ../../../src/common|browser directly. Addon unit test
artifacts bundle those dependencies from source (platform node, npm
packages external).
Reverts preserveConstEnums; const enums are handled in bundled output.
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
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>
Replace common/*, browser/*, and headless/* path-mapped imports with
relative paths across src/, addons/, test/, and demo/. Remove paths
from all tsconfig.json files and include addon typings directly.
Addon sources import shared code via out-esbuild/ so unit tests resolve
compiled modules with runtime const enums. Fix benchmark bare imports
and normalize corrupted tsconfig formatting.
Resolves#5896
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
- Fix malformed skipLibCheck and types array closing braces
- Repair broken include arrays and trailing commas
- Add addon typings to addon src includes (paths not restored)
- Normalize formatting to valid JSON with 2-space indent
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
- Remove export from IHighlight and IMultiHighlight interfaces
- Remove export from ISelectedDecoration interface
- Remove export from ISearchPosition interface
- Keep ISearchResult exported as it's used across multiple files
- Make ISelectedDecoration extend IDisposable for consistency
- Remove unnecessary inline comments from unit tests
- Add descriptive assertion messages where appropriate
- Follow coding guidelines for test comment usage
- Extract SearchEngine for core search algorithms
- Extract DecorationManager for visual decorations
- Extract SearchState for state management
- Extract SearchResultTracker for result tracking
- Simplify SearchAddon by delegating to components
- Improve modularity and maintainability
- Move ISearchAddonOptions and ISearchResultChangeEvent to types
- Make noScroll property required in IInternalSearchOptions
- Change exported interfaces to internal scope where appropriate
- Use disposableTimeout instead of manual timeout management
- Replace MutableDisposable pattern for SearchAddon highlight timeout
- Replace SearchLineCache timeout with MutableDisposable approach
- Clean up timeout disposal logic in both classes
- Add SearchLineCache class to cache translated buffer lines
- Integrate caching into SearchAddon for line translation
- Improve search performance by avoiding repeated translation
- Add cache invalidation on terminal resize and writes
- Convert standalone constants to Constants enum with detailed docs
- Fix spacing issue in SearchAddon class declaration
- Update all references to use Constants enum for consistency
- Export ISearchResultChangeEvent interface in addon-search
- Use proper Event<T> typing instead of inline object
- Improve API consistency and type safety for consumers