Как защитить JS код?
Спрятать не выйдет, а вот затруднить немного чтение вполне. Например с помощью обфускации. Но будьте готовы к увеличению объёма кода.
Например console.log('Лол, кек, чебурек'); превратиться в  var _0xac52=["\u041B\u043E\u043B\x2C\x20\u043A\u0435\u043A\x2C\x20\u0447\u0435\u0431\u0443\u0440\u0435\u043A","\x6C\x6F\x67"];console[_0xac52[1]](_0xac52[0]). Оно вам надо? ИМХО всё это детский сад.
Не стоит парится, я думаю. Судя по тостеру, тут полно вопросов вида, как сделать так же, как вот тут на сайте. Т.е. вместо того, чтобы открыть код и посмотреть идут составлять вопросы. Не говоря уже о том, что бы почитать документацию к API.