ID:WORK-088Status:readyPriority:highComplexity:simple
Extract shared utilities from @refrakt-md/svelte to @refrakt-md/transform
Prerequisite for all framework adapters. Two modules in @refrakt-md/svelte are framework-agnostic and needed by every adapter package.
Acceptance Criteria
serialize()andserializeTree()moved topackages/transform/src/serialize.tsmatchRouteRule()moved topackages/transform/src/route-rules.ts- Both are exported from
@refrakt-md/transformpublic API (packages/transform/src/index.ts) @refrakt-md/sveltere-exports both modules — no breaking change for existing consumers@refrakt-md/transformadds@markdoc/markdocas a dependency (needed byserialize())- All existing tests pass without modification
- Build succeeds in dependency order (types → transform → svelte)
Approach
- Copy
packages/svelte/src/serialize.ts→packages/transform/src/serialize.ts - Copy
packages/svelte/src/route-rules.ts→packages/transform/src/route-rules.ts - Update imports in both files if needed (type imports should already point at
@refrakt-md/types) - Export from
packages/transform/src/index.ts - Replace original files in
packages/svelte/src/with re-exports from@refrakt-md/transform - Update any internal imports within
packages/svelte/that reference these modules directly
References
- SPEC-030 (Phase 0)
- ADR-001, ADR-002 (both identify this as a shared prerequisite)