Skip to content

Commit 09159c1

Browse files
authored
Feature: Babel + Webpack enhancements (#51)
* chore: move todos into fixture and add async/await * chore: import todo actions separately * chore: update deps * chore: remove uncessary deps * feat: massive babel and webpack rehaul - .babelrc now only contains configuration for server files - webpack-built files are now configured by passing options directly to babel-loader and skipping .babelrc * feat: more babel and webpack improvements
1 parent 40ba6e9 commit 09159c1

21 files changed

+685
-451
lines changed

.babelrc

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"presets": [
3+
[
4+
"env",
5+
{
6+
"targets": {
7+
"node": "current",
8+
"uglify": false
9+
}
10+
}
11+
]
12+
],
13+
"plugins": [
14+
"transform-es2015-modules-commonjs",
15+
"transform-class-properties",
16+
"transform-export-extensions",
17+
"transform-object-rest-spread"
18+
],
19+
"env": {
20+
"test": {
21+
"presets": [
22+
"react"
23+
]
24+
}
25+
}
26+
}

client/index.js

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'babel-polyfill';
21
import './styles';
32
import React from 'react';
43
import ReactDOM from 'react-dom';

common/js/components/common/Loading/index.js

-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import PropTypes from 'prop-types';
44
const Loading = (props) => {
55
const { error, timedOut, pastDelay } = props;
66

7-
console.log(props);
8-
97
if (error) {
108
// When the loader has errored
119
return (

common/js/containers/Todos/index.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { Component } from 'react';
22
import PropTypes from 'prop-types';
33
import { connect } from 'react-redux';
44
import { Helmet } from 'react-helmet';
5-
import * as actions from '@actions/todos';
5+
import { fetchTodos, addTodo, toggleTodo, removeTodo } from '@actions/todos';
66
import { Container } from 'semantic-ui-react';
77
import { TodoList, TodoForm } from '@components/todos';
88

@@ -16,28 +16,28 @@ class TodosContainer extends Component {
1616
const { dispatch, todos: { isFetched } } = this.props;
1717

1818
if (!isFetched) {
19-
dispatch(actions.fetchTodos());
19+
dispatch(fetchTodos());
2020
}
2121
}
2222

2323
submitTodo = text => {
2424
const { dispatch } = this.props;
2525

2626
if (text) {
27-
dispatch(actions.addTodo(text));
27+
dispatch(addTodo(text));
2828
}
2929
};
3030

3131
checkTodo = id => {
3232
const { dispatch } = this.props;
3333

34-
dispatch(actions.toggleTodo(id));
34+
dispatch(toggleTodo(id));
3535
};
3636

3737
removeTodo = id => {
3838
const { dispatch } = this.props;
3939

40-
dispatch(actions.removeTodo(id));
40+
dispatch(removeTodo(id));
4141
};
4242

4343
render() {

common/js/pages/Todos/index.js

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import React, { Component } from 'react';
2-
import Loadable from 'react-loadable';
3-
import { Loading } from '@components/common';
42
import { fetchTodos } from '@actions/todos';
5-
6-
// NOTE: To turn off dynamic imports, import this container normally using:
7-
// import TodosContainer from '@containers/Todos';
8-
const TodosContainer = Loadable({
9-
loader: () => import('../../containers/Todos'),
10-
loading: Loading
11-
});
3+
import TodosContainer from '@containers/Todos';
4+
// NOTE: To turn on dynamic imports, uncomment this
5+
// import Loadable from 'react-loadable';
6+
// import { Loading } from '@components/common';
7+
// const TodosContainer = Loadable({
8+
// loader: () => import('../../containers/Todos'),
9+
// loading: Loading
10+
// });
1211

1312
class TodosPage extends Component {
1413
static fetchData = ({ store }) => {

0 commit comments

Comments
 (0)