Большое обновление ppm Вчера загрузил большое обновление. По сути –… — Дневник VBAшника — TG.ME

Большое обновление ppm

Вчера загрузил большое обновление. По сути – это релиз кандидат
🥳
Функционал протестил на нескольких своих проектах, вроде работает как надо.
Присоединяйтесь к тестированию
😉 Единственный момент, не рекомендовал бы пока сразу тестировать на боевых проектах.
А, ну и точно должно работать в Excel, за другие платформы, увы, не ручаюсь.
Если есть желание добавить поддержку другой платформы, welcome to contributors
🍷


✒️Итак, что же изменилось:
✅команды install и publish теперь по умолчанию обращаются к публичному репозиторию: https://registry.ppmvba.com 😎
✅конфигурация собирается по восходящей:
➡️сначала читаем минус-аргументы, переданные вместе с командой (ppm "export --save-struct")
➡️затем читаем конфиг из папки проекта - project конфиг
➡️далее конфиг в %APPDATA%/ppm - user конфиг
➡️потом конфиг в %PROGRAMDATA%/ppm - global конфиг
➡️оставшиеся значения берем из установленных по умолчанию в ppm
✅исправлены баги


🔊А еще, много нового функционала

📌dev-зависимости
Добавил работу с dev-зависимостями. Теперь при выполнении команды ppm "install" можно добавить флаг --save-dev и пакет установится в dev часть:

'  "devDependencies": {
' "PCollections": "1.0.0"
' }


Таким образом можно разделять обязательные зависимости и те, которые нужны только для разработки.


📌Новая команда ref
ref (от references) управляет референсами проекта. То есть, теперь не нужно обращаться к Tools > References... и искать в списке Scripting, а достаточно в Immediate window выполнить команду:

ppm "ref add scripting"


и все, вы великолепны
😌

ref поддерживает подкоманды/флаги:
- add – добавление
- delete – удаление
- update – обновление списков в модуле package
- list – вывод в Immediate списка подключенных референсов
- флаг --save-dev, то есть можно добавить dev-references:

'  "devReferences": {
' "Rubberduck": "2.5",
' "ppm": "1.0.0"
' }


ppm автоматически добавляется в devReferences. При удалении (ppm "ref delete ppm"), отключается от проекта.


📌Новая команда build
ppm теперь не просто пакетный менеджер, а еще и простенькая билд-система.
Помните dev-зависимости/референсы? Так вот, при выполнении:

ppm "build"


из проекта автоматически будут удалены все зависимости/референсы добавленные в dev блоки. Все остальные останутся.

Вот с референсами – это то, чего мне дико не хватало в работе. Было удобно юзать scripting при разработке, но в клиентской версии его нужно было обязательно отключать. Как и ppm, собственно. У вас такой проблемы не будет :))

Поддерживает флаги:
- -o|--output имя файла для билда. По умолчанию берется name@version из модуля package.
- --file-format формат/расширение файла билда. По умолчанию xlsb. Если в output передано имя файла с расширением, в конце будет добавлено расширение переданное с флагом --file-format:

ppm "build -o main.xlsb --file-format xlsm" ' сохранит билд в файл main.xslb.xslm



Поддерживаются форматы xlsb, xlsm, xls, xla, xlam.


📌Новая команда auth
Для публикации пакетов (ppm "publish") в публичный репозиторий, потребуется api-token.
Чтобы его получить, необходимо выполнить команду:

ppm "auth <email>


Где email – ваш email-адрес.
На самом деле, на данный момент, это может быть любая строка без пробелов, но лучше всего указать, все-таки, действительный email, т.к. в случае утери токена, восстановить его не удастся.

После выполнения команды будет выведено сообщение с токеном для указанного email-адреса.
Токен и email автоматически записываются в user конфиг и при публикации пакетов считываются оттуда.

В случае утери токена, можно выполнить команду:

ppm "auth --recreate-token"


после чего, на указанный email будет выслано письмо с новым токеном и инструкцией по его установке.


Уф... вроде все на сегодня :)
Код уже на GitHub
🖥

Stay tuned
❤️

Что за ppm?
🔥4👍2
March 10, 2025 494 7