Об этом проекте

purlvalidator — это библиотека Go под лицензией Apache-2.0, предназначенная для валидации Package-URLs (PURLs). Она работает полностью автономно, что делает ее подходящей для изолированных или ограниченных сред, и проверяет, действительно ли существует пакет, представленный PURL. Библиотека поставляется с предварительно созданным конечным преобразователем состояний (Finite State Transducer, FST), содержащим известные Package-URLs, собранные MineCode. Она использует этот FST для поиска и подтверждения существования базового PURL (PURL без версии, квалификаторов или подпути). В настоящее время поддерживаются следующие экосистемы: apk, cargo, composer, conan, cpan, cran, debian, maven, npm, nuget, pypi и swift. Функция Validate возвращает true, если базовый PURL существует в упакованных данных, false, если он синтаксически верен, но неизвестен, и ошибку, если ввод не является допустимым PURL или содержит версию, квалификаторы или подпуть. Ежедневно публикуется патч-релиз с последним FST, созданным на основе новых собранных URL пакетов. Проект включает цели make для сборки FST, запуска тестов и линтинга.