50 lines
1.8 KiB
Markdown
50 lines
1.8 KiB
Markdown
# Joyent Dashboard Frontend
|
|
|
|
## start
|
|
|
|
```
|
|
npm run start
|
|
```
|
|
|
|
## test
|
|
|
|
```
|
|
npm run test
|
|
```
|
|
|
|
## structure
|
|
|
|
```
|
|
.
|
|
├── src
|
|
│ ├── containers
|
|
│ ├── index.js
|
|
│ ├── root.js
|
|
│ └── state
|
|
│ ├── actions.js
|
|
│ ├── reducers
|
|
│ ├── store.js
|
|
│ └── thunks
|
|
├── static
|
|
├── locales
|
|
├── scripts
|
|
├── test
|
|
├── webpack
|
|
├── .babelrc
|
|
└── .eslintrc
|
|
```
|
|
|
|
- **src/index.js**: Renders `src/root.js` and bootstraps hot module reloading.
|
|
- **src/root.js**: The main component that wraps `react-redux`, `react-router` and `react-hot-loader`.
|
|
- **src/state/store.js**: Exports a function that creates a `redux` store instance with all the middlewares and reducers configured.
|
|
- **src/state/actions.js**: Not only exports all the actions available (declared in the file), but also goes through all the thunks and exports them.
|
|
- **src/state/thunks**: Directory to place thunks so that actions or reducers don't get too confusing.
|
|
- **src/state/reducers**: Each file here represents a reducer scope. So, `state.app` will be controlled in `reducers/app.js`.
|
|
- **locales**: Translation definitions for each locale supported.
|
|
- **scripts**: Utility scripts (e.g. building localizations).
|
|
- **test**: Self explanatory.
|
|
- **webpack**: Webpack configuration for multiple enviroments. Development configuration includes a dev-server and hot module replacement support.
|
|
- **.babelrc**: This babel configuration outputs ES2015 code, so it will produce code only for modern browsers.
|
|
Also, async/await is supported.
|
|
- **.eslintrc**:ESLint configuration. It's basically [semistandard](https://github.com/Flet/semistandard) with `space-before-function-paren` probited;
|