From 4f70e5404f4b0a3f80dc65486b0f837398b483df Mon Sep 17 00:00:00 2001 From: SamR1 Date: Mon, 25 Dec 2017 21:17:47 +0100 Subject: [PATCH] Makefile --- Makefile | 16 ++++++++++++++++ Makefile.config | 15 +++++++++++++++ mpwo_client/package.json | 2 +- package.json | 29 +++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 Makefile create mode 100644 Makefile.config create mode 100644 package.json diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..dd8115e5 --- /dev/null +++ b/Makefile @@ -0,0 +1,16 @@ +include Makefile.config +-include Makefile.custom.config +.SILENT: + +make-p: + # Launch all P targets in parallel and exit as soon as one exits. + set -m; (for p in $(P); do ($(MAKE) $$p || kill 0)& done; wait) + +serve-python: + $(FLASK) run --with-threads -h $(HOST) -p $(API_PORT) + +serve-react: + $(NPM) start + +serve: + $(MAKE) P="serve-react serve-python" make-p diff --git a/Makefile.config b/Makefile.config new file mode 100644 index 00000000..bec30320 --- /dev/null +++ b/Makefile.config @@ -0,0 +1,15 @@ +HOST = 0.0.0.0 +API_PORT = 5000 + +export REACT_APP_API_URL ?= http://$(HOST):$(API_PORT)/api/ +export FLASK_APP ?= $(PWD)/mpwo_api/server.py + +# Python env +PYTHON_VERSION ?= python +VENV = $(PWD)/mpwo_api/venv +PYTHON = $(VENV)/bin/python +FLASK = $(VENV)/bin/flask + +# Node env +NODE_MODULES = $(PWD)/mpwo_client/node_modules +NPM ?= yarn --modules-folder mpwo_client/node_modules/ diff --git a/mpwo_client/package.json b/mpwo_client/package.json index c7864fc8..7661c332 100644 --- a/mpwo_client/package.json +++ b/mpwo_client/package.json @@ -14,7 +14,7 @@ "redux-thunk": "^2.2.0" }, "scripts": { - "start": "react-scripts start", + "start": "cd mpwo_client && react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject", diff --git a/package.json b/package.json new file mode 100644 index 00000000..5984e8ce --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "mpwo_client", + "version": "0.1.0", + "private": true, + "dependencies": { + "history": "^4.7.2", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-redux": "^5.0.6", + "react-router-dom": "^4.2.2", + "react-router-redux": "^5.0.0-alpha.9", + "react-scripts": "1.0.17", + "redux": "^3.7.2", + "redux-thunk": "^2.2.0" + }, + "scripts": { + "start": "cd mpwo_client && react-scripts start", + "build": "cd mpwo_client && react-scripts build", + "test": "cd mpwo_client && react-scripts test --env=jsdom", + "eject": "cd mpwo_client && react-scripts eject", + "lint": "cd mpwo_client && eslint --cache --ext .jsx --ext .js src" + }, + "devDependencies": { + "babel-eslint": "^8.0.3", + "eslint": "^4.13.1", + "eslint-plugin-import": "^2.8.0", + "eslint-plugin-react": "^7.5.1" + } +}