Kotlin Multiplatform library for parsing Yarn v1 yarn.lock files.
- Tokenizes and parses Yarn v1 lockfiles into a typed tree.
- Handles merge-conflict markers and merges variants when possible.
- Exposes parse errors with line/column/offset metadata.
- Kotlinx serialization support for parse results.
import space.iseki.yarnlock.parseYarnLock
val bytes: ByteArray = /* yarn.lock contents */
val result = parseYarnLock(bytes, "yarn.lock")ParseResultType:SUCCESS,MERGE,CONFLICT.ParseResult:{ type, obj }.YarnValue:StringValue,BooleanValue,NumberValue,ObjectValue.ParseException: includesline,col,offset, andfileLoc.
./gradlew allTestsABI validation is enabled via Kotlin's built-in abiValidation:
./gradlew checkLegacyAbi
./gradlew updateLegacyAbiReference dumps are stored in api/.