From e25810e49dade4d17d9c79bfca4d72bca57f36fa Mon Sep 17 00:00:00 2001 From: Duc Trung LE Date: Tue, 27 Feb 2024 17:32:03 +0100 Subject: [PATCH 1/2] Bump jupytercad --- .github/workflows/build.yml | 2 +- .../workflows/update_galata_references.yaml | 2 +- jupytercad_freecad/fcstd_ydoc.py | 40 +- package.json | 10 +- pyproject.toml | 5 +- yarn.lock | 427 +++++++++++++++--- 6 files changed, 389 insertions(+), 97 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c5b4522..685bd55 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,7 +107,7 @@ jobs: shell: bash -l {0} run: | set -eux - pip install "jupyterlab>=4.0.0,<5" "jupytercad>=1.0.0a3" jupytercad_freecad*.whl + pip install "jupyterlab>=4.0.0,<5" "jupytercad>=2.0.0a1" jupytercad_freecad*.whl - name: Install dependencies shell: bash -l {0} diff --git a/.github/workflows/update_galata_references.yaml b/.github/workflows/update_galata_references.yaml index a5e7b56..45dc544 100644 --- a/.github/workflows/update_galata_references.yaml +++ b/.github/workflows/update_galata_references.yaml @@ -56,7 +56,7 @@ jobs: shell: bash -l {0} run: | whereis python - pip install "jupyterlab>=4.0.0,<5" "jupytercad>=1.0.0a3" jupytercad_freecad*.whl + pip install "jupyterlab>=4.0.0,<5" "jupytercad>=2.0.0a1" jupytercad_freecad*.whl - name: Install dependencies shell: bash -l {0} diff --git a/jupytercad_freecad/fcstd_ydoc.py b/jupytercad_freecad/fcstd_ydoc.py index c9ee276..134d417 100644 --- a/jupytercad_freecad/fcstd_ydoc.py +++ b/jupytercad_freecad/fcstd_ydoc.py @@ -1,8 +1,7 @@ -import json from typing import Any, Callable from functools import partial -import y_py as Y +from pycrdt import Array, Map, Text from jupyter_ydoc.ybasedoc import YBaseDoc from .freecad.loader import FCStd @@ -11,23 +10,23 @@ class YFCStd(YBaseDoc): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self._ysource = self._ydoc.get_text("source") - self._yobjects = self._ydoc.get_array("objects") - self._yoptions = self._ydoc.get_map("options") - self._ymeta = self._ydoc.get_map("metadata") + self._ydoc["source"] = self._ysource = Text() + self._ydoc["objects"] = self._yobjects = Array() + self._ydoc["options"] = self._yoptions = Map() + self._ydoc["metadata"] = self._ymetadata = Map() self._virtual_file = FCStd() @property - def objects(self) -> Y.YArray: + def objects(self) -> Array: return self._yobjects def version(self) -> str: return "0.1.0" def get(self): - fc_objects = json.loads(self._yobjects.to_json()) - options = json.loads(self._yoptions.to_json()) - meta = json.loads(self._ymeta.to_json()) + fc_objects = self._yobjects.to_py() + options = self._yoptions.to_py() + meta = self._ymetadata.to_py() self._virtual_file.save(fc_objects, options, meta) return self._virtual_file.sources @@ -38,16 +37,15 @@ def set(self, value): objects = [] for obj in virtual_file.objects: - objects.append(Y.YMap(obj)) - with self._ydoc.begin_transaction() as t: - length = len(self._yobjects) - self._yobjects.delete_range(t, 0, length) - # workaround for https://github.com/y-crdt/ypy/issues/126: - # self._yobjects.extend(t, objects) - for o in objects: - self._yobjects.append(t, o) - self._yoptions.update(t, virtual_file.options.items()) - self._ymeta.update(t, virtual_file.metadata.items()) + objects.append(Map(obj)) + self._yobjects.clear() + self._yobjects.extend(objects) + + self._yoptions.clear() + self._yoptions.update(virtual_file.options) + + self._ymetadata.clear() + self._ymetadata.update(virtual_file.metadata) def observe(self, callback: Callable[[str, Any], None]): self.unobserve() @@ -63,6 +61,6 @@ def observe(self, callback: Callable[[str, Any], None]): self._subscriptions[self._yoptions] = self._yoptions.observe_deep( partial(callback, "options") ) - self._subscriptions[self._ymeta] = self._ymeta.observe_deep( + self._subscriptions[self._ymetadata] = self._ymetadata.observe_deep( partial(callback, "meta") ) diff --git a/package.json b/package.json index 16c148b..a35a4a5 100644 --- a/package.json +++ b/package.json @@ -51,11 +51,11 @@ "watch:labextension": "jupyter labextension watch ." }, "dependencies": { - "@jupyter/collaboration": "^1.0.0", - "@jupyter/docprovider": "^1.0.0", - "@jupytercad/base": "^1.0.0", - "@jupytercad/jupytercad-core": "^1.0.0", - "@jupytercad/schema": "^1.0.0", + "@jupyter/collaboration": "^2.0.0", + "@jupyter/docprovider": "^2.0.0", + "@jupytercad/base": "^2.0.0-alpha.1", + "@jupytercad/jupytercad-core": "^2.0.0-alpha.1", + "@jupytercad/schema": "^2.0.0-alpha.1", "@jupyterlab/application": "^4.0.0" }, "devDependencies": { diff --git a/pyproject.toml b/pyproject.toml index 2645d82..5cea7fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,9 +27,8 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ - "jupyter_ydoc>=1.1.0,<2", - "y-py>=0.6.0,<0.7", - "jupytercad_core>=1.0.0,<2", + "jupyter_ydoc>=2,<3", + "jupytercad_core>=2.0.0a1,<3", ] dynamic = ["version", "description", "authors", "urls", "keywords"] diff --git a/yarn.lock b/yarn.lock index cce61c0..f963309 100644 --- a/yarn.lock +++ b/yarn.lock @@ -792,45 +792,68 @@ __metadata: languageName: node linkType: hard -"@jupyter/collaboration@npm:^1.0.0": - version: 1.2.0 - resolution: "@jupyter/collaboration@npm:1.2.0" +"@jupyter/collaboration@npm:^2.0.0": + version: 2.0.2 + resolution: "@jupyter/collaboration@npm:2.0.2" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.7.0 - "@jupyter/docprovider": ^1.2.0 - "@jupyterlab/apputils": ^4.0.0 - "@jupyterlab/coreutils": ^6.0.0 - "@jupyterlab/services": ^7.0.0 - "@jupyterlab/ui-components": ^4.0.0 + "@jupyter/docprovider": ^2.0.2 + "@jupyterlab/apputils": ^4.0.5 + "@jupyterlab/coreutils": ^6.0.5 + "@jupyterlab/services": ^7.0.5 + "@jupyterlab/ui-components": ^4.0.5 "@lumino/coreutils": ^2.1.0 "@lumino/virtualdom": ^2.0.0 "@lumino/widgets": ^2.1.0 react: ^18.2.0 y-protocols: ^1.0.5 yjs: ^13.5.40 - checksum: a20ce037b63bb8fa9bc0b79345ebd4ec3e6ae3043cfaaa5ee215bcdb08ae47961d0a50ab77c135be5c8b19b6fc3f7ac93da3955db55b802c6ce0e5c9141886b1 + checksum: e45f7e0d6fd8d45a5df48da5cce74c7b9b64934af7276a4d29431d2c554ac69c3625452dad455457f62cc1d5e5d9a292971a7740429c9a68d8b00cf60a46898c languageName: node linkType: hard -"@jupyter/docprovider@npm:^1.0.0, @jupyter/docprovider@npm:^1.2.0": - version: 1.2.0 - resolution: "@jupyter/docprovider@npm:1.2.0" +"@jupyter/docprovider@npm:^2.0.0, @jupyter/docprovider@npm:^2.0.2": + version: 2.0.2 + resolution: "@jupyter/docprovider@npm:2.0.2" dependencies: - "@jupyter/ydoc": ^1.0.2 - "@jupyterlab/coreutils": ^6.0.0 - "@jupyterlab/services": ^7.0.0 + "@jupyter/ydoc": ^1.1.0-a0 + "@jupyterlab/coreutils": ^6.0.5 + "@jupyterlab/services": ^7.0.5 "@lumino/coreutils": ^2.1.0 "@lumino/disposable": ^2.1.0 "@lumino/signaling": ^2.1.0 y-protocols: ^1.0.5 y-websocket: ^1.3.15 yjs: ^13.5.40 - checksum: 8522dbb61a2e95162ad98a5377cb4d8defd7c88a7d51c4e74f67691f9cb00a0281e7b450c38af33f8aa17ca4b9c8bd76a46e0a8eae7afebe5fba2ae0f0df8b7b + checksum: 431d11e592bdb653d0b57faa5953edb731acbbb82cce49cc0525185afc1c98fb3bc09640293d005a8d929df135e7dde56d63adde46ea99168fdf597757e00a80 + languageName: node + linkType: hard + +"@jupyter/react-components@npm:^0.15.2": + version: 0.15.2 + resolution: "@jupyter/react-components@npm:0.15.2" + dependencies: + "@jupyter/web-components": ^0.15.2 + "@microsoft/fast-react-wrapper": ^0.3.22 + react: ">=17.0.0 <19.0.0" + checksum: d6d339ff9c2fed1fd5afda612be500d73c4a83eee5470d50e94020dadd1e389a3bf745c7240b0a48edbc6d3fdacec93367b7b5e40588f2df588419caada705be + languageName: node + linkType: hard + +"@jupyter/web-components@npm:^0.15.2": + version: 0.15.2 + resolution: "@jupyter/web-components@npm:0.15.2" + dependencies: + "@microsoft/fast-colors": ^5.3.1 + "@microsoft/fast-element": ^1.12.0 + "@microsoft/fast-foundation": ^2.49.4 + "@microsoft/fast-web-utilities": ^5.4.1 + checksum: f272ef91de08e28f9414a26dbd2388e1a8985c90f4ab00231978cee49bd5212f812411397a9038d298c8c0c4b41eb28cc86f1127bc7ace309bda8df60c4a87c8 languageName: node linkType: hard -"@jupyter/ydoc@npm:^0.3.4 || ^1.0.2, @jupyter/ydoc@npm:^1.0.2, @jupyter/ydoc@npm:^1.1.1": +"@jupyter/ydoc@npm:^1.0.0, @jupyter/ydoc@npm:^1.0.2, @jupyter/ydoc@npm:^1.1.0-a0, @jupyter/ydoc@npm:^1.1.1": version: 1.1.1 resolution: "@jupyter/ydoc@npm:1.1.1" dependencies: @@ -858,15 +881,15 @@ __metadata: languageName: node linkType: hard -"@jupytercad/base@npm:^1.0.0": - version: 1.0.0 - resolution: "@jupytercad/base@npm:1.0.0" +"@jupytercad/base@npm:^2.0.0-alpha.1": + version: 2.0.0-alpha.1 + resolution: "@jupytercad/base@npm:2.0.0-alpha.1" dependencies: "@deathbeds/jupyterlab-rjsf": ^1.1.0 - "@jupyter/docprovider": ^1.0.0 - "@jupyter/ydoc": ^0.3.4 || ^1.0.2 - "@jupytercad/occ-worker": ^1.0.0 - "@jupytercad/schema": ^1.0.0 + "@jupyter/docprovider": ^2.0.0 + "@jupyter/ydoc": ^1.0.0 + "@jupytercad/occ-worker": ^2.0.0-alpha.1 + "@jupytercad/schema": ^2.0.0-alpha.1 "@jupyterlab/application": ^4.0.0 "@jupyterlab/apputils": ^4.0.0 "@jupyterlab/coreutils": ^6.0.0 @@ -893,18 +916,18 @@ __metadata: three-mesh-bvh: ^0.5.17 uuid: ^8.3.2 yjs-widgets: ^0.3.3 - checksum: a3bef3e1d7bd3472104a0b66148ba5153417856efa6d0509eb1e403dfdc4f0ca7f2298171b754cf2538d40701177660ae7b89c98be67c66c8214f8f1828fe5e6 + checksum: cf0753185f237621f6645a9535eea3e36c94e650d04dfdefae23e43f11d237c70f062a1461b75ed79492a41cdb4492e762f1a4094449505c8911e217dd94467e languageName: node linkType: hard -"@jupytercad/jupytercad-core@npm:^1.0.0": - version: 1.0.0 - resolution: "@jupytercad/jupytercad-core@npm:1.0.0" +"@jupytercad/jupytercad-core@npm:^2.0.0-alpha.1": + version: 2.0.0-alpha.1 + resolution: "@jupytercad/jupytercad-core@npm:2.0.0-alpha.1" dependencies: - "@jupyter/docprovider": ^1.0.0 - "@jupytercad/base": ^1.0.0 - "@jupytercad/occ-worker": ^1.0.0 - "@jupytercad/schema": ^1.0.0 + "@jupyter/docprovider": ^2.0.0 + "@jupytercad/base": ^2.0.0-alpha.1 + "@jupytercad/occ-worker": ^2.0.0-alpha.1 + "@jupytercad/schema": ^2.0.0-alpha.1 "@jupyterlab/application": ^4.0.0 "@jupyterlab/apputils": ^4.0.0 "@jupyterlab/docregistry": ^4.0.0 @@ -915,7 +938,8 @@ __metadata: "@jupyterlab/translation": ^4.0.0 "@jupyterlab/ui-components": ^4.0.0 "@lumino/commands": ^2.0.0 - checksum: ed21dcf3317d9e9c0b2ece3fae792e187bd4e055e4bedfa4ecd45eab36529e9d653ccf67f79417a6605e1dea9925682329318c2218df0a74ad89d3c004960636 + util: ^0.12.5 + checksum: 38ef24f28ba35e3d2d8f376219de8244cb44ea154081888c189cd7e390023032e3166a80f3978093085e5128f0baa7e9e0ba10f011e0845e56a9d234737436d6 languageName: node linkType: hard @@ -923,11 +947,11 @@ __metadata: version: 0.0.0-use.local resolution: "@jupytercad/jupytercad-freecad@workspace:." dependencies: - "@jupyter/collaboration": ^1.0.0 - "@jupyter/docprovider": ^1.0.0 - "@jupytercad/base": ^1.0.0 - "@jupytercad/jupytercad-core": ^1.0.0 - "@jupytercad/schema": ^1.0.0 + "@jupyter/collaboration": ^2.0.0 + "@jupyter/docprovider": ^2.0.0 + "@jupytercad/base": ^2.0.0-alpha.1 + "@jupytercad/jupytercad-core": ^2.0.0-alpha.1 + "@jupytercad/schema": ^2.0.0-alpha.1 "@jupyterlab/application": ^4.0.0 "@jupyterlab/builder": ^4.0.0 "@types/json-schema": ^7.0.11 @@ -954,31 +978,31 @@ __metadata: languageName: unknown linkType: soft -"@jupytercad/occ-worker@npm:^1.0.0": - version: 1.0.0 - resolution: "@jupytercad/occ-worker@npm:1.0.0" +"@jupytercad/occ-worker@npm:^2.0.0-alpha.1": + version: 2.0.0-alpha.1 + resolution: "@jupytercad/occ-worker@npm:2.0.0-alpha.1" dependencies: - "@jupytercad/opencascade": ^1.0.0 - "@jupytercad/schema": ^1.0.0 + "@jupytercad/opencascade": ^2.0.0-alpha.1 + "@jupytercad/schema": ^2.0.0-alpha.1 "@lumino/coreutils": ^2.0.0 uuid: ^8.3.2 - checksum: cc55ff841d96328f704bf9658fc9dfcafce25b3ead55bb807efea1daadd87da0bccfb58d8e68285c0e0b53699d2dd1709c0ab9f59855c23e7d079d74a87b076d + checksum: 39715157a2b0131b4e54c5bf6aa753e1d1637e37ddc8931392cc905650466bb3fa43428e02ac29ba2dd75ff9219e48bf2db924b461de636cfd87005779945570 languageName: node linkType: hard -"@jupytercad/opencascade@npm:^1.0.0": - version: 1.0.0 - resolution: "@jupytercad/opencascade@npm:1.0.0" - checksum: bc732e536c95f2ac0d2680a728f28452e3a29abb5b03dd30fc3602d8e6b585571c0e20efb69cbb683e5bdd4c947a5f7063912bbfa596954fc1da7022fb6096cd +"@jupytercad/opencascade@npm:^2.0.0-alpha.1": + version: 2.0.0-alpha.1 + resolution: "@jupytercad/opencascade@npm:2.0.0-alpha.1" + checksum: 3e10100eafd5c1623480da80c5dc11d6a999254e510773598c0f5175ca3ce3f23464e793456b60361a2ed878fb468aeb696f04d5c0a733413786e00a3551e5ad languageName: node linkType: hard -"@jupytercad/schema@npm:^1.0.0": - version: 1.0.0 - resolution: "@jupytercad/schema@npm:1.0.0" +"@jupytercad/schema@npm:^2.0.0-alpha.1": + version: 2.0.0-alpha.1 + resolution: "@jupytercad/schema@npm:2.0.0-alpha.1" dependencies: "@apidevtools/json-schema-ref-parser": ^9.0.9 - "@jupyter/ydoc": ^0.3.4 || ^1.0.2 + "@jupyter/ydoc": ^1.0.0 "@jupyterlab/apputils": ^4.0.0 "@jupyterlab/coreutils": ^6.0.0 "@jupyterlab/docregistry": ^4.0.0 @@ -989,7 +1013,7 @@ __metadata: ajv: ^8.12.0 json-schema-to-typescript: ^10.1.5 yjs: ^13.5.40 - checksum: 07f79d74bb811e435c98c9813b8aac0450edc78e427d67bad4c8a42e0b83ef842842566e00e4b7f13403eb3ce33bb10df04da7bf20e79ff8c956066e87c48490 + checksum: 0732d6c1dd00dc86fdd9ca96aed3f9fe08e46fd1cd6bad12332148a47cc82a3a640a5ff5e537280e7e3bc3b74b945a74a2b1bb49051ce557f3487ec1e104135d languageName: node linkType: hard @@ -1299,6 +1323,20 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/coreutils@npm:^6.0.5, @jupyterlab/coreutils@npm:^6.1.2": + version: 6.1.2 + resolution: "@jupyterlab/coreutils@npm:6.1.2" + dependencies: + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + minimist: ~1.2.0 + path-browserify: ^1.0.0 + url-parse: ~1.5.4 + checksum: 6dcc812e0ebae28f902ece4acd58aee8103033b23a3bac0935d4d9d8c9c10f8797b422f4e8b0be53fac4781811fb9b82874ce499cd69a6d198986e0cdb4a97ff + languageName: node + linkType: hard + "@jupyterlab/docmanager@npm:^4.0.9": version: 4.0.9 resolution: "@jupyterlab/docmanager@npm:4.0.9" @@ -1527,6 +1565,19 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/observables@npm:^5.1.2": + version: 5.1.2 + resolution: "@jupyterlab/observables@npm:5.1.2" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + checksum: 5bf7ec19c02d7d1923f4bf4c048f182957332a4e1f5481af980f976d518fd1590034cd529d7a980c228586b1650a796361a18b38b00bf6465ac0967ba6cdc8c0 + languageName: node + linkType: hard + "@jupyterlab/outputarea@npm:^4.0.9": version: 4.0.9 resolution: "@jupyterlab/outputarea@npm:4.0.9" @@ -1559,6 +1610,16 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/rendermime-interfaces@npm:^3.9.2": + version: 3.9.2 + resolution: "@jupyterlab/rendermime-interfaces@npm:3.9.2" + dependencies: + "@lumino/coreutils": ^1.11.0 || ^2.1.2 + "@lumino/widgets": ^1.37.2 || ^2.3.1 + checksum: 65d6d4fe8c241b9f1267058db43a8fca01ee9fb6a67a267826accfdd0a9e71f2143fcad778b5c6d8b5bf825440ee9b040088253866e8e1a840b7276fba266b88 + languageName: node + linkType: hard + "@jupyterlab/rendermime@npm:3": version: 3.6.6 resolution: "@jupyterlab/rendermime@npm:3.6.6" @@ -1676,6 +1737,19 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/statedb@npm:^4.1.2": + version: 4.1.2 + resolution: "@jupyterlab/statedb@npm:4.1.2" + dependencies: + "@lumino/commands": ^2.2.0 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + checksum: 30314f4f93441aac6d62068c264c94c0e694829c64ce0dc59e867ef4d188d396edc9c6868dd92ca514f6e7b15dc2568ff3f2de078a20283f60cc5ae70723bacc + languageName: node + linkType: hard + "@jupyterlab/statusbar@npm:^3.6.6": version: 3.6.6 resolution: "@jupyterlab/statusbar@npm:3.6.6" @@ -1760,6 +1834,19 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/translation@npm:^4.1.2": + version: 4.1.2 + resolution: "@jupyterlab/translation@npm:4.1.2" + dependencies: + "@jupyterlab/coreutils": ^6.1.2 + "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/services": ^7.1.2 + "@jupyterlab/statedb": ^4.1.2 + "@lumino/coreutils": ^2.1.2 + checksum: e8261be05ff642434b8c1b439305e464f6c38eea2d1cfbdb38d1ac4922d6df88f157dd1593674c0a3ed90082763bd313610187b1a5007027aa275ed8ed5301e1 + languageName: node + linkType: hard + "@jupyterlab/ui-components@npm:^3.6.6": version: 3.6.6 resolution: "@jupyterlab/ui-components@npm:3.6.6" @@ -1814,6 +1901,37 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/ui-components@npm:^4.0.5": + version: 4.1.2 + resolution: "@jupyterlab/ui-components@npm:4.1.2" + dependencies: + "@jupyter/react-components": ^0.15.2 + "@jupyter/web-components": ^0.15.2 + "@jupyterlab/coreutils": ^6.1.2 + "@jupyterlab/observables": ^5.1.2 + "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/translation": ^4.1.2 + "@lumino/algorithm": ^2.0.1 + "@lumino/commands": ^2.2.0 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + "@lumino/widgets": ^2.3.1 + "@rjsf/core": ^5.13.4 + "@rjsf/utils": ^5.13.4 + react: ^18.2.0 + react-dom: ^18.2.0 + typestyle: ^2.0.4 + peerDependencies: + react: ^18.2.0 + checksum: d4c0141802dc62bc9eb7f79b01c83b795798d131ff224653a0f8c63881e45e28c8de565303db2be34ba09ba42f5503c5979897ae5b46e8fe923e0fedc21cc8eb + languageName: node + linkType: hard + "@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0": version: 1.1.1 resolution: "@lezer/common@npm:1.1.1" @@ -2203,7 +2321,7 @@ __metadata: languageName: node linkType: hard -"@lumino/widgets@npm:^1.30.0 || ^2.1, @lumino/widgets@npm:^1.37.2 || ^2.3.0, @lumino/widgets@npm:^2.0.0, @lumino/widgets@npm:^2.0.0-alpha.6, @lumino/widgets@npm:^2.1.0, @lumino/widgets@npm:^2.1.1, @lumino/widgets@npm:^2.3.0, @lumino/widgets@npm:^2.3.1": +"@lumino/widgets@npm:^1.30.0 || ^2.1, @lumino/widgets@npm:^1.37.2 || ^2.3.0, @lumino/widgets@npm:^1.37.2 || ^2.3.1, @lumino/widgets@npm:^2.0.0, @lumino/widgets@npm:^2.0.0-alpha.6, @lumino/widgets@npm:^2.1.0, @lumino/widgets@npm:^2.1.1, @lumino/widgets@npm:^2.3.0, @lumino/widgets@npm:^2.3.1": version: 2.3.1 resolution: "@lumino/widgets@npm:2.3.1" dependencies: @@ -2241,6 +2359,53 @@ __metadata: languageName: node linkType: hard +"@microsoft/fast-colors@npm:^5.3.1": + version: 5.3.1 + resolution: "@microsoft/fast-colors@npm:5.3.1" + checksum: ff87f402faadb4b5aeee3d27762566c11807f927cd4012b8bbc7f073ca68de0e2197f95330ff5dfd7038f4b4f0e2f51b11feb64c5d570f5c598d37850a5daf60 + languageName: node + linkType: hard + +"@microsoft/fast-element@npm:^1.12.0": + version: 1.12.0 + resolution: "@microsoft/fast-element@npm:1.12.0" + checksum: bbff4e9c83106d1d74f3eeedc87bf84832429e78fee59c6a4ae8164ee4f42667503f586896bea72341b4d2c76c244a3cb0d4fd0d5d3732755f00357714dd609e + languageName: node + linkType: hard + +"@microsoft/fast-foundation@npm:^2.49.4, @microsoft/fast-foundation@npm:^2.49.5": + version: 2.49.5 + resolution: "@microsoft/fast-foundation@npm:2.49.5" + dependencies: + "@microsoft/fast-element": ^1.12.0 + "@microsoft/fast-web-utilities": ^5.4.1 + tabbable: ^5.2.0 + tslib: ^1.13.0 + checksum: 8a4729e8193ee93f780dc88fac26561b42f2636e3f0a8e89bb1dfe256f50a01a21ed1d8e4d31ce40678807dc833e25f31ba735cb5d3c247b65219aeb2560c82c + languageName: node + linkType: hard + +"@microsoft/fast-react-wrapper@npm:^0.3.22": + version: 0.3.23 + resolution: "@microsoft/fast-react-wrapper@npm:0.3.23" + dependencies: + "@microsoft/fast-element": ^1.12.0 + "@microsoft/fast-foundation": ^2.49.5 + peerDependencies: + react: ">=16.9.0" + checksum: 45885e1868916d2aa9059e99c341c97da434331d9340a57128d4218081df68b5e1107031c608db9a550d6d1c3b010d516ed4f8dc5a8a2470058da6750dcd204a + languageName: node + linkType: hard + +"@microsoft/fast-web-utilities@npm:^5.4.1": + version: 5.4.1 + resolution: "@microsoft/fast-web-utilities@npm:5.4.1" + dependencies: + exenv-es6: ^1.1.1 + checksum: 303e87847f962944f474e3716c3eb305668243916ca9e0719e26bb9a32346144bc958d915c103776b3e552cea0f0f6233f839fad66adfdf96a8436b947288ca7 + languageName: node + linkType: hard + "@naisutech/react-tree@npm:^3.0.1": version: 3.1.0 resolution: "@naisutech/react-tree@npm:3.1.0" @@ -2381,6 +2546,22 @@ __metadata: languageName: node linkType: hard +"@rjsf/core@npm:^5.13.4": + version: 5.17.1 + resolution: "@rjsf/core@npm:5.17.1" + dependencies: + lodash: ^4.17.21 + lodash-es: ^4.17.21 + markdown-to-jsx: ^7.4.1 + nanoid: ^3.3.7 + prop-types: ^15.8.1 + peerDependencies: + "@rjsf/utils": ^5.16.x + react: ^16.14.0 || >=17 + checksum: 2dead2886a4db152d259d3e85281c1fa5975eeac5f05c2840201ccc583ef1cf9d48c922cd404d515133e140eae7a8fca4aa63ccde0bcfe63d0b3fbe3cd621aed + languageName: node + linkType: hard + "@rjsf/utils@npm:^5.1.0": version: 5.15.0 resolution: "@rjsf/utils@npm:5.15.0" @@ -2396,6 +2577,21 @@ __metadata: languageName: node linkType: hard +"@rjsf/utils@npm:^5.13.4": + version: 5.17.1 + resolution: "@rjsf/utils@npm:5.17.1" + dependencies: + json-schema-merge-allof: ^0.8.1 + jsonpointer: ^5.0.1 + lodash: ^4.17.21 + lodash-es: ^4.17.21 + react-is: ^18.2.0 + peerDependencies: + react: ^16.14.0 || >=17 + checksum: 83010de66b06f1046b023a0b7d0bf30b5f47b152893c3b12f1f42faa89e7c7d18b2f04fe2e9035e5f63454317f09e6d5753fc014d43b933c8023b71fc50c3acf + languageName: node + linkType: hard + "@types/backbone@npm:1.4.14": version: 1.4.14 resolution: "@types/backbone@npm:1.4.14" @@ -3181,6 +3377,15 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.6": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: ^1.0.0 + checksum: 1aa3ffbfe6578276996de660848b6e95669d9a95ad149e3dd0c0cda77db6ee1dbd9d1dd723b65b6d277b882dd0c4b91a654ae9d3cf9e1254b7e93e4908d78fd3 + languageName: node + linkType: hard + "babel-plugin-styled-components@npm:>= 1.12.0": version: 2.1.4 resolution: "babel-plugin-styled-components@npm:2.1.4" @@ -4417,6 +4622,13 @@ __metadata: languageName: node linkType: hard +"exenv-es6@npm:^1.1.1": + version: 1.1.1 + resolution: "exenv-es6@npm:1.1.1" + checksum: 7f2aa12025e6f06c48dc286f380cf3183bb19c6017b36d91695034a3e5124a7235c4f8ff24ca2eb88ae801322f0f99605cedfcfd996a5fcbba7669320e2a448e + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -4930,6 +5142,15 @@ __metadata: languageName: node linkType: hard +"has-tostringtag@npm:^1.0.1": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: ^1.0.3 + checksum: 999d60bb753ad714356b2c6c87b7fb74f32463b8426e159397da4bde5bca7e598ab1073f4d8d4deafac297f2eb311484cd177af242776bf05f0d11565680468d + languageName: node + linkType: hard + "hasown@npm:^2.0.0": version: 2.0.0 resolution: "hasown@npm:2.0.0" @@ -5162,7 +5383,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.1.1": +"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -5266,6 +5487,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -5413,6 +5643,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: ^1.1.14 + checksum: 150f9ada183a61554c91e1c4290086d2c100b0dff45f60b028519be72a8db964da403c48760723bf5253979b8dffe7b544246e0e5351dcd05c5fdb1dcc1dc0f0 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -6017,6 +6256,15 @@ __metadata: languageName: node linkType: hard +"markdown-to-jsx@npm:^7.4.1": + version: 7.4.1 + resolution: "markdown-to-jsx@npm:7.4.1" + peerDependencies: + react: ">= 0.14.0" + checksum: 2888cb2389cb810ab35454a59d0623474a60a78e28f281ae0081f87053f6c59b033232a2cd269cc383a5edcaa1eab8ca4b3cf639fe4e1aa3fb418648d14bcc7d + languageName: node + linkType: hard + "marked@npm:^4.0.17": version: 4.3.0 resolution: "marked@npm:4.3.0" @@ -6811,6 +7059,13 @@ __metadata: languageName: node linkType: hard +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: b32d403ece71e042385cc7856385cecf1cd8e144fa74d2f1de40d1e16035dba097bc189715925e79b67bdd1472796ff168d3a90d296356c9c94d272d5b95f3ae + languageName: node + linkType: hard + "postcss-modules-extract-imports@npm:^3.0.0": version: 3.0.0 resolution: "postcss-modules-extract-imports@npm:3.0.0" @@ -7120,22 +7375,22 @@ __metadata: languageName: node linkType: hard -"react@npm:^17.0.1": - version: 17.0.2 - resolution: "react@npm:17.0.2" +"react@npm:>=17.0.0 <19.0.0, react@npm:^18.0.1, react@npm:^18.2.0": + version: 18.2.0 + resolution: "react@npm:18.2.0" dependencies: loose-envify: ^1.1.0 - object-assign: ^4.1.1 - checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b + checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b languageName: node linkType: hard -"react@npm:^18.0.1, react@npm:^18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" +"react@npm:^17.0.1": + version: 17.0.2 + resolution: "react@npm:17.0.2" dependencies: loose-envify: ^1.1.0 - checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + object-assign: ^4.1.1 + checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b languageName: node linkType: hard @@ -8054,6 +8309,13 @@ __metadata: languageName: node linkType: hard +"tabbable@npm:^5.2.0": + version: 5.3.3 + resolution: "tabbable@npm:5.3.3" + checksum: 1aa56e1bb617cc10616c407f4e756f0607f3e2d30f9803664d70b85db037ca27e75918ed1c71443f3dc902e21dc9f991ce4b52d63a538c9b69b3218d3babcd70 + languageName: node + linkType: hard + "table@npm:^6.8.1": version: 6.8.1 resolution: "table@npm:6.8.1" @@ -8223,6 +8485,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^1.13.0": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + languageName: node + linkType: hard + "tslib@npm:^2.6.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" @@ -8347,11 +8616,11 @@ __metadata: "typescript@patch:typescript@~5.0.2#~builtin": version: 5.0.4 - resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=85af82" + resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=b5f058" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: bb309d320c59a26565fb3793dba550576ab861018ff3fd1b7fccabbe46ae4a35546bc45f342c0a0b6f265c801ccdf64ffd68f548f117ceb7f0eac4b805cd52a9 + checksum: d26b6ba97b6d163c55dbdffd9bbb4c211667ebebc743accfeb2c8c0154aace7afd097b51165a72a5bad2cf65a4612259344ff60f8e642362aa1695c760d303ac languageName: node linkType: hard @@ -8463,6 +8732,19 @@ __metadata: languageName: node linkType: hard +"util@npm:^0.12.5": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + which-typed-array: ^1.1.2 + checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a + languageName: node + linkType: hard + "uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" @@ -8745,6 +9027,19 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2": + version: 1.1.14 + resolution: "which-typed-array@npm:1.1.14" + dependencies: + available-typed-arrays: ^1.0.6 + call-bind: ^1.0.5 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.1 + checksum: efe30c143c58630dde8ab96f9330e20165bacd77ca843c602b510120a415415573bcdef3ccbc30a0e5aaf20f257360cfe24712aea0008f149ce5bb99834c0c0b + languageName: node + linkType: hard + "which@npm:^1.2.9, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" From 7b39d285cd95c33f01074ab88a9ce469b12778fa Mon Sep 17 00:00:00 2001 From: Duc Trung LE Date: Tue, 27 Feb 2024 17:52:12 +0100 Subject: [PATCH 2/2] Update UI tests --- ui-tests/package.json | 2 +- ui-tests/tests/ui.spec.ts | 22 ++++++++-------------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index 2b51afa..0c6e38f 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -10,7 +10,7 @@ "test:debug": "PWDEBUG=1 npx playwright test" }, "devDependencies": { - "@jupyterlab/galata": "^5.0.8", + "@jupyterlab/galata": "^5.1.0", "@playwright/test": "^1.32.0", "@types/klaw-sync": "^6.0.1" }, diff --git a/ui-tests/tests/ui.spec.ts b/ui-tests/tests/ui.spec.ts index bcdbc43..a3c18d7 100644 --- a/ui-tests/tests/ui.spec.ts +++ b/ui-tests/tests/ui.spec.ts @@ -119,18 +119,17 @@ test.describe('UI Test', () => { await page.notebook.openByPath(fullPath); await page.notebook.activate(fullPath); await page.locator('div.jpcad-Spinner').waitFor({ state: 'hidden' }); - const btn = await page.locator( - "button.jp-ToolbarButtonComponent[data-command='jupytercad:newBox']" - ); - await btn.click(); + + await page.getByTitle('New Box').click(); + const nameInput = await page.locator( 'input[id^="id-jp-schemaform"][label="Name"]' ); - nameInput.fill('Foo'); + await nameInput.fill('Foo'); const accept = await page.locator('div.jp-Dialog-buttonLabel', { hasText: 'Submit' }); - accept.click(); + await accept.click(); await page .getByRole('tablist', { name: 'main sidebar' }) @@ -248,10 +247,8 @@ test.describe('UI Test', () => { await page.locator('div.jpcad-Spinner').waitFor({ state: 'hidden' }); // Create a cone - const btn = await page.locator( - "button.jp-ToolbarButtonComponent[data-command='jupytercad:newCone']" - ); - await btn.click(); + await page.getByTitle('New Cone').click(); + await page.getByLabel('Radius1').click(); await page.getByLabel('Radius1').fill('15'); await page.getByLabel('Radius2').click(); @@ -287,10 +284,7 @@ test.describe('UI Test', () => { await page.waitForTimeout(1000); // Apply a cut operator from the selection - const cutbtn = await page.locator( - "button.jp-ToolbarButtonComponent[data-command='jupytercad:cut']" - ); - await cutbtn.click(); + await page.getByTitle('Cut', { exact: true }).click(); await page .locator('.jp-Dialog-body') .locator('div.jp-Dialog-buttonLabel', {