Тестове завдання: test task
Estimate - 7 days
npm install - встановлюємо залежності
npm run start або npm run star:webpack - запуск frontend проєкту
npm run start
- Запуск frontend прєкта на vitenpm run star:webpack
- Запуск frontend проєкта на webpack dev servervite build
- Збірка Vitenpm run build:prod
- Збірка у prod режиміnpm run build:dev
- Збірка і dev режимі (не мінімизировано)npm run lint:ts
- Перевірка ts файлів линтеромnpm run lint:ts:fix
- Виправлення ts файлів линтеромnpm run lint:scss
- Перевірка scss файлів style линтеромnpm run lint:scss:fix
- Виправлення scss файлів style линтеромnpm run unit
- Запуск unit тестів з jestnpm run pret
- Формотування файлів prettier
Проєкт написано у відповідності до методології Feature sliced design
Посилання на документацію - feature sliced design
У проєкте неведено приклад використання тестів:
- Звичайні unit тесты на jest -
npm run test:unit
У проєкті використовується eslint для перевірки typescript коду та stylelint для перевірки файлів зі стилями.
Для більш гнучкого контролю додані додаткові правила. ESLint та Prettier працюють разом, щоб забезпечити кращий стиль коду.
npm run lint:ts
- Перевірка ts файлів линтеромnpm run lint:ts:fix
- Виправлення ts файлів линтеромnpm run lint:scss
- Перевірка scss файлів style линтеромnpm run lint:scss:fix
- Виправлення scss файлів style линтером
Для девелопингу проєкт містить 2 конфіга:
- Webpack - ./config/build
- vite - vite.config.ts
Обидва збірщика адаптовано під основні фічи проєкту.
Уся конфігурація зберігається у /config
- /config/babel - babel
- /config/build - webpack
- /config/jest - конфігурация тестовой середи
Конфігурация github actions знаходиться у /.github/workflows. В ci прогоняються усі типу линтингу, тести, сбірка проєкту.
У прекоммит хуках перевіряємо проєкт линтерами, конфіг в /.husky
Взаємодія з даними відбувається за допомогою Redux toolkit
Запити на сервер відправляються за допомогою Axios