Skip to content

Commit

Permalink
Merge 5f4ed2b into 205aaf9
Browse files Browse the repository at this point in the history
  • Loading branch information
robisson committed Feb 17, 2019
2 parents 205aaf9 + 5f4ed2b commit 5b8bf23
Show file tree
Hide file tree
Showing 177 changed files with 3,336 additions and 3,801 deletions.
20 changes: 0 additions & 20 deletions .babelrc

This file was deleted.

21 changes: 0 additions & 21 deletions .eslintrc

This file was deleted.

14 changes: 0 additions & 14 deletions .flowconfig

This file was deleted.

5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ before_script:
- sleep 15
- yarn
script:
- yarn run prettier
- yarn run lint
- yarn prettier
- yarn test
after_success:
- 'yarn run test:coverage'
- 'yarn test:coverage'
11 changes: 11 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = {
roots: ["<rootDir>/src"],
transform: {
"^.+\\.tsx?$": "ts-jest"
},
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
// Setup Enzyme
snapshotSerializers: ["enzyme-to-json/serializer"],
setupFilesAfterEnv: ["<rootDir>/src/client/setupTest.ts"]
};
121 changes: 64 additions & 57 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,41 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "3.7.0",
"@material-ui/icons": "3.0.1",
"@material-ui/core": "3.9.2",
"@material-ui/icons": "3.0.2",
"@types/axios": "^0.14.0",
"@types/body-parser": "^1.17.0",
"@types/classnames": "^2.2.7",
"@types/morgan": "^1.7.35",
"@types/passport": "^1.0.0",
"@types/passport-facebook-token": "^0.4.33",
"@types/react-facebook-login": "^4.1.0",
"@types/react-redux": "^7.0.1",
"@types/react-router": "^4.4.4",
"@types/react-router-dom": "^4.3.1",
"@types/redux": "^3.6.0",
"@types/webpack": "^4.4.24",
"axios": "0.18.0",
"bcrypt-nodejs": "0.0.3",
"body-parser": "1.18.3",
"cookie-parser": "1.4.3",
"cookie-parser": "1.4.4",
"cors": "2.8.5",
"csrf": "3.0.6",
"dotenv": "6.2.0",
"express": "4.16.4",
"immutability-helper": "2.9.0",
"immutability-helper": "3.0.0",
"jsonwebtoken": "8.4.0",
"mongoose": "5.4.0",
"mongoose": "5.4.13",
"multer": "1.4.1",
"passport": "0.4.0",
"passport-facebook-token": "3.3.0",
"passport-facebook-token": "^3.3.0",
"passport-jwt": "4.0.0",
"passport-local": "1.0.0",
"prop-types": "15.6.2",
"react": "16.7.0",
"prop-types": "15.7.2",
"react": "16.8.2",
"react-dnd": "7.0.2",
"react-dnd-html5-backend": "7.0.2",
"react-dom": "16.7.0",
"react-dom": "16.8.2",
"react-facebook-login": "4.1.1",
"react-jss": "8.6.1",
"react-redux": "6.0.0",
Expand All @@ -36,75 +48,70 @@
"uuid": "3.3.2"
},
"scripts": {
"start-js": "react-scripts start",
"start": "npm-run-all -p watch-css start-js",
"server": "npm-run-all -p lint:watch webpack babel-node-js",
"webpack": "webpack --watch",
"flow": "flow check",
"build": "npm run build-css && react-scripts build",
"server": "npm-run-all -p webpack dev",
"test": "jest --ci --verbose --forceExit --detectOpenHandles --coverage --env=jsdom",
"test:dev": "jest --ci --verbose --env=jsdom --watch",
"test:coverage": "cat ./coverage/lcov.info | coveralls",
"babel-node-js": "nodemon --exec babel-node src/server/server.js",
"lint": "esw webpack.config.* src --color",
"lint:watch": "npm run lint -- --watch",
"analyze": "webpack --profile --json > stats.json && webpack-bundle-analyzer stats.json -m server",
"prettier": "prettier --write src/**/*.js",
"compile": "babel src --out-dir .compiled --source-maps --watch",
"apidoc": "apidoc -i ./src/server -o apidoc/",
"check": "npm-check"
"dev": "nodemon --watch src/ --exec ts-node src/server/server.ts",
"webpack": "webpack --watch"
},
"devDependencies": {
"@babel/cli": "7.2.3",
"@babel/core": "7.2.2",
"@babel/node": "7.2.2",
"@babel/plugin-proposal-class-properties": "7.2.3",
"@babel/plugin-proposal-decorators": "7.2.3",
"@babel/plugin-proposal-export-namespace-from": "7.2.0",
"@babel/plugin-proposal-function-sent": "7.2.0",
"@babel/plugin-proposal-json-strings": "7.2.0",
"@babel/plugin-proposal-numeric-separator": "7.2.0",
"@babel/plugin-proposal-throw-expressions": "7.2.0",
"@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/plugin-syntax-import-meta": "7.2.0",
"@babel/polyfill": "7.2.5",
"@babel/preset-env": "7.2.3",
"@babel/preset-flow": "7.0.0",
"@babel/preset-react": "7.0.0",
"@types/bcrypt-nodejs": "^0.0.30",
"@types/cookie-parser": "^1.4.1",
"@types/cors": "^2.8.4",
"@types/csrf": "^1.3.2",
"@types/dotenv": "^6.1.0",
"@types/enzyme": "^3.1.18",
"@types/enzyme-adapter-react-16": "^1.0.4",
"@types/enzyme-to-json": "^1.5.2",
"@types/express": "^4.16.1",
"@types/jest": "^24.0.5",
"@types/jsonwebtoken": "^8.3.0",
"@types/material-ui": "^0.21.6",
"@types/mongodb": "^3.1.19",
"@types/mongoose": "^5.3.17",
"@types/multer": "^1.3.7",
"@types/passport-local": "^1.0.33",
"@types/react": "^16.8.3",
"@types/react-dom": "^16.8.2",
"@types/react-jss": "^8.6.2",
"@types/redux-test-utils": "^0.2.0",
"@types/uuid": "^3.4.4",
"apidoc": "0.17.7",
"axios-mock-adapter": "1.15.0",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "10.0.1",
"babel-jest": "23.6.0",
"babel-loader": "8.0.4",
"axios-mock-adapter": "1.16.0",
"chai": "4.2.0",
"chai-http": "4.2.0",
"chai-http": "4.2.1",
"coveralls": "3.0.2",
"cross-env": "5.2.0",
"enzyme": "3.8.0",
"enzyme-adapter-react-16": "1.7.1",
"enzyme-adapter-react-16": "1.9.1",
"enzyme-to-json": "3.3.5",
"eslint": "5.10.0",
"eslint-plugin-flow-vars": "0.5.0",
"eslint-plugin-flowtype": "3.2.0",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-jsx-a11y": "6.1.2",
"eslint-plugin-react": "7.11.1",
"eslint": "5.14.0",
"eslint-plugin-import": "2.16.0",
"eslint-plugin-jsx-a11y": "6.2.1",
"eslint-plugin-react": "7.12.4",
"eslint-watch": "4.0.2",
"flow-bin": "0.89.0",
"jest": "23.6.0",
"jest-localstorage-mock": "2.3.0",
"jest": "24.1.0",
"jest-localstorage-mock": "2.4.0",
"mocha": "5.2.0",
"morgan": "1.9.1",
"node-sass-chokidar": "1.3.4",
"npm-check": "5.9.0",
"npm-run-all": "4.1.5",
"nyc": "13.1.0",
"prettier": "1.15.3",
"redux-devtools-extension": "2.13.7",
"nyc": "13.2.0",
"prettier": "1.16.4",
"redux-devtools-extension": "2.13.8",
"redux-test-utils": "0.3.0",
"webpack": "4.28.1",
"source-map-loader": "^0.2.4",
"ts-jest": "^23.10.5",
"ts-loader": "^5.3.3",
"ts-node": "^8.0.2",
"typescript": "^3.3.3",
"webpack": "4.29.3",
"webpack-bundle-analyzer": "3.0.3",
"webpack-cli": "3.1.2"
"webpack-cli": "3.2.3"
}
}
7 changes: 3 additions & 4 deletions src/client/Root.js → src/client/Root.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// @flow
import * as React from "react";
import configureStore from "./configureStore";
import { loginSuccess } from "./actions/Login";
import UniversalProvider from "./UniversalProvider";
import { type Store } from "redux";
import { Store } from "redux";

import { MuiThemeProvider, createMuiTheme } from "@material-ui/core/styles";

Expand All @@ -14,10 +13,10 @@ const theme = createMuiTheme({
});

const store: Store = configureStore();
let stateLocalStorage: string = window.localStorage.getItem("state");
let stateLocalStorage: string = window.localStorage.getItem("state") as string;

if (stateLocalStorage) {
let state: Object = JSON.parse(stateLocalStorage);
let state: any = JSON.parse(stateLocalStorage);
let user: Object = state.userReducer.user;

if (user !== undefined && Object.keys(user).length) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import React from "react";
import toJson from "enzyme-to-json";
import "./setupTest";
import * as React from "react";
import UniversalProvider from "./UniversalProvider";
import {shallow} from "enzyme";
import { Provider } from "react-redux";
Expand All @@ -11,6 +9,6 @@ describe("<UniversalProvider /> Component", () => {
it("should to render a Provider component", () => {
wrapper = shallow(<UniversalProvider />);
expect(wrapper.type()).toEqual(Provider);
expect(toJson(wrapper)).toMatchSnapshot();
expect(wrapper).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
// @flow
import * as React from "react";
import { Provider } from "react-redux";
import RouterFactory from "./routes/RouterFactory";

type Props = {
server: boolean,
location: string,
store: Object
};
interface IUniversalProvider {
server: boolean;
location: string;
store: any;
}

const UniversalProvider: Function = ({
const UniversalProvider: React.StatelessComponent<any> = ({
server = false,
location,
store
}: Props): React.Element<Provider> => {
}: IUniversalProvider) => {
return (
<Provider store={store}>
<RouterFactory location={location} server={server} />
Expand Down
35 changes: 35 additions & 0 deletions src/client/actions/Board.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import actionsType, {
ADD_BOARD_LOADING,
ADD_BOARD_LOADED,
ADD_BOARD_ERROR
} from "./actionsType";
import BoardApi from "../api/BoardApi";
import { Dispatch } from "redux";

export function listAllBoards(idUser: Number): any {
return (dispatch: Dispatch) => {
dispatch({ type: actionsType.BOARDS_LOADING });

return BoardApi.listAllByUser(idUser)
.then(({ data: { success, boards } }: any) => {
dispatch({ type: actionsType.BOARDS_LOADED_SUCCESS, success, boards });
})
.catch(data => {
dispatch({ type: actionsType.BOARDS_LOADING_ERROR, data });
});
};
}

export function addBoard(name: String): any {
return (dispatch: Dispatch) => {
dispatch({ type: ADD_BOARD_LOADING });

return BoardApi.addBoard(name)
.then(({ data: { success, board } }) => {
dispatch({ type: ADD_BOARD_LOADED, success, board });
})
.catch(data => {
dispatch({ type: ADD_BOARD_ERROR, data });
});
};
}

0 comments on commit 5b8bf23

Please sign in to comment.