Open PROPHESSOR opened 6 years ago
Ой, конечно. Немного завис, чинил brainfuck.
??)
Отправил приглашение.
Есть небольшая проблема с реализацией. Пока не понятно, как читать программу. Same origin все ломает - не работает на локальных файлах.
Можно запулить локальный NodeJS сервер (http+websocket), который будет тупо проксировать результат в браузер, а выполнять на сервере.
В каком смысле "читать программу"?
Аа
Ну смотри... Пока давай без сервера... Механизм выполнения можно посмотреть в https://github.com/PROPHESSOR/JsOS/tree/master/js/service/appman
Чисто подключить некий program.js файл Когда будет готова база - можно будет делать node сервер с watch функцией и т.п.
Не понятно все равно. Нужно переопределять require, а без чтения файла не получится. Сервер запилить можно быстро.
А, ну это да... require... Проблема есть... На вскидку 2 идеи:
Кстати, что такое $$
?
$$ - глобальная переменная (объект), куда монтируются все модули, что бы можно было получить к ним доступ из любого места
Предлагаю пока сделать верстку... Как раз будет время, что бы подумать над реализацией
Сделал сервер HTTP, остался WebSocket.
@PROPHESSOR Где-то есть стандартный цвета консоли в RGB? Чтобы было похоже на JsOS.
@imachug да, в graphics-mode есть палитра
@imachug Upgrade Required
Странно. Старая версия?
@imachug старая версия чего? Только что склонировал, Chrome последний, node последняя LTS
Где Upgrade Required
?
$ node .
Listening on port 2968
Открываю в браузере gui/index.html
. Вписываю 2968.
Сейчас работаю над тем, чтобы обойтись без того, чтобы самому вписывать порт.
Сделал запуск без gui/index.html
. Теперь просто node .
открывает браузер.
@imachug в браузере
Эх... Мы одновременно сделали открытие браузера и задание порта...
В консоли? Можно скриншот? (и стектрейс)
@imachug со скриншотом на гитхабе проблемы... Сейчас исправлю конфликты (если что, git revert)
В общем, получается полная ерунда... Вместо инструмента для простой отладки, получился инструмент для демонстрации консоли через вебсокеты...
Можно оформить это изобретение в виде JsOS пакета для демонстрации экрана и начинать сначала...
В виде пакета? JsOS же websocket не поймет.
@imachug На сколько я вижу, сокеты используют стандартные платформо-независимые библиотеки... Так что, по-идее, на JsOS должно запуститься
Это конечно хорошо, но во внешний мир как пробросить?
Это, as far as I know, было сделано ещё в runtime.js
Видимо, придется сделать фиксированный порт.
Можно будет сделать нормальный debug, есть пробросить ошибки в браузер из Node.JS.
Ну это да... Но в идеале нужно достать исходники node debug protocol... Что бы можно было в chrome (about:inspect) отлаживать, как ноду
Вроде нормально отлаживается.
Точно! Не подумал
Можешь дать доступ, плс?