A quick way to start a React and Flux with modern tools.
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin use next tag of React Nov 23, 2018
images update example Mar 17, 2018
.babelrc Add airbnb's rule Jan 3, 2018
.eslintrc.json Add airbnb's rule Jan 3, 2018
.gitignore ignore lock file Jan 3, 2018
.travis.yml updated to material-ui-v1 Mar 11, 2018
LICENSE Initial commit. May 15, 2016
README.md Update README.md Nov 23, 2018
package.json update version Nov 23, 2018

README.md

starter-react-flux

Build Status total per year per month per week GitHub license npm PRs Welcome

A starter kit for a React and Flux. You can easily create a standard React and Flux project using awesome libraries.

starter-react-flux will install the latest versions.

Usage

Create a new project

mkdir my-app && cd my-app

//npm >= 5.2.0
npx starter-react-flux init

//npm < 5.2.0
npm install -g starter-react-flux
starter-react-flux init

Launch the application

npm start                     // Launch the app with webpack-dev-server.

Top page with React and Flux

Client side routing with React Router

Bundle analyzing with Webpack Bundle Analyzer

npm run bundle-analyze

Testing with Jest

npm test                      // Testing with Jest.

Static analyze with ESLint

npm run lint                  // Check the code by ESLint with AirBnb's style guideline.

Automatic code format with Prettier and ESLint

npm run fix                   // Fix the code by Prettier with AirBnb's guidline.

Production build with Webpack

npm run build                 // Build the app into the ./public directory.

Directory structure of the generated app

.
├── .babelrc          //Configuration for Babel
├── .eslintrc         //Configuration for ESLint
├── __tests__         //Test files for JEST
├── app
│   ├── App.js        //Entry point
│   ├── actions       //Action Creators
│   ├── components    //React Components
│   ├── constants     //Constatns for Action Creators and Stores
│   ├── dispatcher    //Dispatcher
│   ├── stores        //Reduced Store
│   └── utils         //Utils
├── node_modules
├── package.json
├── public            //Build assets and other assets
│   ├── css
│   ├── img
│   ├── index.html
│   └── js
└── webpack.config.js //Configuration for Webpack

Current Packages

Nov.24, 2018: React Hooks APIs are available!

  "devDependencies": {
    "@babel/cli": "^7.1.5",
    "@babel/core": "^7.1.6",
    "@babel/plugin-proposal-class-properties": "^7.1.0",
    "@babel/plugin-proposal-decorators": "^7.1.6",
    "@babel/plugin-proposal-do-expressions": "^7.0.0",
    "@babel/plugin-proposal-export-default-from": "^7.0.0",
    "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
    "@babel/plugin-proposal-function-bind": "^7.0.0",
    "@babel/plugin-proposal-function-sent": "^7.1.0",
    "@babel/plugin-proposal-json-strings": "^7.0.0",
    "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
    "@babel/plugin-proposal-numeric-separator": "^7.0.0",
    "@babel/plugin-proposal-optional-chaining": "^7.0.0",
    "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
    "@babel/plugin-proposal-throw-expressions": "^7.0.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@babel/plugin-syntax-import-meta": "^7.0.0",
    "@babel/plugin-transform-runtime": "^7.1.0",
    "@babel/preset-env": "^7.1.6",
    "@babel/preset-react": "^7.0.0",
    "babel-core": "^7.0.0-0",
    "babel-eslint": "^10.0.1",
    "babel-jest": "^23.6.0",
    "babel-loader": "^8.0.4",
    "eslint": "^5.9.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-config-prettier": "^3.3.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-jsx-a11y": "^6.1.2",
    "eslint-plugin-prettier": "^3.0.0",
    "eslint-plugin-react": "^7.11.1",
    "jest-cli": "^23.6.0",
    "prettier": "^1.15.2",
    "regenerator-runtime": "^0.13.1",
    "webpack": "^4.26.0",
    "webpack-bundle-analyzer": "^3.0.3",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.10"
  },
  "dependencies": {
    "@material-ui/core": "^3.5.1",
    "@material-ui/icons": "^3.0.1",
    "axios": "^0.18.0",
    "flux": "^3.1.3",
    "immutable": "^4.0.0-rc.12",
    "prop-types": "^15.5.7-alpha.1",
    "react": "^16.7.0-alpha.2",
    "react-dom": "^16.7.0-alpha.2",
    "react-router-dom": "^4.3.1"
  }

License

  • MIT License