All Projects → fullstack-development → React Redux Starter Kit

fullstack-development / React Redux Starter Kit

Licence: mit
Modular starter kit for React+Redux+React Router projects.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to React Redux Starter Kit

React Cool Starter
😎 🐣 A starter boilerplate for a universal web app with the best development experience and a focus on performance and best practices.
Stars: ✭ 1,083 (+1077.17%)
Mutual labels:  webpack, unit-testing
Express React Boilerplate
🚀🚀🚀 This is a tool that helps programmers create Express & React projects easily base on react-cool-starter.
Stars: ✭ 32 (-65.22%)
Mutual labels:  webpack, unit-testing
Electron Vue
An Electron & Vue.js quick start boilerplate with vue-cli scaffolding, common Vue plugins, electron-packager/electron-builder, unit/e2e testing, vue-devtools, and webpack.
Stars: ✭ 14,610 (+15780.43%)
Mutual labels:  webpack, unit-testing
Semaphore Ng2 Webpack
Stars: ✭ 81 (-11.96%)
Mutual labels:  webpack, unit-testing
Awesome Coding Javascript
📌 持续构建个人的源码库(JavaScript 原生、常用库、数据结构、算法)
Stars: ✭ 88 (-4.35%)
Mutual labels:  webpack
Grow Loader
A webpack loader to split class methods by decorators
Stars: ✭ 89 (-3.26%)
Mutual labels:  webpack
Netdumbster
netDumbster is a .Net Fake SMTP Server clone of the popular Dumbster
Stars: ✭ 88 (-4.35%)
Mutual labels:  unit-testing
Karma Webpack Example
Karma + Webpack + Mocha + Chai + Istanbul
Stars: ✭ 88 (-4.35%)
Mutual labels:  webpack
Css Modules Flow Types
Creates flow type definitions from CSS Modules files using Webpack loader or CLI 👾
Stars: ✭ 92 (+0%)
Mutual labels:  webpack
Angular Webpack Starter
🌟 Angular Webpack Starter with AoT compilation, Lazy-loading, Tree-shaking, and Hot Module Reload (Updated to 4.1.0!)
Stars: ✭ 91 (-1.09%)
Mutual labels:  webpack
Phpunit Json Assert
PHPUnit assertions for JSON documents
Stars: ✭ 90 (-2.17%)
Mutual labels:  unit-testing
Jest Webpack
Use jest with webpack.
Stars: ✭ 89 (-3.26%)
Mutual labels:  webpack
Egg Vue Webpack Boilerplate
Egg Vue Server Side Render (SSR) / Client Side Render (CSR)
Stars: ✭ 1,302 (+1315.22%)
Mutual labels:  webpack
Yipack Cli
易打包-命令行工具
Stars: ✭ 89 (-3.26%)
Mutual labels:  webpack
Stellar Webpack
A little experiment
Stars: ✭ 91 (-1.09%)
Mutual labels:  webpack
Rubberduck
Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
Stars: ✭ 1,287 (+1298.91%)
Mutual labels:  unit-testing
React Atomic Structure
Basic Structure for React app following Atomic Design
Stars: ✭ 89 (-3.26%)
Mutual labels:  webpack
Epub Manga Creator
a web GUI for create japanese epub manga
Stars: ✭ 90 (-2.17%)
Mutual labels:  webpack
Saul
Experimental annotation-based javascript unit tests 🚀
Stars: ✭ 90 (-2.17%)
Mutual labels:  unit-testing
Vue Lottery
🎨 抽奖以及截屏保存图片至本地
Stars: ✭ 90 (-2.17%)
Mutual labels:  webpack

react-redux-starter-kit

Modular starter kit for React+Redux+React Router projects.

NPM scripts

To start locally

  • npm run dev for development environment in watch mode
  • npm run prod for production environment in watch mode

To build locally (see build folder)

  • npm run build:dev for development environment without watch mode
  • npm run build:prod for production environment without watch mode

To start bundle analyzer

  • npm run analyze:dev for development environment
  • npm run analyze:prod for production environment

To start isomorphic server

  • npm run server:dev for development environment in watch mode
  • npm run server:prod for production environment without watch mode

To start yeoman generator create-feature

  • npm run yeoman

Features

  • [x] Typescript 2.x
  • [x] React 16.x
  • [x] React-router 4.x
  • [x] Redux
  • [x] Redux-saga for side-effects
  • [x] SCSS
  • [x] React-JSS
  • [x] BEM methodology
  • [x] Webpack 4.x
  • [x] Tests (Jest, sinon, enzyme)
  • [x] Test coverage
  • [x] Hot reload
  • [x] Yeoman blocks generator tasks (features, modules, ... )
  • [x] Code splitting (async chunks loading)
  • [x] Isomorphic
  • [x] Material-UI

Тестирование

Тесты используют фреймворк Jest

Запуск

  • npm test или npm t - разовый прогон тестов
  • npm run test:watch - запуск тестов в watch-режиме
  • npm run test:debug - запуск с возможностью подключения для отладки ( Chrome / VSCode / Webstorm ).
  • npm run test:coverage - запуск с генерацией карты покрытия кода. Результаты можно открыть в браузере <projectDir>/coverage/lcov-report/index.html.

Snapshot Testing

import React from 'react';
import { shallow } from 'enzyme';
import GenericDateInput from './../GenericDateInput';

it('renders correctly', () => {
  const component = shallow(<GenericDateInput />)

  expect(component.debug()).toMatchSnapshot();
});

После первого запуска теста создается эталонный снепшот, который будет помещен в папку __snapshots__ рядом с файлом теста. Его нужно проверить на корректность. После изменений в верстке компонента в терминале будут отображены изменения произошедшие в компоненте, и если эти изменения ожидаемы, то нужно зафиксировать новые снепшоты, для этого достаточно в терминале нажать клавишу "u" (при условии что тесты запущены в watch-режиме). ВНИМАНИЕ!!! Будут перезаписаны все снепшоты, не совпадающие с эталонными!

Чтобы обновить снепшот для конкретного теста можно воспользоваться it.only(name, fn, timeout) или describe.only(name, fn), если мы хотим обновить снепшоты для группы тестов.

При возникновении ошибок при тестировании в watch моде:

Для MacOS (Error: watch EMFILE): Удалить watchman, глобально установленный через npm или yarn, если таковой был, и установить повторно через brew.

Для Linux (Error ENOSPC): воспользоваться данной командой:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

ссылка на issue

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].