Repository navigation
v0.2
Release Notes (v0.2)
-
Core API is now fully generic over symbol type (
TSymbol)- Resources, resolvers, merge strategies, and the preprocessor pipeline now operate on
ReadOnlyMemory<TSymbol>rather than being text-only.
- Resources, resolvers, merge strategies, and the preprocessor pipeline now operate on
-
Offset-only source maps
- Source mapping is now based on generated/original offsets (not line/column), with APIs like
SourceMap.Query(int generatedOffset)andQueryRangeByLength(...).
- Source mapping is now based on generated/original offsets (not line/column), with APIs like
-
New
IDirectiveModel<TDirective>abstraction- Directive semantics (location + dependency reference extraction) are supplied via
IDirectiveModel<TDirective>, so directive types no longer need to implement library interfaces.
- Directive semantics (location + dependency reference extraction) are supplied via
-
Text-specific functionality consolidated under Text layer
- The default concatenating merge behavior and related text diagnostics live in
TinyPreprocessor.Text.
- The default concatenating merge behavior and related text diagnostics live in
-
Legacy directive interfaces removed
- Removed the old
IDirective/IIncludeDirectiveinterfaces to avoid confusion and reduce required coupling for consumers.
- Removed the old
-
Docs and examples updated
- README now includes a simpler in-memory “Quick Start” and updated examples reflecting the new generic + offset-based APIs.
Breaking Changes
Preprocessoris nowPreprocessor<TSymbol, TDirective, TContext>and requires anIDirectiveModel<TDirective>.IResource,Resource,IResourceResolver, andResourceResolutionResultare now generic (<TSymbol>).- Source map APIs are offset-based (line/column querying is removed).
Compatibility
- Requires .NET 8+ (unchanged).
Testing
- Full test suite passing (
dotnet test).