Commit Graph
19 Commits
Author SHA1 Message Date
Cursor AgentandDaniel Imms eacf90b2b7 Split common into composite subprojects with project references
- common/tsconfig.json is a solution root referencing layer tsconfigs
- Each layer has composite tsconfig with correct references and outDir
- Break buffer/services cycle via buffer-local service interfaces
- Move cell types, keyboard/unicode types, TaskQueue, and TerminalOptions
- Exclude *.test.ts from composite builds; fix parser IDisposable imports

Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
2026-05-30 17:32:03 +00:00
Cursor AgentandDaniel Imms 1d125ac715 Restructure common into layered folders (issue #5963)
Reorganize src/common into platform (base, encoding, data, buffer,
parser, input), integration (services, terminal), and public API layers.

- Move core utilities to common/base/
- Move TextDecoder to common/encoding/
- Move Types, CircularList, Color, TaskQueue, SortedList to common/services/
- Move CoreTerminal, InputHandler, WindowsMode to common/terminal/
- Define ICharset in common/data/Charsets.ts (re-exported from Types)
- Update imports across src/, addons/, and test/
- Add per-layer tsconfig.json files and REARCHITECTURE.md
- Root common/tsconfig.json remains the composite build entry

Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
2026-05-30 16:12:18 +00:00
Daniel Imms 52d4b2719c Move cache into Buffer owned object, use WeakRefs
This allows O(1) clearing of the cache, a single TTL timer and we
can avoid making BufferLine's Disposable
2026-05-02 05:32:43 -07:00
Daniel Imms 4d4b994c35 Support caching of trimRight 2026-05-02 04:35:18 -07:00
Daniel Imms eccbc60aa0 Migrate to tsgo
Fixes #5689
2026-02-13 06:59:24 -08:00
Daniel Imms e8d99d50a6 Remove vs dependency in common
Fixes #5631
2026-01-30 06:03:16 -08:00
Daniel Imms 90ff6f3d06 Migrate most EventEmitter to base/ Emitter 2024-07-14 07:41:56 -07:00
coderaiser c6f1b456f5 feature: tsconfig: es2017 -> es2016.Array.Include 2020-11-01 09:46:31 +02:00
coderaiser 246d137c2c src: lint using putout 2020-10-25 10:05:41 +02:00
Daniel Imms 353a8c5388 Create CoreTerminal, fix createInstance in strict mode 2020-04-25 10:21:56 -07:00
Daniel Imms 21fbe25858 Dependency Injection prototype 2019-07-13 19:50:16 -07:00
Daniel Imms 9068107f5a Remove path mapping to self modules
This would cause imports in the common module to reference out/ instead
of src/, this leads to weird behavior when errors are introduced.
2019-06-01 08:37:37 -07:00
Daniel Imms 873f0de0ec Get webpack build working 2019-05-26 11:19:42 -07:00
Daniel Imms 38afe991b2 Kind of working setup 2019-05-26 11:05:23 -07:00
Daniel Imms 2e10c8c25e Clean up 2019-04-02 08:04:39 -07:00
Daniel Imms 4a3609f805 Move platform to common and remove dom dependence in common
Because common/ imports 'xterm', it also imported dom accidentally.

Fixes #1990
2019-03-31 23:24:29 -07:00
Daniel Imms 0b78011fa3 Adopt project references
Recent versions of TypeScript has improved the performance of project
references so they are now viable to switch over to.
2019-03-30 14:05:24 -07:00
Daniel Imms fb0b73ab83 Enforce core layering and enable strict
Part of #1507
Part of #1319
2018-09-18 10:21:59 -07:00
Daniel Imms a7a58aa055 Enable strict null checks and restrict DOM access in common
Part of #1507
Part of #1319
2018-09-17 13:44:31 -07:00