First step of splitting the UI into two skin trees. All 12 services plus platform.ts, format.ts, file-icons.ts, icons.ts and app.config.ts move to ui/src/app/core/ — the layer both skins will share. This is a pure move: git records all 17 as renames, and no file content changed beyond import paths. The premise holds because `git diff main...feat/7css-skin` touches none of these files — the service layer was already skin-agnostic, so there is nothing to untangle, only to relocate. Components now reach it through a new `@core/*` tsconfig alias rather than a relative path. That is deliberate and load-bearing for the next stage: skin components are about to move under app/skins/<skin>/ at varying depths, and an alias keeps every one of these 67 imports correct wherever its file ends up. `@shared/*` (the bun-side src/shared) already set the precedent. Intra-core imports needed no edits at all — every ./sibling reference among the moved files points at another moved file. Verified: tsc clean, `bun run build:ui` clean (AOT resolves every import and template symbol), and the running window's opaque interior is pixel-identical to a pre-refactor capture. Note on that comparison: the Aero frame and title bar do NOT compare equal between launches, and that is not a regression — .window.glass::before runs at opacity .6, so the chrome composites over whatever desktop is behind the window and shifts by a uniform ~8% brightness. The check therefore diffs the opaque interior (inset 30px sides, 80px top), where anything this refactor could break would show. Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.3 KiB
JSON
39 lines
1.3 KiB
JSON
/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
|
|
/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
|
|
{
|
|
"compileOnSave": false,
|
|
"compilerOptions": {
|
|
"strict": true,
|
|
/* @shared -> the bun/UI shared code (src/shared). @core -> the skin-agnostic
|
|
UI layer (services, platform, formatters). @core is an ALIAS rather than a
|
|
relative path on purpose: skin components live at varying depths under
|
|
app/skins/<skin>/, and an alias keeps their imports identical wherever a
|
|
component is moved to. */
|
|
"paths": {
|
|
"@shared/*": ["../src/shared/*"],
|
|
"@core/*": ["./src/app/core/*"]
|
|
},
|
|
"noImplicitOverride": true,
|
|
"noPropertyAccessFromIndexSignature": true,
|
|
"noImplicitReturns": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"skipLibCheck": true,
|
|
"isolatedModules": true,
|
|
"experimentalDecorators": true,
|
|
"importHelpers": true,
|
|
"target": "ES2022",
|
|
"module": "preserve"
|
|
},
|
|
"angularCompilerOptions": {
|
|
"enableI18nLegacyMessageIdFormat": false,
|
|
"strictInjectionParameters": true,
|
|
"strictInputAccessModifiers": true
|
|
},
|
|
"files": [],
|
|
"references": [
|
|
{
|
|
"path": "./tsconfig.app.json"
|
|
}
|
|
]
|
|
}
|