feat(project-editor): add field-schema registry + test harness
Milestone 1 of the Configuration Engine sprint.
- Add schema/ registry: FieldSchema model, SECTION_FIELD_SCHEMAS covering
every editable field per section, and EditorSchemaService (getFields,
getField, all, getByPath). Single source of truth for labels, defaults,
and validator references; sections stay hand-authored (metadata-augmented).
- Stand up Karma + Jasmine (ng test) with a headless, sandbox-free Chrome
launcher; add tsconfig.spec.json, karma.conf.js, angular.json test target,
and npm "test" script. First spec: editor-schema.service.spec (7 passing).
No behavior change. Gate: arch:check, tsc --noEmit, npm test (7/7), build all green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 01:51:13 +04:00
|
|
|
/* 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. */
|
|
|
|
|
{
|
|
|
|
|
"extends": "./tsconfig.json",
|
|
|
|
|
"compilerOptions": {
|
|
|
|
|
"outDir": "./out-tsc/spec",
|
|
|
|
|
"types": [
|
|
|
|
|
"jasmine"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"include": [
|
|
|
|
|
"src/**/*.spec.ts",
|
|
|
|
|
"src/**/*.d.ts"
|
2026-07-26 19:05:58 +04:00
|
|
|
],
|
|
|
|
|
"angularCompilerOptions": {
|
|
|
|
|
"extendedDiagnostics": {
|
|
|
|
|
"checks": {
|
|
|
|
|
"nullishCoalescingNotNullable": "suppress",
|
|
|
|
|
"optionalChainNotNullable": "suppress"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
feat(project-editor): add field-schema registry + test harness
Milestone 1 of the Configuration Engine sprint.
- Add schema/ registry: FieldSchema model, SECTION_FIELD_SCHEMAS covering
every editable field per section, and EditorSchemaService (getFields,
getField, all, getByPath). Single source of truth for labels, defaults,
and validator references; sections stay hand-authored (metadata-augmented).
- Stand up Karma + Jasmine (ng test) with a headless, sandbox-free Chrome
launcher; add tsconfig.spec.json, karma.conf.js, angular.json test target,
and npm "test" script. First spec: editor-schema.service.spec (7 passing).
No behavior change. Gate: arch:check, tsc --noEmit, npm test (7/7), build all green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 01:51:13 +04:00
|
|
|
}
|