pkg-urls-list
v1.1.1
Published
**Утилита для извлечения списка URL-ов всех зависимостей проекта из lock файлов.**
Readme
pkg-urls-list
Утилита для извлечения списка URL-ов всех зависимостей проекта из lock файлов.
📌 Описание
Инструмент автоматически сканирует lock файлы вашего проекта (package-lock.json или pnpm-lock.yaml) и генерирует список прямых ссылок на архивы всех зависимостей из npm реестра. Это удобно для создания снимков всех зависимостей проекта или их массового скачивания.
✨ Возможности
- ✅ Поддержка npm и pnpm менеджеров пакетов
- ✅ Автоматический поиск lock файла
- ✅ Генерация готовых URL-ов для скачивания с npm реестра
- ✅ Сохранение результатов в текстовый файл
📦 Требования
- Node.js ≥ 22
- npm ≥ 10
🚀 Установка
Рекомендуемый способ — через npx (без установки)
Это самый удобный способ — утилита запустится без необходимости устанавливать её в каждый проект:
npx pkg-urls-listИли для нескольких проектов:
npx pkg-urls-list ./project1 ./project2Глобальная установка (опционально)
Если хотите установить утилиту глобально на вашей машине:
npm install -g pkg-urls-listТогда можете использовать команду pkg-urls-list напрямую:
pkg-urls-listЛокальная установка в проект (не рекомендуется)
npm install pkg-urls-list💻 Использование
Один проект
Перейдите в директорию вашего проекта и выполните команду:
npx pkg-urls-listУтилита автоматически:
- Найдёт
pnpm-lock.yamlилиpackage-lock.jsonв текущей папке - Извлечёт список всех зависимостей
- Сгенерирует URL-ы на npm реестре
- Сохранит результат в файл
pkg-urls-list.txt
Несколько проектов
Если нужно получить общий список зависимостей сразу из нескольких проектов с автоматическим удалением дубликатов, передайте пути к папкам как аргументы:
npx pkg-urls-list ./project1 ./project2 ./path/to/project3Утилита:
- Просканирует все указанные проекты
- Соберёт зависимости из каждого
- Автоматически удалит дубликаты (каждый пакет в разных версиях будет учтён только один раз)
- Сохранит объединённый список в
pkg-urls-list.txt
Это удобно для:
- 📦 Анализа всех зависимостей в монорепозитории
- 🔍 Поиска общих пакетов между проектами
- 💾 Создания единого снимка всех требуемых пакетов
Пример вывода
После выполнения команды вы увидите сообщение:
✅ Список зависимостей сохранён в файл: /path/to/pkg-urls-list.txtФайл pkg-urls-list.txt будет содержать список URL-ов:
https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz
https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz
https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz📋 Структура проекта
pkg-urls-list/
├── package.json # Конфиг проекта
├── pkg-urls-list.txt # Пример выходного файла
├── src/
│ └── bin/
│ └── scan.js # Основной скрипт утилиты
└── README.md # Этот файл🔧 Технические детали
Утилита работает с npm пакетами и их lock файлами:
- Для npm: использует поле
resolvedизpackage-lock.json - Для pnpm: конструирует URL из названия и версии пакета
Поддерживает как обычные пакеты ([email protected]), так и scoped пакеты (@babel/[email protected]).
📝 Лицензия
MIT © Ningaro
🤝 Автор
Ningaro
