Inline compiler options in common layer tsconfigs; remove tsconfig.compiler.json

Each subfolder tsconfig.json now explicitly lists lib, types, paths, and
project references instead of extending a shared tsconfig.compiler.json.

Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
This commit is contained in:
Cursor Agent
2026-05-30 17:54:54 +00:00
co-authored by Daniel Imms
parent 6d826ac022
commit ba582efbfa
11 changed files with 277 additions and 169 deletions
+1 -2
View File
@@ -55,7 +55,6 @@ flowchart BT
## TypeScript projects
- **`common/tsconfig.json`** — solution root; references each layer project (no sources).
- **`common/tsconfig.compiler.json`** — shared `lib`, `paths`, and `types` for layer projects.
- **`common/<layer>/tsconfig.json`** — composite project with `references` matching the dependency graph above. Test files (`**/*.test.ts`) are excluded from composite builds; unit tests compile via esbuild.
- **`common/<layer>/tsconfig.json`** — self-contained composite project (`lib`, `paths`, `types`, `references`, `outDir`). Test files (`**/*.test.ts`) are excluded from composite builds; unit tests compile via esbuild.
Buffer-layer code depends on `buffer/BufferService`, `buffer/BufferOptions`, and `buffer/BufferLog` instead of `services` so the `buffer` project does not reference `services`.
+25 -4
View File
@@ -1,9 +1,30 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/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/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/base",
"rootDir": "."
},
+30 -15
View File
@@ -1,9 +1,30 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["../encoding/*"],
"common/data/*": ["../data/*"],
"common/buffer/*": ["./*"],
"common/parser/*": ["../parser/*"],
"common/input/*": ["../input/*"],
"common/services/*": ["../services/*"],
"common/terminal/*": ["../terminal/*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/buffer",
"rootDir": "."
},
@@ -11,18 +32,12 @@
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../base"
},
{
"path": "../encoding"
},
{
"path": "../data"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" },
{ "path": "../encoding" },
{ "path": "../data" }
]
}
+28 -9
View File
@@ -1,21 +1,40 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["../encoding/*"],
"common/data/*": ["./*"],
"common/buffer/*": ["../buffer/*"],
"common/parser/*": ["../parser/*"],
"common/input/*": ["../input/*"],
"common/services/*": ["../services/*"],
"common/terminal/*": ["../terminal/*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/data",
"rootDir": "."
},
"include": [
"./**/*"
],
"references": [
{
"path": "../base"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" }
]
}
+28 -9
View File
@@ -1,21 +1,40 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["./*"],
"common/data/*": ["../data/*"],
"common/buffer/*": ["../buffer/*"],
"common/parser/*": ["../parser/*"],
"common/input/*": ["../input/*"],
"common/services/*": ["../services/*"],
"common/terminal/*": ["../terminal/*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/encoding",
"rootDir": "."
},
"include": [
"./**/*"
],
"references": [
{
"path": "../base"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" }
]
}
+32 -18
View File
@@ -1,30 +1,44 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["../encoding/*"],
"common/data/*": ["../data/*"],
"common/buffer/*": ["../buffer/*"],
"common/parser/*": ["../parser/*"],
"common/input/*": ["./*"],
"common/services/*": ["../services/*"],
"common/terminal/*": ["../terminal/*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/input",
"rootDir": "."
},
"include": [
"./**/*"
],
"references": [
{
"path": "../base"
},
{
"path": "../data"
},
{
"path": "../encoding"
},
{
"path": "../parser"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" },
{ "path": "../encoding" },
{ "path": "../data" },
{ "path": "../buffer" },
{ "path": "../parser" }
]
}
+31 -12
View File
@@ -1,24 +1,43 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["../encoding/*"],
"common/data/*": ["../data/*"],
"common/buffer/*": ["../buffer/*"],
"common/parser/*": ["./*"],
"common/input/*": ["../input/*"],
"common/services/*": ["../services/*"],
"common/terminal/*": ["../terminal/*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/parser",
"rootDir": "."
},
"include": [
"./**/*"
],
"references": [
{
"path": "../base"
},
{
"path": "../buffer"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" },
{ "path": "../encoding" },
{ "path": "../data" },
{ "path": "../buffer" }
]
}
+35 -21
View File
@@ -1,9 +1,30 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"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/*": ["./*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/public",
"rootDir": "."
},
@@ -11,24 +32,17 @@
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../base"
},
{
"path": "../buffer"
},
{
"path": "../parser"
},
{
"path": "../services"
},
{
"path": "../terminal"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" },
{ "path": "../encoding" },
{ "path": "../data" },
{ "path": "../buffer" },
{ "path": "../parser" },
{ "path": "../input" },
{ "path": "../services" },
{ "path": "../terminal" }
]
}
+33 -24
View File
@@ -1,9 +1,30 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["../encoding/*"],
"common/data/*": ["../data/*"],
"common/buffer/*": ["../buffer/*"],
"common/parser/*": ["../parser/*"],
"common/input/*": ["../input/*"],
"common/services/*": ["./*"],
"common/terminal/*": ["../terminal/*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/services",
"rootDir": "."
},
@@ -11,27 +32,15 @@
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../base"
},
{
"path": "../encoding"
},
{
"path": "../data"
},
{
"path": "../buffer"
},
{
"path": "../parser"
},
{
"path": "../input"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" },
{ "path": "../encoding" },
{ "path": "../data" },
{ "path": "../buffer" },
{ "path": "../parser" },
{ "path": "../input" }
]
}
+34 -27
View File
@@ -1,9 +1,30 @@
{
"extends": [
"../../tsconfig-library-base",
"../tsconfig.compiler.json"
],
"extends": "../../tsconfig-library-base",
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../../typings/xterm.d.ts"],
"common/base/*": ["../base/*"],
"common/encoding/*": ["../encoding/*"],
"common/data/*": ["../data/*"],
"common/buffer/*": ["../buffer/*"],
"common/parser/*": ["../parser/*"],
"common/input/*": ["../input/*"],
"common/services/*": ["../services/*"],
"common/terminal/*": ["./*"],
"common/public/*": ["../public/*"],
"common/*": ["../*"],
"*": ["../../*"]
},
"outDir": "../../../out/common/terminal",
"rootDir": "."
},
@@ -11,30 +32,16 @@
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../base"
},
{
"path": "../encoding"
},
{
"path": "../data"
},
{
"path": "../buffer"
},
{
"path": "../parser"
},
{
"path": "../input"
},
{
"path": "../services"
}
],
"exclude": [
"**/*.test.ts"
],
"references": [
{ "path": "../base" },
{ "path": "../encoding" },
{ "path": "../data" },
{ "path": "../buffer" },
{ "path": "../parser" },
{ "path": "../input" },
{ "path": "../services" }
]
}
-28
View File
@@ -1,28 +0,0 @@
{
"compilerOptions": {
"lib": [
"es2015",
"es2016.Array.Include",
"es2019.string",
"es2021.weakref",
"dom"
],
"types": [
"../../node_modules/@types/mocha"
],
"paths": {
"@xterm/xterm": ["../../typings/xterm.d.ts"],
"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/*": ["./*"],
"*": ["../*"]
}
}
}