Как настоящий «фуллстек» все могу все умею программист, я часто пишу обе части кода, и часто это достаточно неприятные минуты «яваскрипт» ненависти.
С этим надо как-то бороться, и отличным примером борьбы является использование typescript. В качестве примера будет использован алгоритм игры «жизнь» (см https://ru.wikipedia.org/wiki/Жизнь_(игра))
В PhpStorm поддержка typescript включается плагином, после этого достаточно создать первый файл *.ts и указать параметры компиляции в tsconfig.json (я предпочитаю складывать код js в отдельную папку, чтобы на него не натыкаться при разработке). Я накручиваю сразу все остальные штучки из npm, так как дальше проект обрастает обычно компиляцией css, дополнительными либами и прочая прочая прочая). Полный пример кода можно скачать тут
