diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..304901598 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,39 @@ +dist: xenial +language: python + +cache: apt +before_install: + - sudo apt update + - sudo apt install curl + - sudo apt install nodejs npm + - npm install -g yarn + - sudo curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python + - source $HOME/.poetry/env +install: + - bash scripts/install.sh + - bash scripts/build.sh + +script: cd $WORK_DIR && eval $TEST_CMD + +matrix: + include: + - name: "black" + python: 3.7 + env: + - WORK_DIR="./" + - TEST_CMD="black --verbose ." + - name: "flake8" + python: 3.7 + env: + - WORK_DIR="src/py" + - TEST_CMD="flake8" + - name: "python-3.6" + python: 3.6 + env: + - WORK_DIR="src/py" + - TEST_CMD="pytest" + - name: "python-3.7" + python: 3.7 + env: + - WORK_DIR="src/py" + - TEST_CMD="pytest" diff --git a/README.md b/README.md index a179bc6bd..d040cba8a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # iDOM +Build Status +Code style: black +License: MIT + Libraries for defining and controlling interactive webpages with Python 3.6 and above. * [Python Documentation](https://github.com/rmorshea/idom/blob/master/idom/py/README.md) diff --git a/scripts/build.sh b/scripts/build.sh index cfe69ba50..209fb492e 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,4 +1,6 @@ -cd idom +set -e + +cd src # clean up possible old install if [ -d "py/idom/static" ]; then diff --git a/scripts/install.sh b/scripts/install.sh index 7c502f048..c8ab46a24 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -1,3 +1,20 @@ -cd purly/py -pip install . -cd ../ +set -e + +# Javascript +# ========== + +cd src/js + +yarn +yarn setup + +cd ../../ + +# Python +# ====== + +cd src/py + +poetry install + +cd ../../ diff --git a/idom/js/.gitignore b/src/js/.gitignore similarity index 100% rename from idom/js/.gitignore rename to src/js/.gitignore diff --git a/idom/js/README.md b/src/js/README.md similarity index 100% rename from idom/js/README.md rename to src/js/README.md diff --git a/idom/js/lerna.json b/src/js/lerna.json similarity index 100% rename from idom/js/lerna.json rename to src/js/lerna.json diff --git a/idom/js/package.json b/src/js/package.json similarity index 100% rename from idom/js/package.json rename to src/js/package.json diff --git a/idom/js/packages/idom-jupyter-widget-hook/README.md b/src/js/packages/idom-jupyter-widget-hook/README.md similarity index 100% rename from idom/js/packages/idom-jupyter-widget-hook/README.md rename to src/js/packages/idom-jupyter-widget-hook/README.md diff --git a/idom/js/packages/idom-jupyter-widget-hook/package.json b/src/js/packages/idom-jupyter-widget-hook/package.json similarity index 100% rename from idom/js/packages/idom-jupyter-widget-hook/package.json rename to src/js/packages/idom-jupyter-widget-hook/package.json diff --git a/idom/js/packages/idom-jupyter-widget-hook/public/favicon.ico b/src/js/packages/idom-jupyter-widget-hook/public/favicon.ico similarity index 100% rename from idom/js/packages/idom-jupyter-widget-hook/public/favicon.ico rename to src/js/packages/idom-jupyter-widget-hook/public/favicon.ico diff --git a/idom/js/packages/idom-jupyter-widget-hook/public/index.html b/src/js/packages/idom-jupyter-widget-hook/public/index.html similarity index 100% rename from idom/js/packages/idom-jupyter-widget-hook/public/index.html rename to src/js/packages/idom-jupyter-widget-hook/public/index.html diff --git a/idom/js/packages/idom-jupyter-widget-hook/public/manifest.json b/src/js/packages/idom-jupyter-widget-hook/public/manifest.json similarity index 100% rename from idom/js/packages/idom-jupyter-widget-hook/public/manifest.json rename to src/js/packages/idom-jupyter-widget-hook/public/manifest.json diff --git a/idom/js/packages/idom-jupyter-widget-hook/src/index.js b/src/js/packages/idom-jupyter-widget-hook/src/index.js similarity index 100% rename from idom/js/packages/idom-jupyter-widget-hook/src/index.js rename to src/js/packages/idom-jupyter-widget-hook/src/index.js diff --git a/idom/js/packages/idom-layout/.babelrc b/src/js/packages/idom-layout/.babelrc similarity index 100% rename from idom/js/packages/idom-layout/.babelrc rename to src/js/packages/idom-layout/.babelrc diff --git a/idom/js/packages/idom-layout/.eslintrc.js b/src/js/packages/idom-layout/.eslintrc.js similarity index 100% rename from idom/js/packages/idom-layout/.eslintrc.js rename to src/js/packages/idom-layout/.eslintrc.js diff --git a/idom/js/packages/idom-layout/README.md b/src/js/packages/idom-layout/README.md similarity index 100% rename from idom/js/packages/idom-layout/README.md rename to src/js/packages/idom-layout/README.md diff --git a/idom/js/packages/idom-layout/config/jest/test-setup.js b/src/js/packages/idom-layout/config/jest/test-setup.js similarity index 100% rename from idom/js/packages/idom-layout/config/jest/test-setup.js rename to src/js/packages/idom-layout/config/jest/test-setup.js diff --git a/idom/js/packages/idom-layout/config/jest/test-shim.js b/src/js/packages/idom-layout/config/jest/test-shim.js similarity index 100% rename from idom/js/packages/idom-layout/config/jest/test-shim.js rename to src/js/packages/idom-layout/config/jest/test-shim.js diff --git a/idom/js/packages/idom-layout/package.json b/src/js/packages/idom-layout/package.json similarity index 100% rename from idom/js/packages/idom-layout/package.json rename to src/js/packages/idom-layout/package.json diff --git a/idom/js/packages/idom-layout/src/index.js b/src/js/packages/idom-layout/src/index.js similarity index 100% rename from idom/js/packages/idom-layout/src/index.js rename to src/js/packages/idom-layout/src/index.js diff --git a/idom/js/packages/idom-simple-client/README.md b/src/js/packages/idom-simple-client/README.md similarity index 100% rename from idom/js/packages/idom-simple-client/README.md rename to src/js/packages/idom-simple-client/README.md diff --git a/idom/js/packages/idom-simple-client/package.json b/src/js/packages/idom-simple-client/package.json similarity index 100% rename from idom/js/packages/idom-simple-client/package.json rename to src/js/packages/idom-simple-client/package.json diff --git a/idom/js/packages/idom-simple-client/public/favicon.ico b/src/js/packages/idom-simple-client/public/favicon.ico similarity index 100% rename from idom/js/packages/idom-simple-client/public/favicon.ico rename to src/js/packages/idom-simple-client/public/favicon.ico diff --git a/idom/js/packages/idom-simple-client/public/index.html b/src/js/packages/idom-simple-client/public/index.html similarity index 100% rename from idom/js/packages/idom-simple-client/public/index.html rename to src/js/packages/idom-simple-client/public/index.html diff --git a/idom/js/packages/idom-simple-client/public/manifest.json b/src/js/packages/idom-simple-client/public/manifest.json similarity index 100% rename from idom/js/packages/idom-simple-client/public/manifest.json rename to src/js/packages/idom-simple-client/public/manifest.json diff --git a/idom/js/packages/idom-simple-client/src/index.css b/src/js/packages/idom-simple-client/src/index.css similarity index 100% rename from idom/js/packages/idom-simple-client/src/index.css rename to src/js/packages/idom-simple-client/src/index.css diff --git a/idom/js/packages/idom-simple-client/src/index.js b/src/js/packages/idom-simple-client/src/index.js similarity index 86% rename from idom/js/packages/idom-simple-client/src/index.js rename to src/js/packages/idom-simple-client/src/index.js index 1d1a713a5..ae9bce173 100644 --- a/idom/js/packages/idom-simple-client/src/index.js +++ b/src/js/packages/idom-simple-client/src/index.js @@ -17,4 +17,4 @@ if (secure) { let endpoint = protocol + "//" + url.join("/"); const mount = document.getElementById("root"); -ReactDOM.render(, mount); +ReactDOM.render(, mount); diff --git a/idom/js/yarn.lock b/src/js/yarn.lock similarity index 100% rename from idom/js/yarn.lock rename to src/js/yarn.lock diff --git a/idom/py/.flake8 b/src/py/.flake8 similarity index 100% rename from idom/py/.flake8 rename to src/py/.flake8 diff --git a/idom/py/.gitignore b/src/py/.gitignore similarity index 100% rename from idom/py/.gitignore rename to src/py/.gitignore diff --git a/idom/py/.pre-commit-config.yaml b/src/py/.pre-commit-config.yaml similarity index 100% rename from idom/py/.pre-commit-config.yaml rename to src/py/.pre-commit-config.yaml diff --git a/idom/py/LICENSE b/src/py/LICENSE similarity index 100% rename from idom/py/LICENSE rename to src/py/LICENSE diff --git a/idom/py/README.md b/src/py/README.md similarity index 100% rename from idom/py/README.md rename to src/py/README.md diff --git a/idom/py/idom/__init__.py b/src/py/idom/__init__.py similarity index 97% rename from idom/py/idom/__init__.py rename to src/py/idom/__init__.py index e129b0a45..0e50b6482 100644 --- a/idom/py/idom/__init__.py +++ b/src/py/idom/__init__.py @@ -18,6 +18,7 @@ "Events", "Layout", "node", + "nodes", "SimpleServer", "SimpleWebServer", "State", diff --git a/idom/py/idom/bunch.py b/src/py/idom/bunch.py similarity index 95% rename from idom/py/idom/bunch.py rename to src/py/idom/bunch.py index 6671ed697..4ca6dc7c8 100644 --- a/idom/py/idom/bunch.py +++ b/src/py/idom/bunch.py @@ -1,6 +1,6 @@ from collections.abc import Mapping, MutableMapping -from typing import Iterator, Tuple, Any +from typing import Iterator, Any class StaticBunch(Mapping): diff --git a/idom/py/idom/display.py b/src/py/idom/display.py similarity index 100% rename from idom/py/idom/display.py rename to src/py/idom/display.py diff --git a/idom/py/idom/element.py b/src/py/idom/element.py similarity index 100% rename from idom/py/idom/element.py rename to src/py/idom/element.py diff --git a/idom/py/idom/helpers.py b/src/py/idom/helpers.py similarity index 100% rename from idom/py/idom/helpers.py rename to src/py/idom/helpers.py diff --git a/idom/py/idom/layout.py b/src/py/idom/layout.py similarity index 100% rename from idom/py/idom/layout.py rename to src/py/idom/layout.py diff --git a/idom/py/idom/nodes.py b/src/py/idom/nodes.py similarity index 100% rename from idom/py/idom/nodes.py rename to src/py/idom/nodes.py diff --git a/idom/py/idom/py.typed b/src/py/idom/py.typed similarity index 100% rename from idom/py/idom/py.typed rename to src/py/idom/py.typed diff --git a/idom/py/idom/server/__init__.py b/src/py/idom/server/__init__.py similarity index 100% rename from idom/py/idom/server/__init__.py rename to src/py/idom/server/__init__.py diff --git a/idom/py/idom/server/base.py b/src/py/idom/server/base.py similarity index 100% rename from idom/py/idom/server/base.py rename to src/py/idom/server/base.py diff --git a/idom/py/idom/server/simple.py b/src/py/idom/server/simple.py similarity index 100% rename from idom/py/idom/server/simple.py rename to src/py/idom/server/simple.py diff --git a/idom/py/idom/utils.py b/src/py/idom/utils.py similarity index 100% rename from idom/py/idom/utils.py rename to src/py/idom/utils.py diff --git a/idom/py/mypy.ini b/src/py/mypy.ini similarity index 100% rename from idom/py/mypy.ini rename to src/py/mypy.ini diff --git a/idom/py/poetry.lock b/src/py/poetry.lock similarity index 100% rename from idom/py/poetry.lock rename to src/py/poetry.lock diff --git a/idom/py/pyproject.toml b/src/py/pyproject.toml similarity index 100% rename from idom/py/pyproject.toml rename to src/py/pyproject.toml diff --git a/idom/py/scripts/setup-linux-dev.sh b/src/py/scripts/setup-linux-dev.sh similarity index 100% rename from idom/py/scripts/setup-linux-dev.sh rename to src/py/scripts/setup-linux-dev.sh diff --git a/idom/py/tests/__init__.py b/src/py/tests/__init__.py similarity index 100% rename from idom/py/tests/__init__.py rename to src/py/tests/__init__.py diff --git a/idom/py/tests/conftest.py b/src/py/tests/conftest.py similarity index 100% rename from idom/py/tests/conftest.py rename to src/py/tests/conftest.py diff --git a/idom/py/tests/test_element.py b/src/py/tests/test_element.py similarity index 100% rename from idom/py/tests/test_element.py rename to src/py/tests/test_element.py diff --git a/idom/py/tests/test_helpers.py b/src/py/tests/test_helpers.py similarity index 100% rename from idom/py/tests/test_helpers.py rename to src/py/tests/test_helpers.py diff --git a/idom/py/tests/test_layout.py b/src/py/tests/test_layout.py similarity index 100% rename from idom/py/tests/test_layout.py rename to src/py/tests/test_layout.py diff --git a/idom/py/tests/utils.py b/src/py/tests/utils.py similarity index 100% rename from idom/py/tests/utils.py rename to src/py/tests/utils.py