Требуемая версия не ниже 10.
В проекте ипользуется TypeScript версии 3.2.2
Откройте Settings проекта, выберете Languages & Frameworks ➔ TypeScript и в этой вкладке укажите:
- Node interpreter: Project
- TypeScript: ~AppData\Roaming\npm\node_modules\tslint
- ☑ TypeScript Language Service
- ☑ Recompile on changes
- Compile scope: project
Теперь внизу появится вкладка TypeScrip, в которой вы сможете увидеть ошибки компиляции, а WebStorm будет авторматически компилировать файлы.
Для линтинга используется пакет TSLint c прессетом recommended. Перед пушем кода в репозиторий убедитесь, что код соответсвует правилам линтера.
npm run lint
- анализирует весь проект и выводит в консоль ошибки, если они естьnpm run fix
- автоматически пытается исправить ошибки в проекте
Откройте Settings проекта, выберете Languages & Frameworks ➔ TypeScript ➔ TSLint и в этой вкладке укажите:
- ☑ Enable
- Node interpreter: Project
- TSLint package: %путь до репозитория%\node_modules\tslint
- Search for tslint.json
- Lint JavaScript Files ☑
Для отладки кода написанного на TypeScript под WebStorm создайте в окне Run/Debug Configuration новую Node.js конфигурацию, где во вкладке Configuration укажите:
- Node interpreter: Project
- Node params: --inspect
- Working directory: %путь до репозитория%
- JavaScript file: \dist\app\index.js
Теперь, если у вас созданы map-файлы, вы можете ставить точку останова в файлах TS и ваш код будет останавливаться на них.
Модульное тестирование очень важно для написания поддерживаемого и исправно работающего кода. Также это позволяет писать код по методологии TDD. И документировать с помощью BDD.
- Mocha - Фреймворк для тестирования
- Chai (API) - Библиотека для создания утверждений
- Sinon - Библиотека для создания шпионов, стабов и мок
При тестировании маршрутов подключайте сбилженные js файлы, а не ts.
npm run test
- запустить тесты и вывести результаты в консольnpm run test:report
- запустить тесты и сформировать html-отчет с результатами тестов по пути /test/.report/mochawesome.htmlnpm run test:coverage
- азапустить тесты и сформировать html-отчет покрытия кода тестами по пути /test/.coverage/index.html
Для отладки кода написанного на TypeScript под WebStorm создайте в окне Run/Debug Configuration новую Mocha конфигурацию, где во вкладке Configuration укажите:
- Node interpreter: Project
- Working directory: %путь до репозитория%
- Mocha packages directory: %путь до репозитория%%путь до mocha в папке node_modules%
- User interface: bdd
- File Pattern ☑
- Test file pattern: **/*.spec.ts
Для дополнительного прочтения
- Хабр: Сравнение инструментов для тестирования
- Хабр: Тестирование RESTful API
- Медиум: Введение в модульное тестирование
- Медиум: Мокирование
- Медиум: Mocking in TypeScript
- Istanbul: Формирование отчета покрытия кода тестами
- Mongoose models and unit tests
Перед пушем кода в репозиторий, убедитесть, что:
- Код соответсвует правилам линтера -
npm run lint
- Код проходит все тесты -
npm run test
- Незабывайте, что у вас должен быть глобально утсановлен комитизен npm i -g commitizen
- Добавьте в коммит только файлы, решающие ту задачу, за которую вы взялись
- Дайте осмысленное название комиту согласно правилам Conventional Commits командой
git cz
- Запуште ваш код в ветку develop или feature/%name
При написании своего функционала выносте параметры, которые можно изменять в файлы конфигураций, находящиеся в папке /config. Для параметров, которые зависят от среды выполнения (например, конфигурация для доступа к серверу БД) ипользуйте .env файл.
- Скопируйте файл .env.example и переименуйте его в .env
- Скомпилируйте исходный TS-код в код на JS командой
npm run build
либо средствами вашей среды разработки - Запустите приложение в обычном режеме командой
npm start
- Либо запустите приложение с авторестартом при изменениях командой
npm run dev
Введите в консоле npm run faker
для того, что бы заполнить БД фейковыми данными. Вы можете указать множитель, что бы сгенерирвать больше данных: npm run faker 5
. При больших значениях операция может продолжатьься слишком долго!