Ну писать свою реализацию под каждую экосистему тоже кажется плохим решением разные источники больше проблем, а портируя из одного источника мы можем быть уверены что если уж запустилась то будет работать так же как и в другом месте потомучто запускаем бинарь.
Я думаю что подобных утилит для дев окружения которые просто повышают DX это не критично один раз поставилось скомпилировалось автоматически и забыли, продакшен сборка и CI даже ничего не знает про это. Даже если она не запустится на какой нибудь специфичной платформе это не критическая проблема. Но вероятно что где то не запустится, поэтому поставлять бинарь поидее самое надежное, но и в реализации на ноде данного проекта могли бы возникнуть проблемы с зависимостями парсера Yaml и шаблонизатора Jinja. Вопрос требует детального изучения
Почему такое мнение? Очень много инструментов использует подобный подход компилируя разные языки для утилит на ноде.
Это сделано для того чтобы можно было поставлять в другие экосистемы один и тот же код а не писать каждую реализацию на каждом языке под свою экосистему.
Хорошее замечание! Да в репозитории есть ишью на это. Проблема не в том что нужно писать именно на ноде чтобы пакет немного весил. Можно поставлять в npm пакете в зависимостях компилятор Go и исходные файлы на go. Билд будет происходить при установке из npm под конкретную систему.
Вначале сделал как было проще, для проверки концепции. Обязательно доработаю.
Ну писать свою реализацию под каждую экосистему тоже кажется плохим решением разные источники больше проблем, а портируя из одного источника мы можем быть уверены что если уж запустилась то будет работать так же как и в другом месте потомучто запускаем бинарь.
Я думаю что подобных утилит для дев окружения которые просто повышают DX это не критично один раз поставилось скомпилировалось автоматически и забыли, продакшен сборка и CI даже ничего не знает про это. Даже если она не запустится на какой нибудь специфичной платформе это не критическая проблема. Но вероятно что где то не запустится, поэтому поставлять бинарь поидее самое надежное, но и в реализации на ноде данного проекта могли бы возникнуть проблемы с зависимостями парсера Yaml и шаблонизатора Jinja. Вопрос требует детального изучения
А что вы думаете про WASM? Тоже плохая идея?
Почему такое мнение? Очень много инструментов использует подобный подход компилируя разные языки для утилит на ноде.
Это сделано для того чтобы можно было поставлять в другие экосистемы один и тот же код а не писать каждую реализацию на каждом языке под свою экосистему.
Хорошее замечание! Да в репозитории есть ишью на это. Проблема не в том что нужно писать именно на ноде чтобы пакет немного весил. Можно поставлять в npm пакете в зависимостях компилятор Go и исходные файлы на go. Билд будет происходить при установке из npm под конкретную систему.
Вначале сделал как было проще, для проверки концепции. Обязательно доработаю.