From 9c3fc98fc65afb55b35b000fe3b444aa45d4d8d7 Mon Sep 17 00:00:00 2001 From: rmorshea Date: Wed, 14 Jul 2021 19:02:45 -0700 Subject: [PATCH] fix #429 - move client JS to top of src/ dir --- .github/workflows/test.yml | 2 +- .gitignore | 1 + MANIFEST.in | 3 +-- docs/source/custom_js/package-lock.json | 24 ++++++++++++++--- docs/source/custom_js/package.json | 2 +- setup.py | 2 +- src/{idom => }/client/README.md | 0 .../client/idom-logo-square-small.svg | 0 src/{idom => }/client/index.html | 0 src/{idom => }/client/package-lock.json | 0 src/{idom => }/client/package.json | 0 .../packages/idom-app-react/package.json | 0 .../packages/idom-app-react/src/index.js | 0 .../packages/idom-client-react/.gitignore | 0 .../packages/idom-client-react/README.md | 0 .../idom-client-react/package-lock.json | 0 .../packages/idom-client-react/package.json | 0 .../idom-client-react/src/component.js | 0 .../idom-client-react/src/event-to-object.js | 0 .../packages/idom-client-react/src/index.js | 0 .../packages/idom-client-react/src/mount.js | 0 .../packages/idom-client-react/src/utils.js | 0 .../tests/event-to-object.test.js | 0 .../idom-client-react/tests/tooling/dom.js | 0 .../idom-client-react/tests/tooling/setup.js | 0 src/{idom => }/client/snowpack.config.js | 1 + src/idom/__init__.py | 27 ++++++++----------- src/idom/server/utils.py | 2 +- 28 files changed, 39 insertions(+), 25 deletions(-) rename src/{idom => }/client/README.md (100%) rename src/{idom => }/client/idom-logo-square-small.svg (100%) rename src/{idom => }/client/index.html (100%) rename src/{idom => }/client/package-lock.json (100%) rename src/{idom => }/client/package.json (100%) rename src/{idom => }/client/packages/idom-app-react/package.json (100%) rename src/{idom => }/client/packages/idom-app-react/src/index.js (100%) rename src/{idom => }/client/packages/idom-client-react/.gitignore (100%) rename src/{idom => }/client/packages/idom-client-react/README.md (100%) rename src/{idom => }/client/packages/idom-client-react/package-lock.json (100%) rename src/{idom => }/client/packages/idom-client-react/package.json (100%) rename src/{idom => }/client/packages/idom-client-react/src/component.js (100%) rename src/{idom => }/client/packages/idom-client-react/src/event-to-object.js (100%) rename src/{idom => }/client/packages/idom-client-react/src/index.js (100%) rename src/{idom => }/client/packages/idom-client-react/src/mount.js (100%) rename src/{idom => }/client/packages/idom-client-react/src/utils.js (100%) rename src/{idom => }/client/packages/idom-client-react/tests/event-to-object.test.js (100%) rename src/{idom => }/client/packages/idom-client-react/tests/tooling/dom.js (100%) rename src/{idom => }/client/packages/idom-client-react/tests/tooling/setup.js (100%) rename src/{idom => }/client/snowpack.config.js (71%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1234d6ff8..15eb2f04c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -67,7 +67,7 @@ jobs: npm install -g npm@latest npm --version - name: Test Javascript - working-directory: ./src/idom/client + working-directory: ./src/client run: | npm install npm test diff --git a/.gitignore b/.gitignore index 2e8eb32af..75485ddbf 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ pip-wheel-metadata # --- JS --- node_modules +src/idom/client diff --git a/MANIFEST.in b/MANIFEST.in index d780ab7a3..ad0884b13 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,3 @@ -recursive-include src/idom * -recursive-exclude src/idom/client/node_modules * +recursive-include src/idom/client * include requirements/prod.txt include requirements/extras.txt diff --git a/docs/source/custom_js/package-lock.json b/docs/source/custom_js/package-lock.json index 8f9ce2b91..97297dbfc 100644 --- a/docs/source/custom_js/package-lock.json +++ b/docs/source/custom_js/package-lock.json @@ -8,7 +8,7 @@ "name": "idom-docs-example-loader", "version": "1.0.0", "dependencies": { - "idom-client-react": "file:../../../src/idom/client/packages/idom-client-react" + "idom-client-react": "file:../../../src/client/packages/idom-client-react" }, "devDependencies": { "prettier": "^2.2.1", @@ -18,8 +18,26 @@ "rollup-plugin-replace": "^2.2.0" } }, + "../../../src/client/packages/idom-client-react": { + "version": "0.8.3", + "license": "MIT", + "dependencies": { + "fast-json-patch": "^3.0.0-1", + "htm": "^3.0.3" + }, + "devDependencies": { + "jsdom": "16.3.0", + "prettier": "^2.2.1", + "uvu": "^0.5.1" + }, + "peerDependencies": { + "react": "^16.13.1", + "react-dom": "^16.13.1" + } + }, "../../../src/idom/client/packages/idom-client-react": { "version": "0.8.3", + "extraneous": true, "license": "MIT", "dependencies": { "fast-json-patch": "^3.0.0-1", @@ -116,7 +134,7 @@ } }, "node_modules/idom-client-react": { - "resolved": "../../../src/idom/client/packages/idom-client-react", + "resolved": "../../../src/client/packages/idom-client-react", "link": true }, "node_modules/is-core-module": { @@ -319,7 +337,7 @@ } }, "idom-client-react": { - "version": "file:../../../src/idom/client/packages/idom-client-react", + "version": "file:../../../src/client/packages/idom-client-react", "requires": { "fast-json-patch": "^3.0.0-1", "htm": "^3.0.3", diff --git a/docs/source/custom_js/package.json b/docs/source/custom_js/package.json index c6686813a..53edb252d 100644 --- a/docs/source/custom_js/package.json +++ b/docs/source/custom_js/package.json @@ -15,6 +15,6 @@ "rollup-plugin-replace": "^2.2.0" }, "dependencies": { - "idom-client-react": "file:../../../src/idom/client/packages/idom-client-react" + "idom-client-react": "file:../../../src/client/packages/idom-client-react" } } diff --git a/setup.py b/setup.py index c8cddf9e8..f5f8e4a1f 100644 --- a/setup.py +++ b/setup.py @@ -119,7 +119,7 @@ class Command(cls): def run(self): log.info("Installing Javascript...") try: - js_dir = str(package_dir / "client") + js_dir = str(src_dir / "client") npm = shutil.which("npm") # this is required on windows if npm is None: raise RuntimeError("NPM is not installed.") diff --git a/src/idom/client/README.md b/src/client/README.md similarity index 100% rename from src/idom/client/README.md rename to src/client/README.md diff --git a/src/idom/client/idom-logo-square-small.svg b/src/client/idom-logo-square-small.svg similarity index 100% rename from src/idom/client/idom-logo-square-small.svg rename to src/client/idom-logo-square-small.svg diff --git a/src/idom/client/index.html b/src/client/index.html similarity index 100% rename from src/idom/client/index.html rename to src/client/index.html diff --git a/src/idom/client/package-lock.json b/src/client/package-lock.json similarity index 100% rename from src/idom/client/package-lock.json rename to src/client/package-lock.json diff --git a/src/idom/client/package.json b/src/client/package.json similarity index 100% rename from src/idom/client/package.json rename to src/client/package.json diff --git a/src/idom/client/packages/idom-app-react/package.json b/src/client/packages/idom-app-react/package.json similarity index 100% rename from src/idom/client/packages/idom-app-react/package.json rename to src/client/packages/idom-app-react/package.json diff --git a/src/idom/client/packages/idom-app-react/src/index.js b/src/client/packages/idom-app-react/src/index.js similarity index 100% rename from src/idom/client/packages/idom-app-react/src/index.js rename to src/client/packages/idom-app-react/src/index.js diff --git a/src/idom/client/packages/idom-client-react/.gitignore b/src/client/packages/idom-client-react/.gitignore similarity index 100% rename from src/idom/client/packages/idom-client-react/.gitignore rename to src/client/packages/idom-client-react/.gitignore diff --git a/src/idom/client/packages/idom-client-react/README.md b/src/client/packages/idom-client-react/README.md similarity index 100% rename from src/idom/client/packages/idom-client-react/README.md rename to src/client/packages/idom-client-react/README.md diff --git a/src/idom/client/packages/idom-client-react/package-lock.json b/src/client/packages/idom-client-react/package-lock.json similarity index 100% rename from src/idom/client/packages/idom-client-react/package-lock.json rename to src/client/packages/idom-client-react/package-lock.json diff --git a/src/idom/client/packages/idom-client-react/package.json b/src/client/packages/idom-client-react/package.json similarity index 100% rename from src/idom/client/packages/idom-client-react/package.json rename to src/client/packages/idom-client-react/package.json diff --git a/src/idom/client/packages/idom-client-react/src/component.js b/src/client/packages/idom-client-react/src/component.js similarity index 100% rename from src/idom/client/packages/idom-client-react/src/component.js rename to src/client/packages/idom-client-react/src/component.js diff --git a/src/idom/client/packages/idom-client-react/src/event-to-object.js b/src/client/packages/idom-client-react/src/event-to-object.js similarity index 100% rename from src/idom/client/packages/idom-client-react/src/event-to-object.js rename to src/client/packages/idom-client-react/src/event-to-object.js diff --git a/src/idom/client/packages/idom-client-react/src/index.js b/src/client/packages/idom-client-react/src/index.js similarity index 100% rename from src/idom/client/packages/idom-client-react/src/index.js rename to src/client/packages/idom-client-react/src/index.js diff --git a/src/idom/client/packages/idom-client-react/src/mount.js b/src/client/packages/idom-client-react/src/mount.js similarity index 100% rename from src/idom/client/packages/idom-client-react/src/mount.js rename to src/client/packages/idom-client-react/src/mount.js diff --git a/src/idom/client/packages/idom-client-react/src/utils.js b/src/client/packages/idom-client-react/src/utils.js similarity index 100% rename from src/idom/client/packages/idom-client-react/src/utils.js rename to src/client/packages/idom-client-react/src/utils.js diff --git a/src/idom/client/packages/idom-client-react/tests/event-to-object.test.js b/src/client/packages/idom-client-react/tests/event-to-object.test.js similarity index 100% rename from src/idom/client/packages/idom-client-react/tests/event-to-object.test.js rename to src/client/packages/idom-client-react/tests/event-to-object.test.js diff --git a/src/idom/client/packages/idom-client-react/tests/tooling/dom.js b/src/client/packages/idom-client-react/tests/tooling/dom.js similarity index 100% rename from src/idom/client/packages/idom-client-react/tests/tooling/dom.js rename to src/client/packages/idom-client-react/tests/tooling/dom.js diff --git a/src/idom/client/packages/idom-client-react/tests/tooling/setup.js b/src/client/packages/idom-client-react/tests/tooling/setup.js similarity index 100% rename from src/idom/client/packages/idom-client-react/tests/tooling/setup.js rename to src/client/packages/idom-client-react/tests/tooling/setup.js diff --git a/src/idom/client/snowpack.config.js b/src/client/snowpack.config.js similarity index 71% rename from src/idom/client/snowpack.config.js rename to src/client/snowpack.config.js index ac750f064..750b50a33 100644 --- a/src/idom/client/snowpack.config.js +++ b/src/client/snowpack.config.js @@ -1,4 +1,5 @@ module.exports = { workspaceRoot: false, testOptions: { files: ["**/tests/**/*", "**/*.test.*"] }, + buildOptions: { out: "../idom/client" }, }; diff --git a/src/idom/__init__.py b/src/idom/__init__.py index 71efeaf1e..fc6a9d683 100644 --- a/src/idom/__init__.py +++ b/src/idom/__init__.py @@ -22,26 +22,21 @@ __all__ = [ - "run", - "component", - "Component", - "event", - "Events", - "dialect", + "config", "html", + "log", + "web", "hooks", + "Component", + "component", + "Events", + "event", "Layout", - "server", - "Ref", + "VdomDict", "vdom", + "run", + "Ref", + "html_to_vdom", "hotswap", "multiview", - "html_to_vdom", - "VdomDict", - "widgets", - "client", - "install", - "log", - "config", - "web", ] diff --git a/src/idom/server/utils.py b/src/idom/server/utils.py index 410bd7cc4..f24b25711 100644 --- a/src/idom/server/utils.py +++ b/src/idom/server/utils.py @@ -13,7 +13,7 @@ from .proto import ServerFactory -CLIENT_BUILD_DIR = Path(idom.__file__).parent / "client" / "build" +CLIENT_BUILD_DIR = Path(idom.__file__).parent / "client" _SUPPORTED_PACKAGES = [ "sanic",