feat(scripts): add emit-sub-processors compliance script + tests
Adds scripts/compliance/emit-sub-processors.mjs which walks docs/library-decisions/*.md, filters is-sub-processor: true entries via frontmatter parsing, merges compliance/sub-processors.manual.yml (graceful skip if absent), and emits sorted deterministic YAML to compliance/sub-processors.yml. - parseFrontmatter: extracts top-level scalars, skips nested blocks - parseLibraryTraceSubProcessors: discriminated-union filter on is-sub-processor flag - loadManualEntries / parseSimpleYamlList: flat YAML list parser for manual entries; injects source: manual - buildSubProcessors: merge + sort by package name - renderSubProcessorsYaml: package-first field order, rest alphabetical - --check and --print modes via shared unifiedDiff from emit-data-map - 39 unit tests across all exported functions Wires compliance:sub-processors root package script. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
"fallow:audit": "fallow audit --base main",
|
||||
"compliance:data-map": "node scripts/compliance/emit-data-map.mjs",
|
||||
"compliance:retention-policy": "node scripts/compliance/emit-retention-policy.mjs",
|
||||
"compliance:sub-processors": "node scripts/compliance/emit-sub-processors.mjs",
|
||||
"work": "node scripts/work/cli.mjs",
|
||||
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
|
||||
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md}\"",
|
||||
|
||||
Reference in New Issue
Block a user