Как быстро расставить точки с запятой, имея 10000 строк кода…?

249
29 декабря 2017, 02:16

Коротко:

Нужно автоматически ПРАВИЛЬНО расставить "точку с запятой" в javascript библиотеке.

Длинно:

Появилась весьма интересная проблема. Делаю редактор кода онлайн, решил использовать code mirror.
И возникает весьма интересный вопрос. Как сжать библиотеку?
Проблема в "особом" стиле написания кода... Там редко используются точки-запятые.
Компрессору, соответственно, нужен нормальный код.

Подскажите, что делать. Может, есть регулярки какие-то для Python или PHP?
Или есть уже минимизированная версия..?

Пример того ужасного (по моему мнению) кода:

var gecko = /gecko\/\d/i.test(userAgent)
var ie_upto10 = /MSIE \d/.test(userAgent)
var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent)
var edge = /Edge\/(\d+)/.exec(userAgent)
var ie = ie_upto10 || ie_11up || edge
Answer 1

Добрый день

Если требуется сжать js, то можно использоваться библиотеку типа uglify-js. Их несколько и они доступны также и в виде плагинов. Проставлять точки с запятой заранее не потребуется. Главное, чтобы код был валидным.

Если требуется проверить и исправить качество своего/чужого кода, можно прогнать файлы через prettier.

PS. кстати, писать js без точек с запятой сейчас в тренде. вот, скажем, исходники mobx https://github.com/mobxjs/mobx/blob/master/src/core/atom.ts, хороший читаемый код. в общем то, точка с запятой обязательна только в паре случае, к примеру перед самовызывающейся функций (self-invocation которая). Это скорее вопрос привычки к тому или иному стилю.

READ ALSO
Как JavaScript обрабатывает promise?

Как JavaScript обрабатывает promise?

Шлём запрос, полученный обработчик срабатывает после получения ответа:

270
Рандомная генерация квадратов в canvas

Рандомная генерация квадратов в canvas

Есть функция, которая генерирует квадрат рандомного размера не больше 40px в рандомном месте, не выходя за границы canvas: 1Как сделать минимальный...

277
Как убрать абсолютно все ссылки из строки?

Как убрать абсолютно все ссылки из строки?

Как убрать абсолютно все ссылки из строки? Делаю бота для ВК в связи со слабой защитойСтраницу постоянно блокируют

180
Как найти элемент на странице с определенным атрибутом зная только атрибут?

Как найти элемент на странице с определенным атрибутом зная только атрибут?

Дамы и господа, допустим есть некий элемент на странице и он нам не известен

275