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>
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
"start:dexar": "ng serve --configuration=development --port 4200",
|
||||
"build": "ng build",
|
||||
"build:dexar": "ng build --configuration=production",
|
||||
"test": "ng test --watch=false --browsers=ChromeHeadlessNoSandbox",
|
||||
"watch": "ng build --watch --configuration development",
|
||||
"arch:check:boundaries": "node tools/architecture/check-boundaries.mjs",
|
||||
"arch:check:cycles": "npx --yes madge --circular --extensions ts src/app --ts-config tsconfig.app.json",
|
||||
@@ -39,6 +40,12 @@
|
||||
"@angular/build": "21.1.5",
|
||||
"@angular/cli": "21.1.5",
|
||||
"@angular/compiler-cli": "21.1.5",
|
||||
"@types/jasmine": "~5.1.0",
|
||||
"jasmine-core": "~5.5.0",
|
||||
"karma": "~6.4.0",
|
||||
"karma-chrome-launcher": "~3.2.0",
|
||||
"karma-jasmine": "~5.1.0",
|
||||
"karma-jasmine-html-reporter": "~2.1.0",
|
||||
"typescript": "~5.9.3",
|
||||
"barry-cache": "^0.1.0"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user