chuuddo / shri-2020-task-2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Технологии, фреймворки и библиотеки

JavaScript

До того, как приступить к решению задачи колебался между JavaScript и TypeScript. Поскольку я являюсь разработчиком на C#, то TS очень манил статической типизацией. Но ни на JS, ни на TS я раньше не писал и решил использовать JS, а TS уже осваивать, когда будет хорошие знания по JS.

Собирает весь проект в один файл и с помощью параметров format: "umd", name: "lint", extend: true добавляет возможность использовать этот файл и в браузере, и в NodeJS.

Подсмотрел чем собирается библиотека json-to-ast. Настроил, все заработало и код бандла показался очень читабельным, решил оставить.

Анализирует код и выводит все несоответствия исходного кода заданным правилам как синтаксическим, так и стилистическим. Помогает поддерживать единый стиль кода во всем проекте.

Настроен pre-commit git hook запускающий линтинг JS кода и прогон тестов перед каждым коммитом. Необходим для того, чтобы в репозиторий не попадал код с ошибками и красными тестами.

Тестовый фреймворк. Выбрал самый популярный по npm.

Парсер, который преобразует JSON строку в абстрактное синтаксическое дерево (AST). С помощью AST можно перемещаться по дереву без необходимости знать конкретную структуру и проводить различные анализы элементов. Кроме того AST дерево содержит информацию о позиции каждого элемента.

Выбрал благодаря подсказке в 3 задании. Поиски альтернативных JSON парсеров в npm не увенчались успехом.

About


Languages

Language:JavaScript 100.0%