An open API service indexing awesome lists of open source software.

https://github.com/kruzhok-team/lapki-client

Графическая IDE для киберфизических систем (клиентская часть)
https://github.com/kruzhok-team/lapki-client

arduino cyberphysical-systems electron hacktoberfest ide state-machine typescript

Last synced: 6 months ago
JSON representation

Графическая IDE для киберфизических систем (клиентская часть)

Awesome Lists containing this project

README

          

# lapki-client

Клиентская часть Lapki IDE, среды программирования расширенных иерархических машин состояний.

## Зависимости

Поддерживаемые ОС:

- Windows 10 и новее (поддержка более старых систем не гарантируется)
- Для прошивки могут понадобиться драйвера прошиваемых устройств (например, нестандартных Arduino или необновлённых системах).
- Linux-дистрибутивы с менеджером **Systemd**.
- Для прошивки потребуется `libusb`, для опроса устройств также используется `udevadm`. Возможна работа с `eudev`, но это не тестировалось.
- macOS (тестировалось на 14-ой версии "Sonoma")
- См. раздел [Безопасность](https://github.com/kruzhok-team/lapki-client/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA%D0%B0-%D0%BD%D0%B0-macOS#%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) для решения проблем с открытием Lapki IDE.

Также для прошивки потребуется **avrdude**. В Linux достаточно установить утилиту встроенным пакетным менеджером, под Windows предлагается установить [форк от maurisgreuel](https://github.com/mariusgreuel/avrdude), положить в рабочую директорию или PATH. Инструкцию по установке avrdude на macOS можно посмотреть [здесь](https://github.com/kruzhok-team/lapki-client/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA%D0%B0-%D0%BD%D0%B0-macOS#avrdude).

## Разработка

Для работы с репозиторием рекомендуется использовать [VSCode](https://code.visualstudio.com/) с расширениями [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) и [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode).

Для запуска dev-версии потребуется установить Node 18.х и новее c npm, после выполнить команды:

```bash
# Загрузить подмодули
$ git submodule update --init --recursive

# Загрузить зависимости
$ npm install

# (необязательно, Windows)
# Загрузить и установить зависимости (меняет PATH!)
$ npm run dependencies:win

# (Windows)
# Скопировать файлы данных локального компилятора
$ npm run prepare:win

# Запустить dev-сервер и Electron
$ npm run dev
```

Dev-версия работает в режиме горячей замены, но некоторые изменения (например, затрагивающие хранение данных документа) могут приводить к проблемам, не проявляющимся в обычной работе.

Для разработки под NixOS предусмотрен shell-файл, запускающий FHS-окружение с VS Code и необходимыми зависимостями.
Команда `nix-shell` автоматически запускает редактор. При первом запуске в VS Code также желательно поставить Prettier и ESLint.

### Сборка

```bash
# Под Windows
$ npm run build:win

# Под Linux
$ npm run build:linux
```