Всем привет,
Возможно кто-то помнит мои посты про RedJS и RedJS Builder. С тех пор я библиотекой не занимаюсь, а в свободное время постигаю искусство дзынь (разработка сложных UI приложений под десктоп (WPF/JavaFX), а всему причиной стал билдер).
Так вот недавно мне стало обидно, что разработкой идей самого билдера я в общем-то занимался мало. Мне захотелось исправить этот момент.
Собственно вот результат брэйншторма
https://github.com/homobel/makebird-node - реализация нового билдера на ноде.
На мой взгляд наиболее полезным он будет разработчикам библиотек и пользователям таких библиотек.
Makebird вобрал в себя идеи следующих продуктов:
1. redjs builder
2. jossy/Monic
3. gcc
Основной смысл, что проект - это дерево контекстов. Контексты могут быть как в других файлах, так и внутри текущего файла.
Компилятор имеет 1-н флаг: onlyUsed.
Если он выключен - все контексты просто попадают в результирующий билд. Иначе, то включить контекст или нет зависит от base токенов (логика такова - если контекст зависит от другого, то эта зависимость указывается через base токен).
Так же есть специальный токен mind значение которого буквально следующее: включить в проект контекст другого, при этом в билд он не попадает, но его бэйзы учитываются при построении текущего проекта.
Собственно основной сценарий использования отражен здесь:
https://github.com/homobel/makebird-.../projects/libs
https://github.com/homobel/makebird-.../projects/main
Буду благодарен за отзывы.