Публикация утилиты в NuGet потребовала руками в полуавтоматическом режиме загрузить 16 предыдущих версий. Теперь можно ощутить технологический рывок языка за пару команд. Да и просто поставить себе:
dotnet tool update --global hydrascript
Основная цель релиза - поддержка CGI скриптинга. Теперь с помощью hydrascript можно перекладывать настоящие json’ы на бекенде.
Для этого я добавил в язык ряд фич, каждая из которых потребовала значительного рефакторинга абстракций предметной области
Например, внедрение работы с переменными среды заставило решить старый техдолг зависимости рантайм значений от таблицы переменных, которая тянулась через именованные переменные. Чтобы это сделать пришлось перелопатить всю кодогенерацию значений, чтобы поддержать вариативность между константами, именами, и переменными среды
Расширение API для строкового типа наконец-то добавило долгожданное обращение по индексу и взятие длины. Пришлось переработать статический анализ в части операторов полностью и выделить сущность оператора типа, чтобы не прибивать гвоздями определённые концепции
Вот приведение типов и ввод с консоли были попроще, но достаточно объёмными, чтобы о них вспомнить
Новый релиз доступен как в GitHub, так и в NuGet:
- https://github.com/Stepami/hydrascript/releases/tag/v2.6.0
- https://www.nuget.org/packages/HydraScript