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>
This commit is contained in:
Cursor Agent
2026-05-30 17:32:03 +00:00
co-authored by Daniel Imms
parent 6ff26d2c7e
commit eacf90b2b7
76 changed files with 1192 additions and 355 deletions
+11 -38
View File
@@ -1,42 +1,15 @@
{
"extends": "../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"outDir": "../../out/common",
"rootDir": ".",
"types": [
"../../node_modules/@types/mocha"
],
"paths": {
"common/base/*": ["./base/*"],
"common/encoding/*": ["./encoding/*"],
"common/data/*": ["./data/*"],
"common/buffer/*": ["./buffer/*"],
"common/parser/*": ["./parser/*"],
"common/input/*": ["./input/*"],
"common/services/*": ["./services/*"],
"common/terminal/*": ["./terminal/*"],
"common/public/*": ["./public/*"],
"common/*": ["./*"],
"*": ["../*"]
}
},
"include": [
"./base/**/*",
"./encoding/**/*",
"./data/**/*",
"./buffer/**/*",
"./parser/**/*",
"./input/**/*",
"./services/**/*",
"./terminal/**/*",
"./public/**/*",
"../../typings/xterm.d.ts"
"files": [],
"references": [
{ "path": "./base" },
{ "path": "./encoding" },
{ "path": "./data" },
{ "path": "./buffer" },
{ "path": "./parser" },
{ "path": "./input" },
{ "path": "./services" },
{ "path": "./terminal" },
{ "path": "./public" }
]
}