diff --git a/.bumpversion.cfg b/.bumpversion.cfg index defad28f188c..d2c4dcfb359c 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 4, 1, 2, "final", 0 +current_version = 4, 2, 0, "alpha", 0 commit = False tag = False parse = (?P\d+)\,\ (?P\d+)\,\ (?P\d+)\,\ \"(?P\S+)\"\,\ (?P\d+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bac2edb35ae1..920ef9ed74ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -266,6 +266,56 @@ To ease code migration to JupyterLab 4, developers should review the [migration +## 4.2.0a0 + +([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.2...afeb9553f0389e63795aed289fe4670bd8fdc4f1)) + +### Enhancements made + +- Copy edits in dialog [#15875](https://github.com/jupyterlab/jupyterlab/pull/15875) ([@JasonWeill](https://github.com/JasonWeill)) +- Adds description for disabled search filter [#15867](https://github.com/jupyterlab/jupyterlab/pull/15867) ([@JasonWeill](https://github.com/JasonWeill)) +- Dynamic title for expander/collapser button [#15826](https://github.com/jupyterlab/jupyterlab/pull/15826) ([@JasonWeill](https://github.com/JasonWeill)) +- Adds title to close button of search and replace box [#15825](https://github.com/jupyterlab/jupyterlab/pull/15825) ([@JasonWeill](https://github.com/JasonWeill)) +- Enable default file browsers with different properties (aria label, title...) [#15697](https://github.com/jupyterlab/jupyterlab/pull/15697) ([@HaudinFlorence](https://github.com/HaudinFlorence)) + +### Bugs fixed + +- Fix missing signals in file editor adapter [#15873](https://github.com/jupyterlab/jupyterlab/pull/15873) ([@krassowski](https://github.com/krassowski)) +- Fix Pressing enter in console with console run keystroke set to enter creates a newline and runs [#15869](https://github.com/jupyterlab/jupyterlab/pull/15869) ([@FoSuCloud](https://github.com/FoSuCloud)) +- Check if editor exists before checking if it is disposed [#15865](https://github.com/jupyterlab/jupyterlab/pull/15865) ([@krassowski](https://github.com/krassowski)) +- Show outline on the full item in file browser, only when needed [#15860](https://github.com/jupyterlab/jupyterlab/pull/15860) ([@krassowski](https://github.com/krassowski)) +- Fix saving of item positions in reactive toolbar [#15843](https://github.com/jupyterlab/jupyterlab/pull/15843) ([@brichet](https://github.com/brichet)) +- Fix workspaces loading [#15842](https://github.com/jupyterlab/jupyterlab/pull/15842) ([@krassowski](https://github.com/krassowski)) +- When attaching only typeset after rendering is completed [#15810](https://github.com/jupyterlab/jupyterlab/pull/15810) ([@krassowski](https://github.com/krassowski)) +- Fix codemirror highlight for Python builtin [#15805](https://github.com/jupyterlab/jupyterlab/pull/15805) ([@AllanChain](https://github.com/AllanChain)) +- Prevent command shortcuts from preventing user input [#15790](https://github.com/jupyterlab/jupyterlab/pull/15790) ([@krassowski](https://github.com/krassowski)) + +### Maintenance and upkeep improvements + +- Add `metadataform` to the labeler [#15896](https://github.com/jupyterlab/jupyterlab/pull/15896) ([@jtpio](https://github.com/jtpio)) +- Remove `child_process` dependency [#15888](https://github.com/jupyterlab/jupyterlab/pull/15888) ([@jtpio](https://github.com/jtpio)) +- Update docstrings to mention Jupyter Server API [#15880](https://github.com/jupyterlab/jupyterlab/pull/15880) ([@jtpio](https://github.com/jtpio)) +- Bump es5-ext from 0.10.62 to 0.10.63 [#15878](https://github.com/jupyterlab/jupyterlab/pull/15878) ([@dependabot](https://github.com/dependabot)) +- Bump `sanitize-html` to latest v2.12.1 [#15877](https://github.com/jupyterlab/jupyterlab/pull/15877) ([@krassowski](https://github.com/krassowski)) +- Fix clean script [#15854](https://github.com/jupyterlab/jupyterlab/pull/15854) ([@krassowski](https://github.com/krassowski)) +- Bump ip from 2.0.0 to 2.0.1 [#15831](https://github.com/jupyterlab/jupyterlab/pull/15831) ([@dependabot](https://github.com/dependabot)) + +### Documentation improvements + +- Copy edits in dialog [#15875](https://github.com/jupyterlab/jupyterlab/pull/15875) ([@JasonWeill](https://github.com/JasonWeill)) +- Fix broken link [#15851](https://github.com/jupyterlab/jupyterlab/pull/15851) ([@fcollonval](https://github.com/fcollonval)) +- Add `4.0.x` and `4.1.x` to the documentation switcher [#15850](https://github.com/jupyterlab/jupyterlab/pull/15850) ([@jtpio](https://github.com/jtpio)) +- Fix code sample in identity API example [#15838](https://github.com/jupyterlab/jupyterlab/pull/15838) ([@krassowski](https://github.com/krassowski)) +- Lab/NB7 extension compatibility docs [#14838](https://github.com/jupyterlab/jupyterlab/pull/14838) ([@ericsnekbytes](https://github.com/ericsnekbytes)) + +### Contributors to this release + +([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2024-02-19&to=2024-03-05&type=c)) + +[@AllanChain](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AAllanChain+updated%3A2024-02-19..2024-03-05&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2024-02-19..2024-03-05&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adependabot+updated%3A2024-02-19..2024-03-05&type=Issues) | [@ericsnekbytes](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aericsnekbytes+updated%3A2024-02-19..2024-03-05&type=Issues) | [@fcollonval](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afcollonval+updated%3A2024-02-19..2024-03-05&type=Issues) | [@FoSuCloud](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AFoSuCloud+updated%3A2024-02-19..2024-03-05&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2024-02-19..2024-03-05&type=Issues) | [@HaudinFlorence](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AHaudinFlorence+updated%3A2024-02-19..2024-03-05&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AJasonWeill+updated%3A2024-02-19..2024-03-05&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2024-02-19..2024-03-05&type=Issues) | [@jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2024-02-19..2024-03-05&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2024-02-19..2024-03-05&type=Issues) | [@linlol](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Alinlol+updated%3A2024-02-19..2024-03-05&type=Issues) | [@lumberbot-app](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Alumberbot-app+updated%3A2024-02-19..2024-03-05&type=Issues) | [@trungleduc](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atrungleduc+updated%3A2024-02-19..2024-03-05&type=Issues) | [@welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2024-02-19..2024-03-05&type=Issues) + + + ## 4.1.2 ([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.1...d835cf35dfd37bbe930c79c90a6d180a800bae69)) @@ -293,8 +343,6 @@ To ease code migration to JupyterLab 4, developers should review the [migration [@FoSuCloud](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AFoSuCloud+updated%3A2024-02-13..2024-02-19&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2024-02-13..2024-02-19&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AJasonWeill+updated%3A2024-02-13..2024-02-19&type=Issues) | [@jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2024-02-13..2024-02-19&type=Issues) | [@kiliansinger](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akiliansinger+updated%3A2024-02-13..2024-02-19&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2024-02-13..2024-02-19&type=Issues) | [@lumberbot-app](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Alumberbot-app+updated%3A2024-02-13..2024-02-19&type=Issues) | [@nluetts](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Anluetts+updated%3A2024-02-13..2024-02-19&type=Issues) | [@trungleduc](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atrungleduc+updated%3A2024-02-13..2024-02-19&type=Issues) | [@welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2024-02-13..2024-02-19&type=Issues) - - ## 4.1.1 ([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.0...6abcf80374af290d7ba958a1f1f64f92c0394d0e)) diff --git a/builder/package.json b/builder/package.json index b5dba0c4f076..158fa08b8282 100644 --- a/builder/package.json +++ b/builder/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/builder", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Extension Builder", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { diff --git a/buildutils/package.json b/buildutils/package.json index 2abf433b931f..a9b1fbec95ce 100644 --- a/buildutils/package.json +++ b/buildutils/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/buildutils", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Build Utilities", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { diff --git a/buildutils/template/package.json b/buildutils/template/package.json index 0fbbc8436a06..d1b57f59af9a 100644 --- a/buildutils/template/package.json +++ b/buildutils/template/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/template", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Package Template", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,7 +37,7 @@ "watch": "tsc -b --watch" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "rimraf": "~5.0.5", "typescript": "~5.1.6" diff --git a/dev_mode/package.json b/dev_mode/package.json index 992185028886..d2ceead5fc3b 100644 --- a/dev_mode/package.json +++ b/dev_mode/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/application-top", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "license": "BSD-3-Clause", "scripts": { @@ -23,101 +23,101 @@ "@jupyter/react-components": "~0.13.3", "@jupyter/web-components": "~0.13.3", "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.1.2", - "@jupyterlab/application-extension": "~4.1.2", - "@jupyterlab/apputils": "~4.2.2", - "@jupyterlab/apputils-extension": "~4.1.2", - "@jupyterlab/attachments": "~4.1.2", - "@jupyterlab/cell-toolbar": "~4.1.2", - "@jupyterlab/cell-toolbar-extension": "~4.1.2", - "@jupyterlab/cells": "~4.1.2", - "@jupyterlab/celltags-extension": "~4.1.2", - "@jupyterlab/codeeditor": "~4.1.2", - "@jupyterlab/codemirror": "~4.1.2", - "@jupyterlab/codemirror-extension": "~4.1.2", - "@jupyterlab/completer": "~4.1.2", - "@jupyterlab/completer-extension": "~4.1.2", - "@jupyterlab/console": "~4.1.2", - "@jupyterlab/console-extension": "~4.1.2", - "@jupyterlab/coreutils": "~6.1.2", - "@jupyterlab/csvviewer": "~4.1.2", - "@jupyterlab/csvviewer-extension": "~4.1.2", - "@jupyterlab/debugger": "~4.1.2", - "@jupyterlab/debugger-extension": "~4.1.2", - "@jupyterlab/docmanager": "~4.1.2", - "@jupyterlab/docmanager-extension": "~4.1.2", - "@jupyterlab/docregistry": "~4.1.2", - "@jupyterlab/documentsearch": "~4.1.2", - "@jupyterlab/documentsearch-extension": "~4.1.2", - "@jupyterlab/extensionmanager": "~4.1.2", - "@jupyterlab/extensionmanager-extension": "~4.1.2", - "@jupyterlab/filebrowser": "~4.1.2", - "@jupyterlab/filebrowser-extension": "~4.1.2", - "@jupyterlab/fileeditor": "~4.1.2", - "@jupyterlab/fileeditor-extension": "~4.1.2", - "@jupyterlab/help-extension": "~4.1.2", - "@jupyterlab/htmlviewer": "~4.1.2", - "@jupyterlab/htmlviewer-extension": "~4.1.2", - "@jupyterlab/hub-extension": "~4.1.2", - "@jupyterlab/imageviewer": "~4.1.2", - "@jupyterlab/imageviewer-extension": "~4.1.2", - "@jupyterlab/inspector": "~4.1.2", - "@jupyterlab/inspector-extension": "~4.1.2", - "@jupyterlab/javascript-extension": "~4.1.2", - "@jupyterlab/json-extension": "~4.1.2", - "@jupyterlab/launcher": "~4.1.2", - "@jupyterlab/launcher-extension": "~4.1.2", - "@jupyterlab/logconsole": "~4.1.2", - "@jupyterlab/logconsole-extension": "~4.1.2", - "@jupyterlab/lsp": "~4.1.2", - "@jupyterlab/lsp-extension": "~4.1.2", - "@jupyterlab/mainmenu": "~4.1.2", - "@jupyterlab/mainmenu-extension": "~4.1.2", - "@jupyterlab/markdownviewer": "~4.1.2", - "@jupyterlab/markdownviewer-extension": "~4.1.2", - "@jupyterlab/markedparser-extension": "~4.1.2", - "@jupyterlab/mathjax-extension": "~4.1.2", - "@jupyterlab/mermaid": "~4.1.2", - "@jupyterlab/mermaid-extension": "~4.1.2", - "@jupyterlab/metadataform": "~4.1.2", - "@jupyterlab/metadataform-extension": "~4.1.2", - "@jupyterlab/metapackage": "~4.1.2", - "@jupyterlab/nbconvert-css": "~4.1.2", - "@jupyterlab/nbformat": "~4.1.2", - "@jupyterlab/notebook": "~4.1.2", - "@jupyterlab/notebook-extension": "~4.1.2", - "@jupyterlab/observables": "~5.1.2", - "@jupyterlab/outputarea": "~4.1.2", - "@jupyterlab/pdf-extension": "~4.1.2", - "@jupyterlab/pluginmanager": "~4.1.2", - "@jupyterlab/pluginmanager-extension": "~4.1.2", - "@jupyterlab/property-inspector": "~4.1.2", - "@jupyterlab/rendermime": "~4.1.2", - "@jupyterlab/rendermime-extension": "~4.1.2", - "@jupyterlab/rendermime-interfaces": "~3.9.2", - "@jupyterlab/running": "~4.1.2", - "@jupyterlab/running-extension": "~4.1.2", - "@jupyterlab/services": "~7.1.2", - "@jupyterlab/settingeditor": "~4.1.2", - "@jupyterlab/settingeditor-extension": "~4.1.2", - "@jupyterlab/settingregistry": "~4.1.2", - "@jupyterlab/shortcuts-extension": "~4.1.2", - "@jupyterlab/statedb": "~4.1.2", - "@jupyterlab/statusbar": "~4.1.2", - "@jupyterlab/statusbar-extension": "~4.1.2", - "@jupyterlab/terminal": "~4.1.2", - "@jupyterlab/terminal-extension": "~4.1.2", - "@jupyterlab/theme-dark-extension": "~4.1.2", - "@jupyterlab/theme-light-extension": "~4.1.2", - "@jupyterlab/toc": "~6.1.2", - "@jupyterlab/toc-extension": "~6.1.2", - "@jupyterlab/tooltip": "~4.1.2", - "@jupyterlab/tooltip-extension": "~4.1.2", - "@jupyterlab/translation": "~4.1.2", - "@jupyterlab/translation-extension": "~4.1.2", - "@jupyterlab/ui-components": "~4.1.2", - "@jupyterlab/ui-components-extension": "~4.1.2", - "@jupyterlab/vega5-extension": "~4.1.2", + "@jupyterlab/application": "~4.2.0-alpha.0", + "@jupyterlab/application-extension": "~4.2.0-alpha.0", + "@jupyterlab/apputils": "~4.3.0-alpha.0", + "@jupyterlab/apputils-extension": "~4.2.0-alpha.0", + "@jupyterlab/attachments": "~4.2.0-alpha.0", + "@jupyterlab/cell-toolbar": "~4.2.0-alpha.0", + "@jupyterlab/cell-toolbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/cells": "~4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "~4.2.0-alpha.0", + "@jupyterlab/codeeditor": "~4.2.0-alpha.0", + "@jupyterlab/codemirror": "~4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "~4.2.0-alpha.0", + "@jupyterlab/completer": "~4.2.0-alpha.0", + "@jupyterlab/completer-extension": "~4.2.0-alpha.0", + "@jupyterlab/console": "~4.2.0-alpha.0", + "@jupyterlab/console-extension": "~4.2.0-alpha.0", + "@jupyterlab/coreutils": "~6.2.0-alpha.0", + "@jupyterlab/csvviewer": "~4.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/debugger": "~4.2.0-alpha.0", + "@jupyterlab/debugger-extension": "~4.2.0-alpha.0", + "@jupyterlab/docmanager": "~4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/docregistry": "~4.2.0-alpha.0", + "@jupyterlab/documentsearch": "~4.2.0-alpha.0", + "@jupyterlab/documentsearch-extension": "~4.2.0-alpha.0", + "@jupyterlab/extensionmanager": "~4.2.0-alpha.0", + "@jupyterlab/extensionmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/filebrowser": "~4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "~4.2.0-alpha.0", + "@jupyterlab/fileeditor": "~4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/help-extension": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/hub-extension": "~4.2.0-alpha.0", + "@jupyterlab/imageviewer": "~4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/inspector": "~4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "~4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "~4.2.0-alpha.0", + "@jupyterlab/json-extension": "~4.2.0-alpha.0", + "@jupyterlab/launcher": "~4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "~4.2.0-alpha.0", + "@jupyterlab/logconsole": "~4.2.0-alpha.0", + "@jupyterlab/logconsole-extension": "~4.2.0-alpha.0", + "@jupyterlab/lsp": "~4.2.0-alpha.0", + "@jupyterlab/lsp-extension": "~4.2.0-alpha.0", + "@jupyterlab/mainmenu": "~4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "~4.2.0-alpha.0", + "@jupyterlab/markdownviewer": "~4.2.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/markedparser-extension": "~4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "~4.2.0-alpha.0", + "@jupyterlab/mermaid": "~4.2.0-alpha.0", + "@jupyterlab/mermaid-extension": "~4.2.0-alpha.0", + "@jupyterlab/metadataform": "~4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "~4.2.0-alpha.0", + "@jupyterlab/metapackage": "~4.2.0-alpha.0", + "@jupyterlab/nbconvert-css": "~4.2.0-alpha.0", + "@jupyterlab/nbformat": "~4.2.0-alpha.0", + "@jupyterlab/notebook": "~4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "~4.2.0-alpha.0", + "@jupyterlab/observables": "~5.2.0-alpha.0", + "@jupyterlab/outputarea": "~4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "~4.2.0-alpha.0", + "@jupyterlab/pluginmanager": "~4.2.0-alpha.0", + "@jupyterlab/pluginmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/property-inspector": "~4.2.0-alpha.0", + "@jupyterlab/rendermime": "~4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "~4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "~3.10.0-alpha.0", + "@jupyterlab/running": "~4.2.0-alpha.0", + "@jupyterlab/running-extension": "~4.2.0-alpha.0", + "@jupyterlab/services": "~7.2.0-alpha.0", + "@jupyterlab/settingeditor": "~4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/settingregistry": "~4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "~4.2.0-alpha.0", + "@jupyterlab/statedb": "~4.2.0-alpha.0", + "@jupyterlab/statusbar": "~4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/terminal": "~4.2.0-alpha.0", + "@jupyterlab/terminal-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-dark-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "~4.2.0-alpha.0", + "@jupyterlab/toc": "~6.2.0-alpha.0", + "@jupyterlab/toc-extension": "~6.2.0-alpha.0", + "@jupyterlab/tooltip": "~4.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "~4.2.0-alpha.0", + "@jupyterlab/translation": "~4.2.0-alpha.0", + "@jupyterlab/translation-extension": "~4.2.0-alpha.0", + "@jupyterlab/ui-components": "~4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "~4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "~4.2.0-alpha.0", "@lezer/common": "^1.0.0", "@lezer/highlight": "^1.0.0", "@lumino/algorithm": "^2.0.0", @@ -142,58 +142,58 @@ "yjs": "^13.5.40" }, "dependencies": { - "@jupyterlab/application": "~4.1.2", - "@jupyterlab/application-extension": "~4.1.2", - "@jupyterlab/apputils-extension": "~4.1.2", - "@jupyterlab/cell-toolbar-extension": "~4.1.2", - "@jupyterlab/celltags-extension": "~4.1.2", - "@jupyterlab/codemirror-extension": "~4.1.2", - "@jupyterlab/completer-extension": "~4.1.2", - "@jupyterlab/console-extension": "~4.1.2", - "@jupyterlab/coreutils": "~6.1.2", - "@jupyterlab/csvviewer-extension": "~4.1.2", - "@jupyterlab/debugger-extension": "~4.1.2", - "@jupyterlab/docmanager-extension": "~4.1.2", - "@jupyterlab/documentsearch-extension": "~4.1.2", - "@jupyterlab/extensionmanager-extension": "~4.1.2", - "@jupyterlab/filebrowser-extension": "~4.1.2", - "@jupyterlab/fileeditor-extension": "~4.1.2", - "@jupyterlab/help-extension": "~4.1.2", - "@jupyterlab/htmlviewer-extension": "~4.1.2", - "@jupyterlab/hub-extension": "~4.1.2", - "@jupyterlab/imageviewer-extension": "~4.1.2", - "@jupyterlab/inspector-extension": "~4.1.2", - "@jupyterlab/javascript-extension": "~4.1.2", - "@jupyterlab/json-extension": "~4.1.2", - "@jupyterlab/launcher-extension": "~4.1.2", - "@jupyterlab/logconsole-extension": "~4.1.2", - "@jupyterlab/lsp-extension": "~4.1.2", - "@jupyterlab/mainmenu-extension": "~4.1.2", - "@jupyterlab/markdownviewer-extension": "~4.1.2", - "@jupyterlab/markedparser-extension": "~4.1.2", - "@jupyterlab/mathjax-extension": "~4.1.2", - "@jupyterlab/mermaid-extension": "~4.1.2", - "@jupyterlab/metadataform-extension": "~4.1.2", - "@jupyterlab/notebook-extension": "~4.1.2", - "@jupyterlab/pdf-extension": "~4.1.2", - "@jupyterlab/pluginmanager-extension": "~4.1.2", - "@jupyterlab/rendermime-extension": "~4.1.2", - "@jupyterlab/running-extension": "~4.1.2", - "@jupyterlab/settingeditor-extension": "~4.1.2", - "@jupyterlab/shortcuts-extension": "~4.1.2", - "@jupyterlab/statusbar-extension": "~4.1.2", - "@jupyterlab/terminal-extension": "~4.1.2", - "@jupyterlab/theme-dark-extension": "~4.1.2", - "@jupyterlab/theme-light-extension": "~4.1.2", - "@jupyterlab/toc-extension": "~6.1.2", - "@jupyterlab/tooltip-extension": "~4.1.2", - "@jupyterlab/translation-extension": "~4.1.2", - "@jupyterlab/ui-components-extension": "~4.1.2", - "@jupyterlab/vega5-extension": "~4.1.2" + "@jupyterlab/application": "~4.2.0-alpha.0", + "@jupyterlab/application-extension": "~4.2.0-alpha.0", + "@jupyterlab/apputils-extension": "~4.2.0-alpha.0", + "@jupyterlab/cell-toolbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "~4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "~4.2.0-alpha.0", + "@jupyterlab/completer-extension": "~4.2.0-alpha.0", + "@jupyterlab/console-extension": "~4.2.0-alpha.0", + "@jupyterlab/coreutils": "~6.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/debugger-extension": "~4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/documentsearch-extension": "~4.2.0-alpha.0", + "@jupyterlab/extensionmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "~4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/help-extension": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/hub-extension": "~4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "~4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "~4.2.0-alpha.0", + "@jupyterlab/json-extension": "~4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "~4.2.0-alpha.0", + "@jupyterlab/logconsole-extension": "~4.2.0-alpha.0", + "@jupyterlab/lsp-extension": "~4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "~4.2.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/markedparser-extension": "~4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "~4.2.0-alpha.0", + "@jupyterlab/mermaid-extension": "~4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "~4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "~4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "~4.2.0-alpha.0", + "@jupyterlab/pluginmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "~4.2.0-alpha.0", + "@jupyterlab/running-extension": "~4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "~4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/terminal-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-dark-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "~4.2.0-alpha.0", + "@jupyterlab/toc-extension": "~6.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "~4.2.0-alpha.0", + "@jupyterlab/translation-extension": "~4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "~4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "~4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2", - "@jupyterlab/buildutils": "^4.1.2", + "@jupyterlab/builder": "^4.2.0-alpha.0", + "@jupyterlab/buildutils": "^4.2.0-alpha.0", "chokidar": "^3.4.0", "css-loader": "^6.7.1", "duplicate-package-checker-webpack-plugin": "^3.0.0", @@ -222,7 +222,7 @@ }, "jupyterlab": { "name": "JupyterLab", - "version": "4.1.2", + "version": "4.2.0a0", "extensions": { "@jupyterlab/application-extension": "", "@jupyterlab/apputils-extension": "", diff --git a/docs/source/extension/extension_dev.rst b/docs/source/extension/extension_dev.rst index 3609d999a790..d3516cfd79f8 100644 --- a/docs/source/extension/extension_dev.rst +++ b/docs/source/extension/extension_dev.rst @@ -32,6 +32,7 @@ See the sections below for more detailed information, or browse the rest of this internationalization identity extension_tutorial + extension_multiple_ui extension_migration Other resources @@ -42,9 +43,11 @@ Before we get started, here are some resources for hands-on practice or more in- Tutorials ^^^^^^^^^ -We provide a set of guides to get started writing extensions for JupyterLab: +Learn how to write JupyterLab extensions with these guides: - :ref:`extension_tutorial`: A tutorial to learn how to make a simple JupyterLab extension. +- :ref:`Making Extensions Compatible with Multiple Applications Tutorial ` + A tutorial for making extensions that work in both JupyterLab, Jupyter Notebook 7+ and more - The `JupyterLab Extension Examples Repository `_: A short tutorial series to learn how to develop extensions for JupyterLab by example. - :ref:`developer-extension-points`: A list of the most common JupyterLab extension points. - Another common pattern for extending JupyterLab document widgets with application plugins is covered in :ref:`documents`. @@ -132,14 +135,18 @@ A Jupyter front-end application object is given to a plugin's ``activate`` funct See the JupyterLab API reference documentation for the ``JupyterFrontEnd`` class for more details. +.. _dependency-injection-basic-info: + .. _services: Plugins Interacting with Each Other ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +*(The Provider-Consumer pattern is explained here)* + One of the foundational features of the JupyterLab plugin system is that application plugins can interact with other plugins by providing a service to the system and requiring services provided by other plugins. A service can be any JavaScript value, and typically is a JavaScript object with methods and data attributes. For example, the core plugin that supplies the JupyterLab main menu provides a :ref:`mainmenu` service object to the system with a method to add a new top-level menu and attributes to interact with existing top-level application menus. -In the following discussion, the plugin that is providing a service to the system is the *provider* plugin, and the plugin that is requiring and using the service is the *consumer* plugin. +In the following discussion, the plugin that is providing a service to the system is the *provider* plugin, and the plugin that is requiring and using the service is the *consumer* plugin. Note that these kinds of *provider* and *consumer* plugins are fundamental parts of JupyterLab's Provider-Consumer pattern (which is a type of `dependency-injection `_ pattern). .. _tokens: diff --git a/docs/source/extension/extension_multiple_ui.rst b/docs/source/extension/extension_multiple_ui.rst new file mode 100644 index 000000000000..b5e91e379891 --- /dev/null +++ b/docs/source/extension/extension_multiple_ui.rst @@ -0,0 +1,280 @@ +.. Copyright (c) Jupyter Development Team. +.. Distributed under the terms of the Modified BSD License. + +.. _multiple_ui_extensions: + +Targeting Multiple Applications +=============================== + +*Make your extensions work in JupyterLab, Notebook 7+ and more!* + +Jupyter Notebook 7 is built with components from JupyterLab, and since +both use the same building blocks, that means your extension can work +on both (or any other frontend built with JupyterLab components) with +little or no modification depending on its design. + +This guide will give you an overview of compatibility features, then a +tutorial and reference code covering some of the topics mentioned here. +If you don't know how to make extensions, you can read more about the +basics at :ref:`the Extension Tutorial ` or the +`Extensions page `_. + +Getting started +--------------- + +At a high level, extensions for JupyterLab and Jupyter Notebook both +typically start from a template project, which you can download and set up +using instructions from `the extension tutorial `_). +Once your template is ready, you can start adding components and features to build your extension. + +How Compatibility Works +----------------------- + +An extension for JupyterLab (and for Notebook 7) is made up of a `series `_ +of bundled `plugins `_, +and those plugins typically use components from the interface toolkit `Lumino `_ +as well as the `JupyterLab API `_ +(among others) to help build your extension's look and behavior. Both +Lumino and JupyterLab API are written in Typescript. + +This is how basic compatibility features work: both apps use the same building +blocks and methods. For instance, both JupyterLab and Notebook 7 accept Lumino widgets +as interface components, both apps enable you to add them to the interface by +specifying an "area" to place them into, and extensions for both use the same +basic ``JupyterFrontendPlugin`` class. + +How to Achieve Compatibility +---------------------------- + +Compatibility can be achieved without additional effort in some simple +cases. But for more complex cases, where the extension uses features in +one app that are not available in other apps, you will need to decide +how to handle those features in the other apps. + +The technical solutions to compatibility basically offer ways to disable +features for some apps, or to check for the presence of a particular app +or feature and then adjust behaviors accordingly. + +There are also design patterns and approaches that will make it easier to +achieve compatibility in your extensions. + +You can read more about those below. Here are some general tips for making +your extensions compatible: + +- Use common features where possible, these offer compatibility without + any extra effort +- Avoid using app-specific features (like the JupyterLab status bar) without + first checking if they are available either when your extension loads, or + while it's running (more on that further down) +- Try to separate app-specific features from common features that are + supported by both apps +- Decide what approach to take with any extension features that rely on + app-specific capabilities (like the JupyterLab status bar). You can disable + or modify those features in other apps using the techniques listed further + down in this document. + +Using Only Common Features +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If your extension only uses features that both JupyterLab and Notebook 7 +have, you can simply install it and it will seamlessly work in both JupyterLab +and Notebook 7. + +An extension that adds a single self-contained text widget to the top bar +of the UI, for instance, doesn't need to do anything at all to be compatible +with both JupyterLab and Notebook 7 (both apps have a top area that can hold the +widget, so it will be visible in both JupyterLab and Notebook 7 upon install and +after launch). + +See `this example video `_ of a +compatible top-bar-text-widget that works in both JupyterLab and Notebook 7 +out of the box, and `read the full extension example code here `_. + +Note that using features that are not common to both JupyterLab and Notebook 7 (or +other apps) will break compatibility in apps where that feature is not available +unless special steps are taken (more on these further down). The status bar in +JupyterLab is an example of a feature that is available in JupyterLab but not in +Notebook 7. + +Using Plugin Metadata to Drive Compatibility +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +JupyterLab's extension system is designed so that plugins can depend on and +reuse features from one another. A key part of this approach is :ref:`JupyterLab's +Provider-Consumer pattern ` (a type of `dependency-injection `_ +pattern), and it is what enables the compatibility solutions discussed here. + +Each plugin uses some properties (the ``requires`` and ``optional`` properties) to +request features it wants which are provided by other plugins that have been +loaded into JupyterLab. When your plugin requests features, the system sends +them to your plugin's activate function if they are available. + +You can build compatible extensions by taking advantage of these plugin +properties, and how the plugin system uses them: + +- When you designate a feature in the ``requires`` list of your + plugin, JupyterLab will only load your plugin if that feature is available. +- By designating a feature in the ``optional`` list, JupyterLab will pass you + an object for it (if it's available) or ``null`` if it's not. + +So, these capabilities form the backbone of extension compatibility. You can +use them to make checks in your extensions that will allow them to function in +both JupyterLab and Jupyter Notebook 7 (and others). + +JupyterLab itself is a :ref:`provider ` of many features through its built-in plugins, +which you can read more about in the `Common Extension Points document `_. +It's a good idea to use these extension points while you're building your extensions (and +by doing so you are acting as the *consumer* in JupyterLab's :ref:`Provider-Consumer pattern `. + +Testing for Optional Features +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Making an app-specific feature optional and checking if it is available before +using it, is one technique you can use to make your extensions compatible. + +Take a look at a snippet from `this example extension `_ +in the examples repo (you can read the full extension example code there): + +.. + TODO: use a pointer/reference to the code with the docs toolkit + +.. code:: TypeScript + + const plugin: JupyterFrontEndPlugin = { + id: '@jupyterlab-examples/shout-button:plugin', + description: + 'An extension that adds a button and message to the right toolbar, with optional status bar widget in JupyterLab.', + autoStart: true, + // The IStatusBar is marked optional here. If it's available, it will + // be provided to the plugin as an argument to the activate function + // (shown below), and if not it will be null. + optional: [IStatusBar], + // Make sure to list any 'requires' and 'optional' features as arguments + // to your activate function (activate is always passed an Application, + // then required arguments, then optional arguments) + activate: (app: JupyterFrontEnd, statusBar: IStatusBar | null) => { + // ... Extension code ... + } + }; + +This plugin marks ``IStatusBar`` as optional, and adds an argument for it to the +plugin's ``activate`` function (which will be called by JupyterLab when the extension +loads). If ``IStatusBar`` is not available, the second argument to the ``activate`` +function will be ``null``, as is the case when the extension is loaded in Jupyter +Notebook 7. + +The extension always creates a common main widget, but when it comes time to use the +status bar, the extension first checks if the ``IStatusBar`` is available, and only then +proceeds to create a status bar item. This allows the extension to run successfully in both +JupyterLab and Jupyter Notebook 7: + +.. code:: TypeScript + + // Create a ShoutWidget and add it to the interface in the right sidebar + const shoutWidget: ShoutWidget = new ShoutWidget(); + shoutWidget.id = 'JupyterShoutWidget'; // Widgets need an id + + app.shell.add(shoutWidget, 'right'); + + // Check if the status bar is available, and if so, make + // a status bar widget to hold some information + if (statusBar) { + const statusBarWidget = new ShoutStatusBarSummary(); + + statusBar.registerStatusItem('shoutStatusBarSummary', { + item: statusBarWidget + }); + + // Connect to the messageShouted to be notified when a new message + // is published and react to it by updating the status bar widget. + shoutWidget.messageShouted.connect((widget: ShoutWidget, time: Date) => { + statusBarWidget.setSummary( + 'Last Shout: ' + widget.lastShoutTime?.toString() ?? '(None)' + ); + }); + } + +Using Required Features to Switch Behaviors +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Another pattern you can follow is to export a list of plugins from your +extension, then use different "requires" features to select different +behaviors based on which app the extension is currently running in. + +Here is a snippet from `this sample extension `_ +which adds a *clap* button to the top area in JupyterLab, or to the +right sidebar in Jupyter Notebook 7 (you can read the full extension +example code there): + +.. code:: TypeScript + + /** + * Data for the @jupyterlab-examples/clap-button JupyterLab plugin. + */ + const pluginJupyterLab: JupyterFrontEndPlugin = { + id: '@jupyterlab-examples/clap-button:pluginLab', + description: 'Adds a clap button to the top area JupyterLab', + autoStart: true, + requires: [ILabShell], + activate: (app: JupyterFrontEnd, labShell: ILabShell) => { + console.log( + 'JupyterLab extension @jupyterlab-examples/clap-button is activated!' + ); + + // Create a ClapWidget and add it to the interface in the top area + const clapWidget = new ClapWidget(); + clapWidget.id = 'JupyterLabClapWidgetLab'; + app.shell.add(clapWidget, 'top'); + } + }; + + /** + * Data for the @jupyterlab-examples/clap-button Jupyter Notebook plugin. + */ + const pluginJupyterNotebook: JupyterFrontEndPlugin = { + id: '@jupyterlab-examples/clap-button:pluginNotebook', + description: 'Adds a clap button to the right sidebar of Jupyter Notebook 7', + autoStart: true, + requires: [INotebookShell], + activate: (app: JupyterFrontEnd, notebookShell: INotebookShell) => { + console.log( + 'Jupyter Notebook extension @jupyterlab-examples/clap-button is activated!' + ); + + // Create a ClapWidget and add it to the interface in the right area + const clapWidget = new ClapWidget(); + clapWidget.id = 'JupyterNotebookClapWidgetNotebook'; + app.shell.add(clapWidget, 'right'); + } + }; + + /** + * Gather all plugins defined by this extension + */ + const plugins: JupyterFrontEndPlugin[] = [ + pluginJupyterLab, + pluginJupyterNotebook + ]; + + export default plugins; + +As you can see above, this extension exports multiple plugins in a list, +and each plugin uses different *requires* features to switch between +different behaviors (in this case, different layout areas) depending on +the app it is being loaded into. The first plugin requires ``ILabShell`` +(available in JupyterLab), and the second plugin requires ``INotebookShell`` +(available in Jupyter Notebook 7). + +This approach (testing the shell at plugin load time) is not the preferred +method for making compatible extensions since it is less granular, less +universal (as the shell is specific to a given app generally) and offers +only very broad behavior switching, though it can be used to make specialized +features that target one particular app in your extensions. In general, you +should prefer the "Testing for Optional Features" approach and target the +"Common Extension Points" mentioned above. + +Further Reading +--------------- + +For an explanation of JupyterLab's plugin system and JupyterLab's Provider-Consumer pattern (a type of `dependency-injection `_ +pattern), read the :ref:`Extension Development document `. diff --git a/examples/app/package.json b/examples/app/package.json index 6f9c574acdde..619bba52f1ce 100644 --- a/examples/app/package.json +++ b/examples/app/package.json @@ -1,45 +1,45 @@ { "name": "@jupyterlab/example-app", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "build": "webpack", "clean": "rimraf build" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/application-extension": "^4.1.2", - "@jupyterlab/apputils-extension": "^4.1.2", - "@jupyterlab/builder": "^4.1.2", - "@jupyterlab/celltags-extension": "^4.1.2", - "@jupyterlab/codemirror-extension": "^4.1.2", - "@jupyterlab/completer-extension": "^4.1.2", - "@jupyterlab/console-extension": "^4.1.2", - "@jupyterlab/csvviewer-extension": "^4.1.2", - "@jupyterlab/docmanager-extension": "^4.1.2", - "@jupyterlab/filebrowser-extension": "^4.1.2", - "@jupyterlab/fileeditor-extension": "^4.1.2", - "@jupyterlab/help-extension": "^4.1.2", - "@jupyterlab/imageviewer-extension": "^4.1.2", - "@jupyterlab/inspector-extension": "^4.1.2", - "@jupyterlab/launcher-extension": "^4.1.2", - "@jupyterlab/mainmenu-extension": "^4.1.2", - "@jupyterlab/markdownviewer-extension": "^4.1.2", - "@jupyterlab/mathjax-extension": "^4.1.2", - "@jupyterlab/metadataform-extension": "^4.1.2", - "@jupyterlab/notebook-extension": "^4.1.2", - "@jupyterlab/rendermime-extension": "^4.1.2", - "@jupyterlab/running-extension": "^4.1.2", - "@jupyterlab/settingeditor-extension": "^4.1.2", - "@jupyterlab/shortcuts-extension": "^4.1.2", - "@jupyterlab/statusbar-extension": "^4.1.2", - "@jupyterlab/theme-dark-extension": "^4.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/toc-extension": "^6.1.2", - "@jupyterlab/tooltip-extension": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/translation-extension": "^4.1.2", - "@jupyterlab/ui-components-extension": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/application-extension": "^4.2.0-alpha.0", + "@jupyterlab/apputils-extension": "^4.2.0-alpha.0", + "@jupyterlab/builder": "^4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "^4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "^4.2.0-alpha.0", + "@jupyterlab/completer-extension": "^4.2.0-alpha.0", + "@jupyterlab/console-extension": "^4.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "^4.2.0-alpha.0", + "@jupyterlab/help-extension": "^4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "^4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "^4.2.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "^4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "^4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "^4.2.0-alpha.0", + "@jupyterlab/running-extension": "^4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "^4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "^4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "^4.2.0-alpha.0", + "@jupyterlab/theme-dark-extension": "^4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/toc-extension": "^6.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/translation-extension": "^4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "^4.2.0-alpha.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/cell/package.json b/examples/cell/package.json index f55b7c64f18f..393afa275a8f 100644 --- a/examples/cell/package.json +++ b/examples/cell/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-cell", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "build": "tsc -p src && webpack", @@ -9,16 +9,16 @@ "dependencies": { "@jupyter/web-components": "^0.15.2", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/widgets": "^2.3.1" }, diff --git a/examples/console/package.json b/examples/console/package.json index 1c998706e0b2..46d576f14816 100644 --- a/examples/console/package.json +++ b/examples/console/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-console", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "build": "tsc -p src && webpack", @@ -9,14 +9,14 @@ "dependencies": { "@jupyter/web-components": "^0.15.2", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/widgets": "^2.3.1" }, diff --git a/examples/federated/core_package/package.json b/examples/federated/core_package/package.json index 3e4aabc22dea..eb2396632f7a 100644 --- a/examples/federated/core_package/package.json +++ b/examples/federated/core_package/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-federated-core", - "version": "3.1.2", + "version": "3.2.0-alpha.0", "private": true, "scripts": { "build": "npm run clean && webpack", @@ -8,77 +8,77 @@ "watch": "npm run clean && webpack --watch" }, "resolutions": { - "@jupyterlab/application": "~4.1.2", - "@jupyterlab/application-extension": "~4.1.2", + "@jupyterlab/application": "~4.2.0-alpha.0", + "@jupyterlab/application-extension": "~4.2.0-alpha.0", "@jupyterlab/apputils": "~4.1.0-alpha.0", - "@jupyterlab/apputils-extension": "~4.1.2", + "@jupyterlab/apputils-extension": "~4.2.0-alpha.0", "@jupyterlab/attachments": "~4.1.0-alpha.0", "@jupyterlab/cells": "~4.1.0-alpha.0", - "@jupyterlab/celltags-extension": "~4.1.2", + "@jupyterlab/celltags-extension": "~4.2.0-alpha.0", "@jupyterlab/codeeditor": "~4.1.0-alpha.0", - "@jupyterlab/codemirror-extension": "~4.1.2", + "@jupyterlab/codemirror-extension": "~4.2.0-alpha.0", "@jupyterlab/completer": "~4.1.0-alpha.0", - "@jupyterlab/completer-extension": "~4.1.2", + "@jupyterlab/completer-extension": "~4.2.0-alpha.0", "@jupyterlab/console": "~4.1.0-alpha.0", - "@jupyterlab/console-extension": "~4.1.2", - "@jupyterlab/coreutils": "~6.1.2", - "@jupyterlab/csvviewer-extension": "~4.1.2", + "@jupyterlab/console-extension": "~4.2.0-alpha.0", + "@jupyterlab/coreutils": "~6.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "~4.2.0-alpha.0", "@jupyterlab/debugger": "~4.1.0-alpha.0", - "@jupyterlab/debugger-extension": "~4.1.2", + "@jupyterlab/debugger-extension": "~4.2.0-alpha.0", "@jupyterlab/docmanager": "~4.1.0-alpha.0", - "@jupyterlab/docmanager-extension": "~4.1.2", + "@jupyterlab/docmanager-extension": "~4.2.0-alpha.0", "@jupyterlab/documentsearch": "~4.1.0-alpha.0", - "@jupyterlab/documentsearch-extension": "~4.1.2", + "@jupyterlab/documentsearch-extension": "~4.2.0-alpha.0", "@jupyterlab/extensionmanager": "~4.1.0-alpha.0", - "@jupyterlab/extensionmanager-extension": "~4.1.2", + "@jupyterlab/extensionmanager-extension": "~4.2.0-alpha.0", "@jupyterlab/filebrowser": "~4.1.0-alpha.0", - "@jupyterlab/filebrowser-extension": "~4.1.2", + "@jupyterlab/filebrowser-extension": "~4.2.0-alpha.0", "@jupyterlab/fileeditor": "~4.1.0-alpha.0", - "@jupyterlab/fileeditor-extension": "~4.1.2", - "@jupyterlab/help-extension": "~4.1.2", - "@jupyterlab/htmlviewer-extension": "~4.1.2", - "@jupyterlab/hub-extension": "~4.1.2", + "@jupyterlab/fileeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/help-extension": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/hub-extension": "~4.2.0-alpha.0", "@jupyterlab/imageviewer": "~4.1.0-alpha.0", - "@jupyterlab/imageviewer-extension": "~4.1.2", + "@jupyterlab/imageviewer-extension": "~4.2.0-alpha.0", "@jupyterlab/inspector": "~4.1.0-alpha.0", - "@jupyterlab/inspector-extension": "~4.1.2", - "@jupyterlab/javascript-extension": "~4.1.2", - "@jupyterlab/json-extension": "~4.1.2", + "@jupyterlab/inspector-extension": "~4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "~4.2.0-alpha.0", + "@jupyterlab/json-extension": "~4.2.0-alpha.0", "@jupyterlab/launcher": "~4.1.0-alpha.0", - "@jupyterlab/launcher-extension": "~4.1.2", + "@jupyterlab/launcher-extension": "~4.2.0-alpha.0", "@jupyterlab/logconsole": "~4.1.0-alpha.0", - "@jupyterlab/logconsole-extension": "~4.1.2", + "@jupyterlab/logconsole-extension": "~4.2.0-alpha.0", "@jupyterlab/lsp": "~4.1.0-alpha.0", - "@jupyterlab/lsp-extension": "~4.1.2", + "@jupyterlab/lsp-extension": "~4.2.0-alpha.0", "@jupyterlab/mainmenu": "~4.1.0-alpha.0", - "@jupyterlab/mainmenu-extension": "~4.1.2", + "@jupyterlab/mainmenu-extension": "~4.2.0-alpha.0", "@jupyterlab/markedparser-extension": "~4.1.0-alpha.0", - "@jupyterlab/mathjax-extension": "~4.1.2", + "@jupyterlab/mathjax-extension": "~4.2.0-alpha.0", "@jupyterlab/metadataform": "~4.1.0-alpha.0", - "@jupyterlab/metadataform-extension": "~4.1.2", + "@jupyterlab/metadataform-extension": "~4.2.0-alpha.0", "@jupyterlab/notebook": "~4.1.0-alpha.0", - "@jupyterlab/notebook-extension": "~4.1.2", - "@jupyterlab/pdf-extension": "~4.1.2", + "@jupyterlab/notebook-extension": "~4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "~4.2.0-alpha.0", "@jupyterlab/rendermime": "~4.1.0-alpha.0", - "@jupyterlab/rendermime-extension": "~4.1.2", + "@jupyterlab/rendermime-extension": "~4.2.0-alpha.0", "@jupyterlab/rendermime-interfaces": "^3.9.0-alpha.1", "@jupyterlab/services": "~7.1.0-alpha.0", "@jupyterlab/settingeditor": "~4.1.0-alpha.0", - "@jupyterlab/settingeditor-extension": "~4.1.2", + "@jupyterlab/settingeditor-extension": "~4.2.0-alpha.0", "@jupyterlab/settingregistry": "~4.1.0-alpha.0", - "@jupyterlab/shortcuts-extension": "~4.1.2", + "@jupyterlab/shortcuts-extension": "~4.2.0-alpha.0", "@jupyterlab/statedb": "~4.1.0-alpha.0", "@jupyterlab/statusbar": "~4.1.0-alpha.0", - "@jupyterlab/statusbar-extension": "~4.1.2", - "@jupyterlab/theme-light-extension": "~4.1.2", - "@jupyterlab/toc-extension": "~6.1.2", + "@jupyterlab/statusbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "~4.2.0-alpha.0", + "@jupyterlab/toc-extension": "~6.2.0-alpha.0", "@jupyterlab/tooltip": "~4.1.0-alpha.0", - "@jupyterlab/tooltip-extension": "~4.1.2", - "@jupyterlab/translation": "~4.1.2", - "@jupyterlab/translation-extension": "~4.1.2", + "@jupyterlab/tooltip-extension": "~4.2.0-alpha.0", + "@jupyterlab/translation": "~4.2.0-alpha.0", + "@jupyterlab/translation-extension": "~4.2.0-alpha.0", "@jupyterlab/ui-components": "~4.1.0-alpha.0", - "@jupyterlab/ui-components-extension": "~4.1.2", - "@jupyterlab/vega5-extension": "~4.1.2", + "@jupyterlab/ui-components-extension": "~4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "~4.2.0-alpha.0", "@lumino/algorithm": "^2.0.0", "@lumino/application": "^2.3.0-alpha.0", "@lumino/commands": "^2.0.1", @@ -96,50 +96,50 @@ "yjs": "^13.5.40" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/application-extension": "^4.1.2", - "@jupyterlab/apputils-extension": "^4.1.2", - "@jupyterlab/celltags-extension": "^4.1.2", - "@jupyterlab/codemirror-extension": "^4.1.2", - "@jupyterlab/completer-extension": "^4.1.2", - "@jupyterlab/console-extension": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/csvviewer-extension": "^4.1.2", - "@jupyterlab/debugger-extension": "^4.1.2", - "@jupyterlab/docmanager-extension": "^4.1.2", - "@jupyterlab/documentsearch-extension": "^4.1.2", - "@jupyterlab/extensionmanager-extension": "^4.1.2", - "@jupyterlab/filebrowser-extension": "^4.1.2", - "@jupyterlab/fileeditor-extension": "^4.1.2", - "@jupyterlab/help-extension": "^4.1.2", - "@jupyterlab/htmlviewer-extension": "^4.1.2", - "@jupyterlab/hub-extension": "^4.1.2", - "@jupyterlab/imageviewer-extension": "^4.1.2", - "@jupyterlab/inspector-extension": "^4.1.2", - "@jupyterlab/javascript-extension": "^4.1.2", - "@jupyterlab/json-extension": "^4.1.2", - "@jupyterlab/launcher-extension": "^4.1.2", - "@jupyterlab/logconsole-extension": "^4.1.2", - "@jupyterlab/lsp-extension": "^4.1.2", - "@jupyterlab/mainmenu-extension": "^4.1.2", - "@jupyterlab/mathjax-extension": "^4.1.2", - "@jupyterlab/metadataform-extension": "^4.1.2", - "@jupyterlab/notebook-extension": "^4.1.2", - "@jupyterlab/pdf-extension": "^4.1.2", - "@jupyterlab/rendermime-extension": "^4.1.2", - "@jupyterlab/settingeditor-extension": "^4.1.2", - "@jupyterlab/shortcuts-extension": "^4.1.2", - "@jupyterlab/statusbar-extension": "^4.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/toc-extension": "^6.1.2", - "@jupyterlab/tooltip-extension": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/translation-extension": "^4.1.2", - "@jupyterlab/ui-components-extension": "^4.1.2", - "@jupyterlab/vega5-extension": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/application-extension": "^4.2.0-alpha.0", + "@jupyterlab/apputils-extension": "^4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "^4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "^4.2.0-alpha.0", + "@jupyterlab/completer-extension": "^4.2.0-alpha.0", + "@jupyterlab/console-extension": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/debugger-extension": "^4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch-extension": "^4.2.0-alpha.0", + "@jupyterlab/extensionmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "^4.2.0-alpha.0", + "@jupyterlab/help-extension": "^4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/hub-extension": "^4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "^4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "^4.2.0-alpha.0", + "@jupyterlab/json-extension": "^4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "^4.2.0-alpha.0", + "@jupyterlab/logconsole-extension": "^4.2.0-alpha.0", + "@jupyterlab/lsp-extension": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "^4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "^4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "^4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "^4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "^4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "^4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "^4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "^4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/toc-extension": "^6.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/translation-extension": "^4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "^4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "^4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2", + "@jupyterlab/builder": "^4.2.0-alpha.0", "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.1", "fs-extra": "^10.1.0", diff --git a/examples/federated/md_package/package.json b/examples/federated/md_package/package.json index 5a5913e50ab3..e6464a641fae 100644 --- a/examples/federated/md_package/package.json +++ b/examples/federated/md_package/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-federated-md", - "version": "3.1.2", + "version": "3.2.0-alpha.0", "private": true, "main": "./index.js", "scripts": { @@ -8,13 +8,13 @@ "clean": "rimraf ../labextensions/@jupyterlab/example-federated-md" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/example-federated-middle": "^3.0.5", - "@jupyterlab/markdownviewer-extension": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/example-federated-middle": "^3.1.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "^4.2.0-alpha.0", "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2", + "@jupyterlab/builder": "^4.2.0-alpha.0", "rimraf": "~5.0.5" }, "jupyterlab": { diff --git a/examples/federated/middle_package/package.json b/examples/federated/middle_package/package.json index 97291c32749d..374ffd552451 100644 --- a/examples/federated/middle_package/package.json +++ b/examples/federated/middle_package/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-federated-middle", - "version": "3.0.5", + "version": "3.1.0-alpha.0", "private": true, "scripts": { "build": "npm run clean && build-labextension --core-path ../core_package .", @@ -10,7 +10,7 @@ "@lumino/coreutils": "^2.1.2" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2", + "@jupyterlab/builder": "^4.2.0-alpha.0", "rimraf": "~5.0.5" }, "publishConfig": { diff --git a/examples/federated/package.json b/examples/federated/package.json index dad5638dc817..10fbf19ff62b 100644 --- a/examples/federated/package.json +++ b/examples/federated/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-federated", - "version": "3.1.2", + "version": "3.2.0-alpha.0", "private": true, "scripts": { "build": "npm run build:core && npm run build:middle && npm run build:md", diff --git a/examples/filebrowser/package.json b/examples/filebrowser/package.json index af6767c5bb47..2c7740f71a19 100644 --- a/examples/filebrowser/package.json +++ b/examples/filebrowser/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-filebrowser", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "build": "tsc -p src && webpack", @@ -8,18 +8,18 @@ }, "dependencies": { "@jupyter/web-components": "^0.15.2", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/fileeditor": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/widgets": "^2.3.1" }, diff --git a/examples/notebook/package.json b/examples/notebook/package.json index bc068cfdedf5..0d34b0f2fbaa 100644 --- a/examples/notebook/package.json +++ b/examples/notebook/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-notebook", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "build": "tsc -p src && webpack", @@ -9,22 +9,22 @@ "dependencies": { "@jupyter/web-components": "^0.15.2", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/markedparser-extension": "^4.1.2", - "@jupyterlab/mathjax-extension": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/markedparser-extension": "^4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/widgets": "^2.3.1" }, diff --git a/examples/terminal/package.json b/examples/terminal/package.json index 69896f09a1e2..073e87a28f92 100644 --- a/examples/terminal/package.json +++ b/examples/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-terminal", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "build": "tsc -p src && webpack", @@ -8,11 +8,11 @@ }, "dependencies": { "@jupyter/web-components": "^0.15.2", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/terminal": "^4.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/terminal": "^4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", "@lumino/widgets": "^2.3.1" }, "devDependencies": { diff --git a/galata/README.md b/galata/README.md index 25fb80f93460..85e62fd78d05 100644 --- a/galata/README.md +++ b/galata/README.md @@ -126,7 +126,14 @@ To debug tests, a good way is to use the inspector tool of playwright: ``` jupyter lab --config jupyter_server_test_config.py & -PWDEBUG=1 jlpm playwright test +jlpm playwright test --debug +``` + +Or the [UI mode](https://playwright.dev/docs/test-ui-mode): + +``` +jupyter lab --config jupyter_server_test_config.py & +jlpm playwright test --ui ``` ### Dealing with login diff --git a/galata/extension/package.json b/galata/extension/package.json index 3b4fb36acddd..7d10aa0e0179 100644 --- a/galata/extension/package.json +++ b/galata/extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/galata-extension", - "version": "5.1.2", + "version": "5.2.0-alpha.0", "private": true, "description": "JupyterLab UI Testing Framework Extension.", "keywords": [ @@ -32,20 +32,20 @@ "clean:lib": "rimraf ../lib/extension tsconfig.tsbuildinfo" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/debugger": "^4.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/debugger": "^4.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/signaling": "^2.1.2" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2", + "@jupyterlab/builder": "^4.2.0-alpha.0", "rimraf": "~5.0.5", "typescript": "~5.1.6" }, diff --git a/galata/package.json b/galata/package.json index 2c7e8667efbc..9e86d4e78870 100644 --- a/galata/package.json +++ b/galata/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/galata", - "version": "5.1.2", + "version": "5.2.0-alpha.0", "description": "JupyterLab UI Testing Framework", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -44,15 +44,15 @@ "test:update": "jlpm test:base:update && jlpm test:benchmark:update" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/debugger": "^4.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/debugger": "^4.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@playwright/test": "^1.32.2", "@stdlib/stats": "~0.0.13", diff --git a/galata/src/fixtures.ts b/galata/src/fixtures.ts index 6a153c346ebc..088ec0673797 100644 --- a/galata/src/fixtures.ts +++ b/galata/src/fixtures.ts @@ -321,9 +321,7 @@ export const test: TestType< page: Page, helpers: IJupyterLabPage ): Promise => { - await page.waitForSelector('#jupyterlab-splash', { - state: 'detached' - }); + await page.locator('#jupyterlab-splash').waitFor({ state: 'detached' }); await helpers.waitForCondition(() => { return helpers.activity.isTabActive('Launcher'); }); diff --git a/galata/src/galata.ts b/galata/src/galata.ts index cbf9ef565969..de3e25854d50 100644 --- a/galata/src/galata.ts +++ b/galata/src/galata.ts @@ -578,7 +578,10 @@ export namespace galata { * #### Notes * The goal is to freeze the file browser display */ - export async function freezeContentLastModified(page: Page): Promise { + export async function freezeContentLastModified( + page: Page, + filter?: (directoryList: T[]) => T[] + ): Promise { // Listen for closing connection (may happen when request are still being processed) let isClosed = false; const ctxt = page.context(); @@ -609,6 +612,9 @@ export namespace galata { data['type'] === 'directory' && Array.isArray(data['content']) ) { + if (filter) { + data['content'] = filter(data['content']); + } const now = Date.now(); const aDayAgo = new Date(now - 24 * 3600 * 1000).toISOString(); for (const entry of data['content'] as any[]) { diff --git a/galata/src/helpers/activity.ts b/galata/src/helpers/activity.ts index b36acd2da690..8ca8e6c490cb 100644 --- a/galata/src/helpers/activity.ts +++ b/galata/src/helpers/activity.ts @@ -50,11 +50,11 @@ export class ActivityHelper { .inputValue(); return activeTab === name; } else { - const tab = await this.getTab(name); - if (!tab) { + const tab = this.getTabLocator(name); + if (!(await tab.count())) { return false; } - const classes = ((await tab.getAttribute('class')) ?? '').split(' '); + const classes = await Utils.getLocatorClassList(tab); return classes.includes('jp-mod-current'); } } @@ -64,15 +64,19 @@ export class ActivityHelper { * * @param name Activity name * @returns Handle on the tab or null if the tab is not found + * + * @deprecated You should use locator instead {@link getTabLocator} */ async getTab(name?: string): Promise | null> { - let handle: ElementHandle | null = null; - try { - handle = await this.getTabLocator(name).elementHandle({ timeout: 500 }); - } catch { - handle = null; + const locator = this.getTabLocator(name); + const start = Date.now(); + while ((await locator.count()) == 0 && Date.now() - start < 500) { + await this.page.waitForTimeout(50); + } + if ((await locator.count()) > 0) { + return locator.elementHandle(); } - return handle; + return null; } /** @@ -91,6 +95,8 @@ export class ActivityHelper { * * @param name Activity name * @returns Handle on the tab or null if the tab is not found + * + * @deprecated You should use locator instead {@link getPanelLocator} */ async getPanel(name?: string): Promise | null> { const page = this.page; @@ -108,14 +114,14 @@ export class ActivityHelper { locator = page.getByRole('main').locator(`[role="tabpanel"][id="${id}"]`); } - let handle: ElementHandle | null = null; - try { - handle = await locator.elementHandle({ timeout: 500 }); - } catch { - handle = null; + const start = Date.now(); + while ((await locator.count()) == 0 && Date.now() - start < 500) { + await this.page.waitForTimeout(50); } - - return handle; + if ((await locator.count()) > 0) { + return locator.elementHandle(); + } + return null; } /** @@ -161,16 +167,12 @@ export class ActivityHelper { * @returns Whether the action is successful */ async activateTab(name: string): Promise { - const tab = await this.getTab(name); - if (tab) { + const tab = this.getTabLocator(name); + if ((await tab.count()) === 1) { await tab.click(); - await this.page.waitForFunction( - ({ tab }) => { - return tab.ariaSelected === 'true'; - }, - { tab } + await Utils.waitForCondition( + async () => (await tab.getAttribute('aria-selected')) === 'true' ); - return true; } diff --git a/galata/src/helpers/debuggerpanel.ts b/galata/src/helpers/debuggerpanel.ts index a12e27fca7d9..108133617873 100644 --- a/galata/src/helpers/debuggerpanel.ts +++ b/galata/src/helpers/debuggerpanel.ts @@ -3,13 +3,11 @@ * Distributed under the terms of the Modified BSD License. */ -import { ElementHandle, Page } from '@playwright/test'; +import { ElementHandle, Locator, Page } from '@playwright/test'; import { SidebarHelper } from './sidebar'; import { NotebookHelper } from './notebook'; import { waitForCondition } from '../utils'; -const DEBUGGER_ITEM = 'debugger-icon'; - /** * Debugger Helper */ @@ -22,47 +20,57 @@ export class DebuggerHelper { /** * Returns true if debugger toolbar item is enabled, false otherwise + * + * @param name Notebook name */ - async isOn(): Promise { - if (!(await this.notebook.isAnyActive())) { - return false; - } - const item = await this.notebook.getToolbarItem(DEBUGGER_ITEM); - if (item) { - const button = await item.$('button'); - if (button) { - return (await button.getAttribute('aria-pressed')) === 'true'; - } + async isOn(name?: string): Promise { + const toolbar = await this.notebook.getToolbarLocator(name); + const button = toolbar?.locator('.jp-DebuggerBugButton'); + if (((await button?.count()) ?? 0) > 0) { + return (await button!.getAttribute('aria-pressed')) === 'true'; } return false; } /** * Enables the debugger toolbar item + * + * @param name Notebook name */ - async switchOn(): Promise { - await waitForCondition(async () => { - const item = await this.notebook.getToolbarItem(DEBUGGER_ITEM); - if (item) { - const button = await item.$('button'); - if (button) { - return (await button.getAttribute('aria-disabled')) !== 'true'; - } - } - return false; - }, 2000); - if (!(await this.isOn())) { - await this.notebook.clickToolbarItem(DEBUGGER_ITEM); + async switchOn(name?: string): Promise { + const toolbar = await this.notebook.getToolbarLocator(name); + if (!toolbar) { + return; } + const button = toolbar.locator('.jp-DebuggerBugButton'); + await waitForCondition(async () => (await button.count()) === 1); + await waitForCondition( + async () => (await button!.isDisabled()) === false, + 2000 + ); + + if (!(await this.isOn(name))) { + await button!.click(); + } + await waitForCondition(async () => await this.isOn(name)); } /** * Disables the debugger toolbar item + * + * @param name Notebook name */ - async switchOff(): Promise { - if (await this.isOn()) { - await this.notebook.clickToolbarItem(DEBUGGER_ITEM); + async switchOff(name?: string): Promise { + const toolbar = await this.notebook.getToolbarLocator(name); + if (!toolbar) { + return; + } + const button = toolbar.locator('.jp-DebuggerBugButton'); + await waitForCondition(async () => (await button.count()) === 1); + if (await this.isOn(name)) { + await button!.click(); } + await waitForCondition(async () => !(await this.isOn(name))); } /** @@ -74,8 +82,17 @@ export class DebuggerHelper { /** * Returns handle to the variables panel content + * + * @deprecated You should use locator instead {@link getVariablesPanelLocator} */ async getVariablesPanel(): Promise | null> { + return (await this.getVariablesPanelLocator()).elementHandle(); + } + + /** + * Returns locator to the variables panel content + */ + async getVariablesPanelLocator(): Promise { return this._getPanel('.jp-DebuggerVariables'); } @@ -83,7 +100,7 @@ export class DebuggerHelper { * Waits for variables to be populated in the variables panel */ async waitForVariables(): Promise { - await this.page.waitForSelector('.jp-DebuggerVariables-body ul'); + await this.page.locator('.jp-DebuggerVariables-body ul').waitFor(); } /** @@ -96,13 +113,22 @@ export class DebuggerHelper { await this.page .locator('.lm-Menu-itemLabel:text("Render Variable")') .click(); - await this.page.waitForSelector('.jp-VariableRendererPanel-renderer'); + await this.page.locator('.jp-VariableRendererPanel-renderer').waitFor(); } /** * Returns handle to callstack panel content + * + * @deprecated You should use locator instead {@link getCallStackPanelLocator} */ async getCallStackPanel(): Promise | null> { + return (await this.getCallStackPanelLocator()).elementHandle(); + } + + /** + * Returns locator to callstack panel content + */ + async getCallStackPanelLocator(): Promise { return this._getPanel('.jp-DebuggerCallstack'); } @@ -110,15 +136,25 @@ export class DebuggerHelper { * Waits for the callstack body to populate in the callstack panel */ async waitForCallStack(): Promise { - await this.page.waitForSelector( - '.jp-DebuggerCallstack-body >> .jp-DebuggerCallstackFrame' - ); + await this.page + .locator('.jp-DebuggerCallstack-body >> .jp-DebuggerCallstackFrame') + .first() + .waitFor(); } /** * Returns handle to breakpoints panel content + * + * @deprecated You should use locator instead {@link getBreakPointsPanelLocator} */ async getBreakPointsPanel(): Promise | null> { + return (await this.getBreakPointsPanelLocator()).elementHandle(); + } + + /** + * Returns locator to breakpoints panel content + */ + async getBreakPointsPanelLocator(): Promise { return this._getPanel('.jp-DebuggerBreakpoints'); } @@ -126,15 +162,25 @@ export class DebuggerHelper { * Waits for the breakpoints to appear in the breakpoints panel */ async waitForBreakPoints(): Promise { - await this.page.waitForSelector( - '.jp-DebuggerBreakpoints >> .jp-DebuggerBreakpoint' - ); + await this.page + .locator('.jp-DebuggerBreakpoints >> .jp-DebuggerBreakpoint') + .first() + .waitFor(); } /** * Returns handle to sources panel content + * + * @deprecated You should use locator instead {@link getSourcePanelLocator} */ async getSourcePanel(): Promise | null> { + return (await this.getSourcePanelLocator()).elementHandle(); + } + + /** + * Returns locator to sources panel content + */ + async getSourcePanelLocator(): Promise { return this._getPanel('.jp-DebuggerSources'); } @@ -142,18 +188,14 @@ export class DebuggerHelper { * Waits for sources to be populated in the sources panel */ async waitForSources(): Promise { - await this.page.waitForSelector('.jp-DebuggerSources-body >> .jp-Editor', { - state: 'visible' - }); + await this.page + .locator('.jp-DebuggerSources-body >> .jp-Editor') + .first() + .waitFor({ state: 'visible' }); } - private async _getPanel( - selector: string - ): Promise | null> { - const panel = await this.sidebar.getContentPanel('right'); - if (panel) { - return panel.$(selector); - } - return null; + private async _getPanel(selector: string): Promise { + const panel = this.sidebar.getContentPanelLocator('right'); + return panel.locator(selector); } } diff --git a/galata/src/helpers/filebrowser.ts b/galata/src/helpers/filebrowser.ts index 3137db282dc3..9891b8ed8a29 100644 --- a/galata/src/helpers/filebrowser.ts +++ b/galata/src/helpers/filebrowser.ts @@ -54,9 +54,7 @@ export class FileBrowserHelper { await this.openDirectory(dirPath); } - await Utils.waitForCondition(async () => { - return await this.isFileListedInBrowser(fileName); - }); + await Utils.waitForCondition(() => this.isFileListedInBrowser(fileName)); } /** @@ -66,10 +64,11 @@ export class FileBrowserHelper { * @returns File status */ async isFileListedInBrowser(fileName: string): Promise { - const item = await this.page.$( - `xpath=${this.xpBuildFileSelector(fileName)}` - ); - return item !== null; + const item = this.page + .getByRole('region', { name: 'File Browser Section' }) + .getByRole('listitem', { name: new RegExp(`^Name: ${fileName}`) }); + + return (await item.count()) > 0; } /** @@ -106,10 +105,10 @@ export class FileBrowserHelper { await this.revealFileInBrowser(filePath); const name = path.basename(filePath); - const fileItem = await this.page.$( - `xpath=${this.xpBuildFileSelector(name)}` - ); - if (fileItem) { + const fileItem = this.page + .getByRole('region', { name: 'File Browser Section' }) + .getByRole('listitem', { name: new RegExp(`^Name: ${name}`) }); + if (await fileItem.count()) { if (factory) { await fileItem.click({ button: 'right' }); await this.page @@ -127,7 +126,7 @@ export class FileBrowserHelper { // to know that from the DOM). await this.page .getByRole('main') - .getByRole('tab', { name }) + .getByRole('tab', { name: new RegExp(`^${name}`) }) .last() .waitFor({ state: 'visible' @@ -145,10 +144,10 @@ export class FileBrowserHelper { * @returns Action success status */ async openHomeDirectory(): Promise { - const homeButton = await this.page.$( - '.jp-FileBrowser .jp-FileBrowser-crumbs span' - ); - if (!homeButton) { + const homeButton = this.page + .locator('.jp-FileBrowser .jp-FileBrowser-crumbs span') + .first(); + if (!(await homeButton.count())) { return false; } await homeButton.click(); @@ -210,7 +209,7 @@ export class FileBrowserHelper { */ async refresh(): Promise { const page = this.page; - const item = page + const button = page .locator('#filebrowser') .locator( '.jp-ToolbarButtonComponent[data-command="filebrowser:refresh"]' @@ -222,7 +221,7 @@ export class FileBrowserHelper { await Promise.race([ page.waitForTimeout(2000), this.contents.waitForAPIResponse(async () => { - await item.click(); + await button.click(); }) ]); // wait for DOM rerender @@ -230,18 +229,18 @@ export class FileBrowserHelper { } protected async _openDirectory(dirName: string): Promise { - const item = await this.page.$( - `xpath=${this.xpBuildDirectorySelector(dirName)}` - ); - if (item === null) { - return false; - } + const item = this.page + .getByRole('region', { name: 'File Browser Section' }) + .getByRole('listitem', { name: new RegExp(`^Name: ${dirName}`) }); + await Utils.waitForCondition(async () => (await item.count()) > 0); await this.contents.waitForAPIResponse(async () => { - await item.click({ clickCount: 2 }); + await item.dblclick(); }); - // wait for DOM rerender - await this.page.waitForTimeout(200); + await this.page + .getByRole('region', { name: 'File Browser Section' }) + .getByText(`/${dirName}/`) + .waitFor(); return true; } diff --git a/galata/src/helpers/menu.ts b/galata/src/helpers/menu.ts index ae87903e3480..f57cdc3857cf 100644 --- a/galata/src/helpers/menu.ts +++ b/galata/src/helpers/menu.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { ElementHandle, Page } from '@playwright/test'; +import { ElementHandle, Locator, Page } from '@playwright/test'; import * as Utils from '../utils'; /** @@ -15,17 +15,14 @@ export class MenuHelper { */ async closeAll(): Promise { const page = this.page; - const existingMenus = await page.$$('.lm-Menu'); - const numOpenMenus = existingMenus.length; + const existingMenus = page.locator('.lm-Menu'); + const numOpenMenus = await existingMenus.count(); // close menus for (let i = 0; i < numOpenMenus; ++i) { await page.keyboard.press('Escape'); await page.waitForTimeout(100); - await page.waitForFunction( - (menuCount: number) => { - return document.querySelectorAll('.lm-Menu').length === menuCount; - }, - numOpenMenus - (i + 1) + await Utils.waitForCondition( + async () => (await existingMenus.count()) === numOpenMenus - (i + 1) ); } } @@ -35,12 +32,22 @@ export class MenuHelper { * * @param label Menu label * @returns Handle to the menu or null + * + * @deprecated You should use locator instead {@link getMenuBarItemLocator} */ getMenuBarItem(label: string): Promise | null> { - return this.page.$( - `xpath=//li[./div[text()="${label}" and ${Utils.xpContainsClass( - 'lm-MenuBar-itemLabel' - )}]]` + return this.getMenuBarItemLocator(label).elementHandle(); + } + + /** + * Get the locator on a menu from its label. + * + * @param label Menu label + * @returns Locator to the menu + */ + getMenuBarItemLocator(label: string): Locator { + return this.page.locator( + `li:has(div.lm-MenuBar-itemLabel:text-is("${label}"))` ); } @@ -49,14 +56,26 @@ export class MenuHelper { * * @param selector Element over which the menu should be opened * @returns Handle to the menu or null + * + * @deprecated You should use locator instead {@link openContextMenuLocator} */ async openContextMenu( selector: string ): Promise | null> { + return (await this.openContextMenuLocator(selector)).elementHandle(); + } + + /** + * Open a context menu and get its locator. + * + * @param selector Element over which the menu should be opened + * @returns Locator to the menu + */ + async openContextMenuLocator(selector: string): Promise { await this.page.click(selector, { button: 'right' }); - return await this.page.$('.lm-Menu'); + return this.page.locator('.lm-Menu'); } /** @@ -65,30 +84,43 @@ export class MenuHelper { * The separator used is '>'; e.g. to look for the new Notebook item 'File>New>Notebook'. * * @param path Menu item path - * @returns Handle to the menu item + * @returns Handle to the menu item or null + * + * @deprecated You should use locator instead {@link getMenuItemLocator} */ async getMenuItem(path: string): Promise | null> { + return (await this.getMenuItemLocator(path))?.elementHandle() ?? null; + } + + /** + * Get the locator on a menu item from its path. + * + * The separator used is '>'; e.g. to look for the new Notebook item 'File>New>Notebook'. + * + * @param path Menu item path + * @returns Locator to the menu item or null + */ + async getMenuItemLocator(path: string): Promise { const page = this.page; const parts = path.split('>'); const numParts = parts.length; - let subMenu: ElementHandle | null = null; + let subMenu: Locator | null = null; for (let i = 0; i < numParts; ++i) { const part = parts[i]; const menuItem = i === 0 - ? await this.getMenuBarItem(part) - : await this.getMenuItemInMenu(subMenu!, part); + ? this.getMenuBarItemLocator(part) + : await this.getMenuItemLocatorInMenu(subMenu!, part); if (menuItem) { if (i === numParts - 1) { return menuItem; } else { if (i === 0) { - subMenu = await page.$('.lm-Menu.lm-MenuBar-menu'); + subMenu = page.locator('.lm-Menu.lm-MenuBar-menu'); } else { - const newMenus = await page.$$('.lm-Menu'); - subMenu = - newMenus?.length > 0 ? newMenus[newMenus.length - 1] : null; + const newMenus = page.locator('.lm-Menu'); + subMenu = (await newMenus.count()) > 0 ? newMenus.last() : null; } if (!subMenu) { return null; @@ -107,7 +139,9 @@ export class MenuHelper { * * @param parentMenu Menu handle * @param label Item label - * @returns Handle to the menu item + * @returns Handle to the menu item or null + * + * @deprecated You should use locator instead {@link getMenuItemLocatorInMenu} */ async getMenuItemInMenu( parentMenu: ElementHandle, @@ -124,13 +158,33 @@ export class MenuHelper { return items.length > 0 ? items[0] : null; } + /** + * Get a menu item locator from its label. + * + * @param parentMenu Menu locator + * @param label Item label + * @returns Locator to the menu item or null + */ + async getMenuItemLocatorInMenu( + parentMenu: Locator, + label: string + ): Promise { + const items = parentMenu.locator( + `ul li:has(div.lm-Menu-itemLabel:text-is("${label}"))` + ); + if ((await items.count()) > 1) { + throw new Error(`More than one menu item matches label '${label}'`); + } + return (await items.count()) > 0 ? items.first() : null; + } + /** * Whether any menus are opened or not * * @returns Opened menus status */ async isAnyOpen(): Promise { - return (await this.page.$('.lm-Menu')) !== null; + return (await this.page.locator('.lm-Menu').count()) > 0; } /** @@ -140,7 +194,7 @@ export class MenuHelper { * @returns Opened menu status */ async isOpen(path: string): Promise { - return (await this.getMenuItem(path)) !== null; + return (await (await this.getMenuItemLocator(path))?.isVisible()) ?? false; } /** @@ -148,45 +202,56 @@ export class MenuHelper { * * @param path Menu path * @returns Handle to the opened menu + * + * @deprecated You should use locator instead {@link openLocator} */ async open(path: string): Promise | null> { + return (await this.openLocator(path))?.elementHandle() ?? null; + } + + /** + * Open a menu from its path + * + * @param path Menu path + * @returns Locator to the opened menu + */ + async openLocator(path: string): Promise { await this.closeAll(); const page = this.page; const parts = path.split('>'); const numParts = parts.length; - let subMenu: ElementHandle | null = null; + let subMenu: Locator | null = null; for (let i = 0; i < numParts; ++i) { const part = parts[i]; const menuItem = i === 0 - ? await this.getMenuBarItem(part) - : await this.getMenuItemInMenu(subMenu!, part); + ? this.getMenuBarItemLocator(part) + : await this.getMenuItemLocatorInMenu(subMenu!, part); if (menuItem) { if (i === 0) { await menuItem.click(); - subMenu = await page.waitForSelector('.lm-Menu.lm-MenuBar-menu', { - state: 'visible' - }); + subMenu = page.locator('.lm-Menu.lm-MenuBar-menu'); + await subMenu.waitFor({ state: 'visible' }); } else { - const existingMenus = await page.$$('.lm-Menu'); + const expectedMenusCount = + (await page.locator('.lm-Menu').count()) + 1; await menuItem.hover(); - await page.waitForFunction( - ({ n, item }) => { - return ( - document.querySelectorAll('.lm-Menu').length === n && - item.classList.contains('lm-mod-active') - ); - }, - { n: existingMenus.length + 1, item: menuItem } - ); + await Utils.waitForCondition(async () => { + return ( + (await page.locator('.lm-Menu').count()) === expectedMenusCount && + (await Utils.getLocatorClassList(menuItem)).includes( + 'lm-mod-active' + ) + ); + }); await page.waitForTimeout(200); // Fetch a new list of menus, and fetch the last one. // We are assuming the last menu is the most recently opened. - const newMenus = await page.$$('.lm-Menu'); - subMenu = newMenus[newMenus.length - 1]; + const newMenus = page.locator('.lm-Menu'); + subMenu = newMenus.last(); } } } @@ -198,11 +263,22 @@ export class MenuHelper { * Get the handle to the last opened menu * * @returns Handle to the opened menu + * + * @deprecated You should use locator instead {@link getOpenMenuLocator} */ async getOpenMenu(): Promise | null> { - const openMenus = await this.page.$$('.lm-Widget.lm-Menu .lm-Menu-content'); - if (openMenus.length > 0) { - return openMenus[openMenus.length - 1]; + return (await this.getOpenMenuLocator())?.elementHandle() ?? null; + } + + /** + * Get the locator to the last opened menu + * + * @returns Handle to the opened menu + */ + async getOpenMenuLocator(): Promise { + const openMenus = this.page.locator('.lm-Widget.lm-Menu .lm-Menu-content'); + if ((await openMenus.count()) > 0) { + return openMenus.last(); } return null; @@ -220,9 +296,9 @@ export class MenuHelper { path = parts.slice(0, numParts - 1).join('>'); // open parent menu - const parentMenu = await this.open(path); + const parentMenu = await this.openLocator(path); const menuItem = - parentMenu && (await this.getMenuItemInMenu(parentMenu, label)); + parentMenu && (await this.getMenuItemLocatorInMenu(parentMenu, label)); if (menuItem) { await menuItem.click(); diff --git a/galata/src/helpers/notebook.ts b/galata/src/helpers/notebook.ts index 5a36e5a5e798..6bf4f4ecb495 100644 --- a/galata/src/helpers/notebook.ts +++ b/galata/src/helpers/notebook.ts @@ -3,7 +3,7 @@ import type * as nbformat from '@jupyterlab/nbformat'; import type { NotebookPanel } from '@jupyterlab/notebook'; -import { ElementHandle, Page } from '@playwright/test'; +import { ElementHandle, Locator, Page } from '@playwright/test'; import * as path from 'path'; import { ContentsHelper } from '../contents'; import type { INotebookRunCallback } from '../extension'; @@ -16,7 +16,7 @@ import { MenuHelper } from './menu'; /** * Maximal number of retries to get a cell */ -const MAX_RETRIES = 3; +const MAX_RETRIES = 5; /** * Notebook helpers @@ -37,8 +37,8 @@ export class NotebookHelper { * @returns Notebook opened status */ async isOpen(name: string): Promise { - const tab = await this.activity.getTab(name); - return tab !== null; + const tab = this.activity.getTabLocator(name); + return (await tab.count()) > 0; } /** @@ -57,7 +57,7 @@ export class NotebookHelper { * @returns Notebook active status */ async isAnyActive(): Promise { - return (await this.getNotebookInPanel()) !== null; + return (await this.getNotebookInPanelLocator()) !== null; } /** @@ -98,14 +98,30 @@ export class NotebookHelper { * * @param name Notebook name * @returns Handle to the Notebook panel + * + * @deprecated You should use locator instead {@link getNotebookInPanelLocator} */ async getNotebookInPanel( name?: string ): Promise | null> { - const nbPanel = await this.activity.getPanel(name); + return ( + (await this.getNotebookInPanelLocator(name))?.elementHandle() ?? null + ); + } + + /** + * Get the locator to a notebook panel + * + * @param name Notebook name + * @returns Locator to the Notebook panel + */ + async getNotebookInPanelLocator(name?: string): Promise { + const nbPanel = await this.activity.getPanelLocator(name); - if (nbPanel) { - return await nbPanel.$('.jp-NotebookPanel-notebook'); + if (nbPanel && (await nbPanel.count())) { + if (await nbPanel.locator('.jp-NotebookPanel-notebook').count()) { + return nbPanel.locator('.jp-NotebookPanel-notebook').first(); + } } return null; @@ -116,15 +132,25 @@ export class NotebookHelper { * * @param name Notebook name * @returns Handle to the Notebook toolbar + * + * @deprecated You should use locator instead {@link getToolbarLocator} */ async getToolbar(name?: string): Promise | null> { - const nbPanel = await this.activity.getPanel(name); - - if (nbPanel) { - return await nbPanel.$('.jp-Toolbar'); - } + return (await this.getToolbarLocator(name))?.elementHandle() ?? null; + } - return null; + /** + * Get the notebook toolbar locator + * + * @param name Notebook name + * @returns Locator to the Notebook toolbar + */ + async getToolbarLocator(name?: string): Promise { + return ( + (await this.activity.getPanelLocator(name)) + ?.locator('.jp-Toolbar') + .first() ?? null + ); } /** @@ -133,21 +159,41 @@ export class NotebookHelper { * @param itemIndex Toolbar item index * @param notebookName Notebook name * @returns Handle to the notebook toolbar item + * + * @deprecated You should use locator instead {@link getToolbarItemLocatorByIndex} */ async getToolbarItemByIndex( itemIndex: number, notebookName?: string ): Promise | null> { + return ( + ( + await this.getToolbarItemLocatorByIndex(itemIndex, notebookName) + )?.elementHandle() ?? null + ); + } + + /** + * Get the locator to a notebook toolbar item from its index + * + * @param itemIndex Toolbar item index + * @param notebookName Notebook name + * @returns locator to the notebook toolbar item + */ + async getToolbarItemLocatorByIndex( + itemIndex: number, + notebookName?: string + ): Promise { if (itemIndex === -1) { return null; } - const toolbar = await this.getToolbar(notebookName); + const toolbar = await this.getToolbarLocator(notebookName); if (toolbar) { - const toolbarItems = await toolbar.$$('.jp-Toolbar-item'); - if (itemIndex < toolbarItems.length) { - return toolbarItems[itemIndex]; + const toolbarItems = toolbar.locator('.jp-Toolbar-item'); + if (itemIndex < (await toolbarItems.count())) { + return toolbarItems.nth(itemIndex); } } @@ -160,19 +206,39 @@ export class NotebookHelper { * @param itemId Toolbar item id * @param notebookName Notebook name * @returns Handle to the notebook toolbar item + * + * @deprecated You should use locator instead {@link getToolbarItemLocator} */ async getToolbarItem( itemId: galata.NotebookToolbarItemId, notebookName?: string ): Promise | null> { - const toolbar = await this.getToolbar(notebookName); + return ( + ( + await this.getToolbarItemLocator(itemId, notebookName) + )?.elementHandle() ?? null + ); + } + + /** + * Get the locator to a notebook toolbar item from its id + * + * @param itemId Toolbar item id + * @param notebookName Notebook name + * @returns Locator to the notebook toolbar item + */ + async getToolbarItemLocator( + itemId: galata.NotebookToolbarItemId, + notebookName?: string + ): Promise { + const toolbar = await this.getToolbarLocator(notebookName); if (toolbar) { const itemIndex = await this.page.evaluate(async (itemId: string) => { return window.galata.getNotebookToolbarItemIndex(itemId); }, itemId); - return this.getToolbarItemByIndex(itemIndex); + return this.getToolbarItemLocatorByIndex(itemIndex); } return null; @@ -189,7 +255,7 @@ export class NotebookHelper { itemId: galata.NotebookToolbarItemId, notebookName?: string ): Promise { - const toolbarItem = await this.getToolbarItem(itemId, notebookName); + const toolbarItem = await this.getToolbarItemLocator(itemId, notebookName); if (toolbarItem) { await toolbarItem.click(); @@ -406,9 +472,9 @@ export class NotebookHelper { } const page = this.page; - const tab = await this.activity.getTab(); + const tab = this.activity.getTabLocator(); - if (!tab) { + if (!(await tab.count())) { return false; } @@ -418,27 +484,24 @@ export class NotebookHelper { } } - const closeIcon = await tab.$('.lm-TabBar-tabCloseIcon'); - if (!closeIcon) { + const closeIcon = tab.locator('.lm-TabBar-tabCloseIcon'); + if (!(await closeIcon.count())) { return false; } await closeIcon.click(); // close save prompt - const dialogSelector = '.jp-Dialog .jp-Dialog-content'; - const dialog = await page.$(dialogSelector); - if (dialog) { - const dlgBtnSelector = revertChanges - ? 'button.jp-mod-accept.jp-mod-warn' // discard - : 'button.jp-mod-accept:not(.jp-mod-warn)'; // save - const dlgBtn = await dialog.$(dlgBtnSelector); - - if (dlgBtn) { - await dlgBtn.click(); - } + const dialog = page.locator('.jp-Dialog .jp-Dialog-content'); + const dlgBtnSelector = revertChanges + ? 'button.jp-mod-accept.jp-mod-warn' // discard + : 'button.jp-mod-accept:not(.jp-mod-warn)'; // save + const dlgBtn = dialog.locator(dlgBtnSelector); + + if (await dlgBtn.count()) { + await dlgBtn.click(); } - await page.waitForSelector(dialogSelector, { state: 'hidden' }); + await dialog.waitFor({ state: 'hidden' }); return true; } @@ -449,14 +512,11 @@ export class NotebookHelper { * @returns Number of cells */ getCellCount = async (): Promise => { - const notebook = await this.getNotebookInPanel(); + const notebook = await this.getNotebookInPanelLocator(); if (!notebook) { return -1; } - const scroller = (await notebook.$( - '.jp-WindowedPanel-outer' - )) as ElementHandle; - + const scroller = notebook.locator('.jp-WindowedPanel-outer'); const scrollTop = await scroller.evaluate(node => node.scrollTop); // Scroll to bottom @@ -474,11 +534,10 @@ export class NotebookHelper { node => node.scrollHeight - node.clientHeight ); } while (scrollHeight > previousScrollHeight); - - const lastCell = await notebook.$$('div.jp-Cell >> nth=-1'); + const lastCell = notebook.locator('div.jp-Cell').last(); const count = parseInt( - (await lastCell[0].getAttribute('data-windowed-list-index')) ?? '0', + (await lastCell.getAttribute('data-windowed-list-index')) ?? '0', 10 ) + 1; @@ -495,100 +554,79 @@ export class NotebookHelper { * * @param cellIndex Cell index * @returns Handle to the cell + * + * @deprecated You should use locator instead {@link getCellLocator} */ async getCell(cellIndex: number): Promise | null> { - const notebook = await this.getNotebookInPanel(); + return (await this.getCellLocator(cellIndex))?.elementHandle() ?? null; + } + + /** + * Get a cell locator + * + * @param cellIndex Cell index + * @param name Notebook name + * @returns Handle to the cell + */ + async getCellLocator(cellIndex: number): Promise { + const notebook = await this.getNotebookInPanelLocator(); if (!notebook) { return null; } - const scroller = (await notebook.$( - '.jp-WindowedPanel-outer' - )) as ElementHandle; - const viewport = (await notebook.$( - '.jp-WindowedPanel-viewport' - )) as ElementHandle; - - const allCells = await notebook.$$('div.jp-Cell'); - const filters = await Promise.all(allCells.map(c => c.isVisible())); - const cells = allCells.filter((c, i) => filters[i]); - - const firstCell = cells[0]; - const lastCell = cells[cells.length - 1]; + const cells = notebook.locator('.jp-Cell:visible'); let firstIndex = parseInt( - (await firstCell.getAttribute('data-windowed-list-index')) ?? '0', + (await cells.first().getAttribute('data-windowed-list-index')) ?? '', 10 ); let lastIndex = parseInt( - (await lastCell.getAttribute('data-windowed-list-index')) ?? '0', + (await cells.last().getAttribute('data-windowed-list-index')) ?? '', 10 ); - if (cellIndex < firstIndex) { // Scroll up - let scrollTop = - (await firstCell.boundingBox())?.y ?? - (await scroller.evaluate(node => node.scrollTop - node.clientHeight)); - + const viewport = await notebook + .locator('.jp-WindowedPanel-outer') + .first() + .boundingBox(); + await this.page.mouse.move(viewport!.x, viewport!.y); do { - await scroller.evaluate((node, scrollTarget) => { - node.scrollTo({ top: scrollTarget }); - }, scrollTop); + await this.page.mouse.wheel(0, -100); await this.page.waitForTimeout(50); - - const cells = await notebook.$$('div.jp-Cell'); - const isVisible = await Promise.all(cells.map(c => c.isVisible())); - const firstCell = isVisible.findIndex(visibility => visibility); - firstIndex = parseInt( - (await cells[firstCell].getAttribute('data-windowed-list-index')) ?? - '0', + (await cells.first().getAttribute('data-windowed-list-index')) ?? '', 10 ); - scrollTop = - (await cells[firstCell].boundingBox())?.y ?? - (await scroller.evaluate(node => node.scrollTop - node.clientHeight)); - } while (scrollTop > 0 && firstIndex > cellIndex); + } while (cellIndex < firstIndex); + lastIndex = parseInt( + (await cells.last().getAttribute('data-windowed-list-index')) ?? '', + 10 + ); } else if (cellIndex > lastIndex) { - const clientHeight = await scroller.evaluate(node => node.clientHeight); // Scroll down - const viewportBox = await viewport.boundingBox(); - let scrollHeight = viewportBox!.y + viewportBox!.height; - let previousScrollHeight = 0; - + const viewport = await notebook + .locator('.jp-WindowedPanel-outer') + .first() + .boundingBox(); + await this.page.mouse.move(viewport!.x, viewport!.y); do { - previousScrollHeight = scrollHeight; - await scroller.evaluate((node, scrollTarget) => { - node.scrollTo({ top: scrollTarget }); - }, scrollHeight); + await this.page.mouse.wheel(0, 100); await this.page.waitForTimeout(50); - - const cells = await notebook.$$('div.jp-Cell'); - const isVisible = await Promise.all(cells.map(c => c.isVisible())); - const lastCell = isVisible.lastIndexOf(true); - lastIndex = parseInt( - (await cells[lastCell].getAttribute('data-windowed-list-index')) ?? - '0', + (await cells.last().getAttribute('data-windowed-list-index')) ?? '', 10 ); - - const viewportBox = await viewport.boundingBox(); - scrollHeight = viewportBox!.y + viewportBox!.height; - // Avoid jitter - scrollHeight = Math.max( - previousScrollHeight + clientHeight, - scrollHeight - ); - } while (scrollHeight > previousScrollHeight && lastIndex < cellIndex); + } while (lastIndex < cellIndex); + firstIndex = parseInt( + (await cells.first().getAttribute('data-windowed-list-index')) ?? '', + 10 + ); } if (firstIndex <= cellIndex && cellIndex <= lastIndex) { - return ( - await notebook.$$( - `div.jp-Cell[data-windowed-list-index="${cellIndex}"]` - ) - )[0]; + return notebook.locator( + `.jp-Cell[data-windowed-list-index="${cellIndex}"]` + ); } else { return null; } @@ -599,25 +637,38 @@ export class NotebookHelper { * * @param cellIndex Cell index * @returns Handle to the cell input + * + * @deprecated You should use locator instead {@link getCellInputLocator} */ async getCellInput( cellIndex: number ): Promise | null> { - const cell = await this.getCell(cellIndex); + return (await this.getCellInputLocator(cellIndex))?.elementHandle() ?? null; + } + + /** + * Get the locator to the input of a cell + * + * @param cellIndex Cell index + * @returns Locator to the cell input + */ + async getCellInputLocator(cellIndex: number): Promise { + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } - const cellEditor = await cell.$('.jp-InputArea-editor'); - if (!cellEditor) { + const cellEditor = cell.locator('.jp-InputArea-editor'); + if (!(await cellEditor.count())) { return null; } - const isRenderedMarkdown = await cellEditor.evaluate(editor => - editor.classList.contains('lm-mod-hidden') - ); + const isRenderedMarkdown = ( + await Utils.getLocatorClassList(cellEditor) + ).includes('lm-mod-hidden'); + if (isRenderedMarkdown) { - return await cell.$('.jp-MarkdownOutput'); + return cell.locator('.jp-MarkdownOutput'); } return cellEditor; @@ -656,16 +707,33 @@ export class NotebookHelper { * * @param cellIndex Cell index * @returns Handle to the cell input expander + * + * @deprecated You should use locator instead {@link getCellInputExpanderLocator} */ async getCellInputExpander( cellIndex: number ): Promise | null> { - const cell = await this.getCell(cellIndex); + return ( + (await this.getCellInputExpanderLocator(cellIndex))?.elementHandle() ?? + null + ); + } + + /** + * Get the locator to the input expander of a cell + * + * @param cellIndex Cell index + * @returns Locator to the cell input expander + */ + async getCellInputExpanderLocator( + cellIndex: number + ): Promise { + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } - return await cell.$('.jp-InputCollapser'); + return cell.locator('.jp-InputCollapser'); } /** @@ -675,12 +743,12 @@ export class NotebookHelper { * @returns Cell input expanded status */ async isCellInputExpanded(cellIndex: number): Promise { - const cell = await this.getCell(cellIndex); + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } - return (await cell.$('.jp-InputPlaceholder')) === null; + return (await cell.locator('.jp-InputPlaceholder').count()) > 0; } /** @@ -696,7 +764,7 @@ export class NotebookHelper { return false; } - const inputExpander = await this.getCellInputExpander(cellIndex); + const inputExpander = await this.getCellInputExpanderLocator(cellIndex); if (!inputExpander) { return false; } @@ -711,18 +779,35 @@ export class NotebookHelper { * * @param cellIndex Cell index * @returns Handle to the cell output expander + * + * @deprecated You should use locator instead {@link getCellOutputExpanderLocator} */ async getCellOutputExpander( cellIndex: number ): Promise | null> { - const cell = await this.getCell(cellIndex); + return ( + (await this.getCellInputExpanderLocator(cellIndex))?.elementHandle() ?? + null + ); + } + + /** + * Get the locator to a cell output expander + * + * @param cellIndex Cell index + * @returns Handle to the cell output expander + */ + async getCellOutputExpanderLocator( + cellIndex: number + ): Promise { + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } const cellType = await this.getCellType(cellIndex); - return cellType === 'code' ? await cell.$('.jp-OutputCollapser') : null; + return cellType === 'code' ? cell.locator('.jp-OutputCollapser') : null; } /** @@ -732,12 +817,12 @@ export class NotebookHelper { * @returns Cell output expanded status */ async isCellOutputExpanded(cellIndex: number): Promise { - const cell = await this.getCell(cellIndex); + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } - return (await cell.$('.jp-OutputPlaceholder')) === null; + return (await cell.locator('.jp-OutputPlaceholder').count()) > 0; } /** @@ -753,7 +838,7 @@ export class NotebookHelper { return false; } - const outputExpander = await this.getCellOutputExpander(cellIndex); + const outputExpander = await this.getCellOutputExpanderLocator(cellIndex); if (!outputExpander) { return false; } @@ -768,22 +853,36 @@ export class NotebookHelper { * * @param cellIndex Cell index * @returns Output cell handle + * + * @deprecated You should use locator instead {@link getCellOutputLocator} */ async getCellOutput( cellIndex: number ): Promise | null> { - const cell = await this.getCell(cellIndex); + return ( + (await this.getCellOutputLocator(cellIndex))?.elementHandle() ?? null + ); + } + + /** + * Get the locator on a given output cell + * + * @param cellIndex Cell index + * @returns Locator cell handle + */ + async getCellOutputLocator(cellIndex: number): Promise { + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } - const codeCellOutput = await cell.$('.jp-Cell-outputArea'); - if (codeCellOutput) { + const codeCellOutput = cell.locator('.jp-Cell-outputArea'); + if (await codeCellOutput.count()) { return codeCellOutput; } - const mdCellOutput = await cell.$('.jp-MarkdownOutput'); - if (mdCellOutput) { + const mdCellOutput = cell.locator('.jp-MarkdownOutput'); + if (await mdCellOutput.count()) { return mdCellOutput; } @@ -797,20 +896,17 @@ export class NotebookHelper { * @returns List of text outputs */ async getCellTextOutput(cellIndex: number): Promise { - const cellOutput = await this.getCellOutput(cellIndex); + const cellOutput = await this.getCellOutputLocator(cellIndex); if (!cellOutput) { return null; } - const textOutputs = await cellOutput.$$('.jp-OutputArea-output'); - if (textOutputs.length > 0) { + const textOutputs = cellOutput.locator('.jp-OutputArea-output'); + const textOutputsNum = await textOutputs.count(); + if (textOutputsNum > 0) { const outputs: string[] = []; - for (const textOutput of textOutputs) { - outputs.push( - (await ( - await textOutput.getProperty('textContent') - ).jsonValue()) as string - ); + for (let i = 0; i < textOutputsNum; i++) { + outputs.push((await textOutputs.nth(i).textContent()) ?? ''); } return outputs; @@ -829,59 +925,77 @@ export class NotebookHelper { * @returns Editing mode */ async isCellInEditingMode(cellIndex: number): Promise { - const cell = await this.getCell(cellIndex); + const cell = await this.getCellLocator(cellIndex); if (!cell) { return false; } - const cellEditor = await cell.$('.jp-InputArea-editor'); - if (cellEditor) { - return await cellEditor.evaluate(editor => - editor.classList.contains('jp-mod-focused') + const cellEditor = cell.locator('.jp-InputArea-editor'); + if (await cellEditor.count()) { + return (await Utils.getLocatorClassList(cellEditor)).includes( + 'jp-mod-focused' ); } return false; } - /** - * Enter the editing mode on a given cell - * - * @param cellIndex Cell index - * @returns Action success status - */ - async enterCellEditingMode(cellIndex: number): Promise { - const cell = await this.getCell(cellIndex); - if (!cell) { + private async _setCellMode( + cell: Locator, + mode: 'Edit' | 'Command' + ): Promise { + const isCellActive = (await cell.getAttribute('class')) + ?.split(/\s/) + .includes('jp-mod-active'); + const modeLocator = this.page.getByText(`Mode: ${mode}`, { exact: true }); + if ((await modeLocator.count()) == 1 && isCellActive) { + return false; + } + const cellInput = cell.locator('.jp-Cell-inputArea'); + if (!(await cellInput.count())) { return false; } - const cellInput = await cell.$('.jp-Cell-inputArea'); - if (cellInput) { - let isMarkdown = false; - const cellType = await this.getCellType(cellIndex); - if (cellType === 'markdown') { - const renderedMarkdown = await cell.$('.jp-MarkdownOutput'); - if (renderedMarkdown) { - isMarkdown = true; - } + let isMarkdown = false; + const cellType = await this.getCellLocatorType(cell); + if (cellType === 'markdown') { + const renderedMarkdown = cell.locator('.jp-MarkdownOutput'); + if (await renderedMarkdown.count()) { + isMarkdown = true; } + } + if (mode == 'Edit') { if (isMarkdown) { await cellInput.dblclick(); } - - const cellEditor = await cellInput.$('.jp-InputArea-editor'); - if (!cellEditor) { + await cell.locator('.jp-Cell-inputArea').dblclick(); + const cellEditor = cellInput.locator('.jp-InputArea-editor'); + if (!cellEditor.count()) { return false; } await cellEditor.click(); + } else { + await cell.locator('.jp-Cell-inputArea').press('Escape'); + } - return true; + return true; + } + + /** + * Enter the editing mode on a given cell + * + * @param cellIndex Cell index + * @returns Action success status + */ + async enterCellEditingMode(cellIndex: number): Promise { + const cell = await this.getCellLocator(cellIndex); + if (!cell) { + return false; } - return false; + return this._setCellMode(cell, 'Edit'); } /** @@ -891,12 +1005,14 @@ export class NotebookHelper { * @returns Action success status */ async leaveCellEditingMode(cellIndex: number): Promise { - if (await this.isCellInEditingMode(cellIndex)) { - await this.page.keyboard.press('Escape'); - return true; + const cell = await this.getCellLocator(cellIndex); + if (!cell) { + return false; } - return false; + await this._setCellMode(cell, 'Command'); + + return true; } /** @@ -917,15 +1033,8 @@ export class NotebookHelper { return false; } - const cell = await this.getCell(cellIndex); - const gutters = await cell!.$$( - '.cm-gutters > .cm-gutter.cm-breakpoint-gutter > .cm-gutterElement' - ); - if (gutters.length < lineNumber) { - return false; - } - await gutters[lineNumber].click(); - return true; + const cell = await this.getCellLocator(cellIndex); + return this._clickOnGutter(cell!, lineNumber); } /** @@ -934,11 +1043,11 @@ export class NotebookHelper { * @param cellIndex */ async isCellGutterPresent(cellIndex: number): Promise { - const cell = await this.getCell(cellIndex); + const cell = await this.getCellLocator(cellIndex); if (!cell) { return false; } - return (await cell.$('.cm-gutters')) !== null; + return await cell.locator('.cm-gutters')?.isVisible(); } /** @@ -946,13 +1055,8 @@ export class NotebookHelper { * * @param cellIndex */ - async waitForCellGutter(cellIndex: number): Promise { - const cell = await this.getCell(cellIndex); - if (cell) { - await this.page.waitForSelector('.cm-gutters', { - state: 'attached' - }); - } + waitForCellGutter(cellIndex: number): Promise { + return Utils.waitForCondition(() => this.isCellGutterPresent(cellIndex)); } /** @@ -969,19 +1073,20 @@ export class NotebookHelper { return false; } - const panel = await this.activity.getPanel(); - await panel!.waitForSelector( - '.cm-gutters > .cm-gutter.cm-breakpoint-gutter > .cm-gutterElement', - { state: 'attached' } - ); - const gutters = await panel!.$$( - '.cm-gutters > .cm-gutter.cm-breakpoint-gutter > .cm-gutterElement' - ); - if (gutters.length < lineNumber) { + const panel = await this.activity.getPanelLocator(); + if (!panel) { return false; } - await gutters[lineNumber].click(); - return true; + await Utils.waitForCondition( + async () => + (await panel + .locator( + '.cm-gutters > .cm-gutter.cm-breakpoint-gutter > .cm-gutterElement' + ) + .count()) > 0 + ); + + return this._clickOnGutter(panel!, lineNumber); } /** @@ -989,11 +1094,11 @@ export class NotebookHelper { * */ async isCodeGutterPresent(): Promise { - const panel = await this.activity.getPanel(); - if (!panel) { + const panel = await this.activity.getPanelLocator(); + if (!(panel && (await panel.count()))) { return false; } - return (await panel.$('.cm-gutters')) !== null; + return (await panel.locator('.cm-gutters')?.isVisible()) !== null; } /** @@ -1001,13 +1106,35 @@ export class NotebookHelper { * * @param cellIndex */ - async waitForCodeGutter(): Promise { - const panel = await this.activity.getPanel(); - if (panel) { - await this.page.waitForSelector('.cm-gutters', { - state: 'attached' - }); + waitForCodeGutter(): Promise { + return Utils.waitForCondition(() => this.isCodeGutterPresent()); + } + + protected async _clickOnGutter( + panel: Locator, + line: number + ): Promise { + const gutters = panel.locator( + '.cm-gutters > .cm-gutter.cm-breakpoint-gutter > .cm-gutterElement' + ); + if ((await gutters.count()) < line) { + return false; } + + // Sometime the breakpoint is not activated when clicking on the gutter, it can be + // useful to try it several times. + const gutter = gutters.nth(line); + for (let i = 0; i < 3; i++) { + await gutter.click({ position: { x: 5, y: 5 } }); + await Utils.waitForCondition( + async () => ((await gutter.textContent())?.length ?? 0) > 0, + 500 + ); + if ((await gutter.textContent())?.length) { + break; + } + } + return true; } /** @@ -1018,7 +1145,7 @@ export class NotebookHelper { * @returns Action success status */ async selectCells(startIndex: number, endIndex?: number): Promise { - const startCell = await this.getCell(startIndex); + const startCell = await this.getCellLocator(startIndex); if (!startCell) { return false; } @@ -1028,7 +1155,7 @@ export class NotebookHelper { await startCell.click({ position: clickPosition }); if (endIndex !== undefined) { - const endCell = await this.getCell(endIndex); + const endCell = await this.getCellLocator(endIndex); if (!endCell) { return false; } @@ -1108,7 +1235,10 @@ export class NotebookHelper { return false; } - await this.setCellType(cellIndex, cellType); + const r = await this.setCellType(cellIndex, cellType); + if (!r) { + return false; + } if ( !(await this.isCellSelected(cellIndex)) && @@ -1117,14 +1247,18 @@ export class NotebookHelper { return false; } - await this.enterCellEditingMode(cellIndex); + const cell = await this.getCellLocator(cellIndex); - const keyboard = this.page.keyboard; - await keyboard.press('Control+A'); - // give CodeMirror time to style properly - await keyboard.type(source, { delay: cellType === 'code' ? 100 : 0 }); + if (!cell) { + return false; + } - await this.leaveCellEditingMode(cellIndex); + await this._setCellMode(cell, 'Edit'); + await cell.getByRole('textbox').press('Control+A'); + await cell + .getByRole('textbox') + .type(source, { delay: cellType === 'code' ? 100 : 0 }); + await this._setCellMode(cell, 'Command'); // give CodeMirror time to style properly if (cellType === 'code') { @@ -1145,13 +1279,13 @@ export class NotebookHelper { cellIndex: number, cellType: nbformat.CellType ): Promise { - const nbPanel = await this.activity.getPanel(); - if (!nbPanel) { + const nbPanel = await this.activity.getPanelLocator(); + if (!(nbPanel && (await nbPanel.count()))) { return false; } if ((await this.getCellType(cellIndex)) === cellType) { - return false; + return true; } if (!(await this.selectCells(cellIndex))) { @@ -1159,14 +1293,14 @@ export class NotebookHelper { } await this.clickToolbarItem('cellType'); - const selectInput = await nbPanel.$('.jp-Notebook-toolbarCellTypeDropdown'); - if (!selectInput) { + const selectInput = nbPanel.locator('.jp-Notebook-toolbarCellTypeDropdown'); + if (!(await selectInput.count())) { return false; } // Legay select - const select = await selectInput.$('select'); - if (select) { + const select = selectInput.locator('select'); + if (await select.count()) { await select.selectOption(cellType); } else { await selectInput.evaluate((el, cellType) => { @@ -1175,14 +1309,14 @@ export class NotebookHelper { } // Wait for the new cell to be rendered - let cell: ElementHandle | null; + let cell: Locator | null; let counter = 1; do { await this.page.waitForTimeout(50); - cell = await this.getCell(cellIndex); - } while (cell === null && counter++ < MAX_RETRIES); + cell = await this.getCellLocator(cellIndex); + } while (!cell?.isVisible() && counter++ < MAX_RETRIES); - return true; + return counter < MAX_RETRIES; } /** @@ -1192,18 +1326,23 @@ export class NotebookHelper { * @returns Cell type */ async getCellType(cellIndex: number): Promise { - const notebook = await this.getNotebookInPanel(); - if (!notebook) { - return null; - } - - const cell = await this.getCell(cellIndex); + const cell = await this.getCellLocator(cellIndex); if (!cell) { return null; } - const classList = await Utils.getElementClassList(cell); + return this.getCellLocatorType(cell); + } + + /** + * Get the cell type of a cell from its locator + * + * @param cell Cell locator + * @returns Cell type + */ + async getCellLocatorType(cell: Locator): Promise { + const classList = await Utils.getLocatorClassList(cell); if (classList.indexOf('jp-CodeCell') !== -1) { return 'code'; @@ -1256,22 +1395,20 @@ export class NotebookHelper { await this.menu.clickMenuItem('File>New>Notebook'); const page = this.page; - await page.waitForSelector('.jp-Dialog'); + await page.locator('.jp-Dialog').waitFor(); await page.click('.jp-Dialog .jp-mod-accept'); - const activeTab = await this.activity.getTab(); - if (!activeTab) { + const activeTab = this.activity.getTabLocator(); + if (!(await activeTab.count())) { return null; } - const label = await activeTab.$('div.lm-TabBar-tabLabel'); - if (!label) { + const label = activeTab.locator('div.lm-TabBar-tabLabel'); + if (!(await label.count())) { return null; } - const assignedName = (await ( - await label.getProperty('textContent') - ).jsonValue()) as string; + const assignedName = await label.textContent(); if (!name) { return assignedName; @@ -1282,9 +1419,9 @@ export class NotebookHelper { `${currentDir}/${assignedName}`, `${currentDir}/${name}` ); - const renamedTab = await this.activity.getTab(name); + const renamedTab = this.activity.getTabLocator(name); - return renamedTab ? name : null; + return (await renamedTab.count()) ? name : null; } private _runCallbacksExposed = 0; diff --git a/galata/src/helpers/sidebar.ts b/galata/src/helpers/sidebar.ts index ca6a58e4111e..406935710ac9 100644 --- a/galata/src/helpers/sidebar.ts +++ b/galata/src/helpers/sidebar.ts @@ -2,7 +2,7 @@ // Distributed under the terms of the Modified BSD License. import type { ISettingRegistry } from '@jupyterlab/settingregistry'; -import { ElementHandle, Page } from '@playwright/test'; +import { ElementHandle, Locator, Page } from '@playwright/test'; import type { IPluginNameToInterfaceMap } from '../extension'; import { galata } from '../galata'; import * as Utils from '../utils'; @@ -24,7 +24,7 @@ export class SidebarHelper { * @returns Opened status */ isOpen = async (side: galata.SidebarPosition = 'left'): Promise => { - return (await this.getContentPanel(side)) !== null; + return (await this.getContentPanelLocator(side).count()) > 0; }; /** @@ -34,10 +34,10 @@ export class SidebarHelper { * @returns Tab opened status */ async isTabOpen(id: galata.SidebarTabId): Promise { - const tabButton = await this.page.$( + const tabButton = this.page.locator( `${this.buildTabSelector(id)}.lm-mod-current` ); - return tabButton !== null; + return (await tabButton.count()) > 0; } /** @@ -114,19 +114,19 @@ export class SidebarHelper { * @param id Tab id */ async toggleTabPosition(id: galata.SidebarTabId): Promise { - const tab = await this.getTab(id); + const tab = this.getTabLocator(id); - if (!tab) { + if (!(await tab.count())) { return; } await tab.click({ button: 'right' }); - const switchMenuItem = await this.page.waitForSelector( - '.lm-Menu-content .lm-Menu-item[data-command="sidebar:switch"]', - { state: 'visible' } + const switchMenuItem = this.page.locator( + '.lm-Menu-content .lm-Menu-item[data-command="sidebar:switch"]' ); - if (switchMenuItem) { + await switchMenuItem.waitFor({ state: 'visible' }); + if (await switchMenuItem.count()) { await switchMenuItem.click(); } } @@ -175,11 +175,23 @@ export class SidebarHelper { * * @param id Tab id * @returns Tab handle + * + * @deprecated You should use locator instead {@link getTabLocator} */ async getTab( id: galata.SidebarTabId ): Promise | null> { - return await this.page.$(this.buildTabSelector(id)); + return await this.getTabLocator(id).elementHandle(); + } + + /** + * Get the locator on a given tab + * + * @param id Tab id + * @returns Tab locator + */ + getTabLocator(id: galata.SidebarTabId): Locator { + return this.page.locator(this.buildTabSelector(id)); } /** @@ -193,8 +205,8 @@ export class SidebarHelper { return; } - const tabButton = await this.page.$(this.buildTabSelector(id)); - if (tabButton === null) { + const tabButton = this.getTabLocator(id); + if (!((await tabButton.count()) === 1)) { throw new Error(`Unable to find the tab ${id} button`); } await tabButton.click(); @@ -206,11 +218,23 @@ export class SidebarHelper { * * @param side Position * @returns Panel handle + * + * @deprecated You should use locator instead {@link getContentPanelLocator} */ async getContentPanel( side: galata.SidebarPosition = 'left' ): Promise | null> { - return await this.page.$( + return await this.getContentPanelLocator(side).elementHandle(); + } + + /** + * Get the locator on a sidebar content panel + * + * @param side Position + * @returns Panel handle + */ + getContentPanelLocator(side: galata.SidebarPosition = 'left'): Locator { + return this.page.locator( `#jp-${side}-stack .lm-StackedPanel-child:not(.lm-mod-hidden)` ); } @@ -220,11 +244,23 @@ export class SidebarHelper { * * @param side Position * @returns Tab bar handle + * + * @deprecated You should use locator instead {@link getTabBarLocator} */ async getTabBar( side: galata.SidebarPosition = 'left' ): Promise | null> { - return await this.page.$(`.jp-SideBar.jp-mod-${side}`); + return await this.getTabBarLocator(side).elementHandle(); + } + + /** + * Get the locator of the tab bar of the sidebar + * + * @param side Position + * @returns Tab bar locator + */ + getTabBarLocator(side: galata.SidebarPosition = 'left'): Locator { + return this.page.locator(`.jp-SideBar.jp-mod-${side}`); } /** @@ -317,15 +353,14 @@ export class SidebarHelper { } protected async _waitForTabActivate( - tab: ElementHandle, + tab: Locator, activate = true ): Promise { - await this.page.waitForFunction( - ({ tab, activate }) => { - const current = tab.classList.contains('lm-mod-current'); - return activate ? current : !current; - }, - { tab, activate } - ); + await Utils.waitForCondition(async () => { + const current = (await Utils.getLocatorClassList(tab)).includes( + 'lm-mod-current' + ); + return activate ? current : !current; + }); } } diff --git a/galata/src/helpers/statusbar.ts b/galata/src/helpers/statusbar.ts index 560bf88b24b4..3203c62762b2 100644 --- a/galata/src/helpers/statusbar.ts +++ b/galata/src/helpers/statusbar.ts @@ -37,9 +37,7 @@ export class StatusBarHelper { } await this.menu.clickMenuItem('View>Show Status Bar'); - await this.page.waitForSelector('#jp-main-statusbar', { - state: 'visible' - }); + await this.page.locator('#jp-main-statusbar').waitFor({ state: 'visible' }); } /** @@ -52,8 +50,6 @@ export class StatusBarHelper { } await this.menu.clickMenuItem('View>Show Status Bar'); - await this.page.waitForSelector('#jp-main-statusbar', { - state: 'hidden' - }); + await this.page.locator('#jp-main-statusbar').waitFor({ state: 'hidden' }); } } diff --git a/galata/src/helpers/theme.ts b/galata/src/helpers/theme.ts index 9d349b61e811..3e75d33ed041 100644 --- a/galata/src/helpers/theme.ts +++ b/galata/src/helpers/theme.ts @@ -45,6 +45,6 @@ export class ThemeHelper { await window.galata.setTheme(themeName); }, themeName); - await page.waitForSelector('#jupyterlab-splash', { state: 'detached' }); + await page.locator('#jupyterlab-splash').waitFor({ state: 'detached' }); } } diff --git a/galata/src/jupyterlabpage.ts b/galata/src/jupyterlabpage.ts index 623abe64f535..c6757f4f1a04 100644 --- a/galata/src/jupyterlabpage.ts +++ b/galata/src/jupyterlabpage.ts @@ -227,7 +227,9 @@ export interface IJupyterLabPage { * * @param element Element or selector to watch */ - waitForTransition(element: ElementHandle | string): Promise; + waitForTransition( + element: ElementHandle | Locator | string + ): Promise; /** * Factory for active activity tab xpath @@ -599,7 +601,7 @@ export class JupyterLabPage implements IJupyterLabPage { * @returns Whether this operation succeeds or not */ async setSimpleMode(simple: boolean): Promise { - const toggle = await this.page.$( + const toggle = this.page.locator( '#jp-single-document-mode button.jp-switch' ); if (toggle) { @@ -640,7 +642,7 @@ export class JupyterLabPage implements IJupyterLabPage { * @param element Element or selector to watch */ async waitForTransition( - element: ElementHandle | string + element: ElementHandle | Locator | string ): Promise { return Utils.waitForTransition(this.page, element); } diff --git a/galata/src/utils.ts b/galata/src/utils.ts index db163f81c25d..249c1e46e7af 100644 --- a/galata/src/utils.ts +++ b/galata/src/utils.ts @@ -2,7 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { URLExt } from '@jupyterlab/coreutils'; -import { ElementHandle, Page } from '@playwright/test'; +import { ElementHandle, Locator, Page } from '@playwright/test'; import * as fs from 'fs-extra'; import * as path from 'path'; @@ -76,6 +76,8 @@ export async function getBaseUrl(page: Page): Promise { * * @param element Element handle * @returns Classes list + * + * @deprecated You should use locator instead {@link getLocatorClassList} */ export async function getElementClassList( element: ElementHandle @@ -95,6 +97,21 @@ export async function getElementClassList( return []; } +/** + * Get the classes of an locator + * + * @param locator Element locator + * @returns Classes list + */ +export async function getLocatorClassList(locator: Locator): Promise { + const className = await locator.getAttribute('class'); + if (className) { + return className.split(/\s/); + } + + return []; +} + /** * List the content of a local directory * @@ -195,23 +212,37 @@ export async function waitForCondition( */ export async function waitForTransition( page: Page, - element: ElementHandle | string + element: ElementHandle | Locator | string ): Promise { - const el = typeof element === 'string' ? await page.$(element) : element; - - if (el) { - return page.evaluate(el => { + let el = typeof element === 'string' ? page.locator(element) : element; + try { + return (el as Locator).evaluate(elem => { return new Promise(resolve => { const onEndHandler = () => { - el.removeEventListener('transitionend', onEndHandler); + elem.removeEventListener('transitionend', onEndHandler); resolve(); }; - el.addEventListener('transitionend', onEndHandler); + elem.addEventListener('transitionend', onEndHandler); }); - }, el); + }); + } catch { + if (el) { + console.warn( + 'ElementHandle are deprecated, you should call "WaitForTransition()" \ + with a Locator instead' + ); + return page.evaluate(el => { + return new Promise(resolve => { + const onEndHandler = () => { + el.removeEventListener('transitionend', onEndHandler); + resolve(); + }; + el.addEventListener('transitionend', onEndHandler); + }); + }, el as ElementHandle); + } + return Promise.reject(); } - - return Promise.reject(); } // Selector builders diff --git a/galata/test/benchmark/notebook.spec.ts b/galata/test/benchmark/notebook.spec.ts index 3214e4e98950..aad8dadbbd23 100644 --- a/galata/test/benchmark/notebook.spec.ts +++ b/galata/test/benchmark/notebook.spec.ts @@ -112,20 +112,20 @@ test.describe('Benchmark', () => { const openTime = await perf.measure(async () => { // Open the notebook and wait for the spinner await Promise.all([ - page.waitForSelector('[role="main"] >> .jp-SpinnerContent'), + page.locator('[role="main"] >> .jp-SpinnerContent').waitFor(), page.dblclick(`#filebrowser >> text=${file}`) ]); // Wait for spinner to be hidden - await page.waitForSelector('[role="main"] >> .jp-SpinnerContent', { - state: 'hidden' - }); + await page + .locator('[role="main"] >> .jp-SpinnerContent') + .waitFor({ state: 'hidden' }); }); // Check the notebook is correctly opened - let panel = await page.$('[role="main"] >> .jp-NotebookPanel'); + let panel = page.locator('[role="main"] >> .jp-NotebookPanel'); // Get only the document node to avoid noise from kernel and debugger in the toolbar - let document = await panel.$('.jp-Notebook'); + let document = panel.locator('.jp-Notebook'); // Wait for the cell toolbar to be visible in code cell. if (file === codeNotebook) { @@ -158,11 +158,13 @@ test.describe('Benchmark', () => { // Open text file const fromTime = await perf.measure(async () => { await page.dblclick(`#filebrowser >> text=${textFile}`); - await page.waitForSelector( - `div[role="main"] >> .lm-DockPanel-tabBar >> text=${path.basename( - textFile - )}` - ); + await page + .locator( + `div[role="main"] >> .lm-DockPanel-tabBar >> text=${path.basename( + textFile + )}` + ) + .waitFor(); }); let editorPanel = page.locator( @@ -186,9 +188,6 @@ test.describe('Benchmark', () => { }); // Check the notebook is correctly opened - panel = await page.$('[role="main"] >> .jp-NotebookPanel'); - // Get only the document node to avoid noise from kernel and debugger in the toolbar - document = await panel.$('.jp-Notebook'); expect(await document.screenshot()).toMatchSnapshot( `${file.replace('.', '-')}.png` ); diff --git a/galata/test/documentation/commands.test.ts b/galata/test/documentation/commands.test.ts index 327999b5fc17..55d820c5e390 100644 --- a/galata/test/documentation/commands.test.ts +++ b/galata/test/documentation/commands.test.ts @@ -1,8 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { test } from '@jupyterlab/galata'; -import { expect } from '@playwright/test'; +import { expect, test } from '@jupyterlab/galata'; import * as fs from 'fs-extra'; test('All commands must have a default label', async ({ page }, testInfo) => { diff --git a/galata/test/documentation/commands.test.ts-snapshots/commandsList-documentation-linux.json b/galata/test/documentation/commands.test.ts-snapshots/commandsList-documentation-linux.json index 80a7cf4dc2ce..505aee20c919 100644 --- a/galata/test/documentation/commands.test.ts-snapshots/commandsList-documentation-linux.json +++ b/galata/test/documentation/commands.test.ts-snapshots/commandsList-documentation-linux.json @@ -31,13 +31,6 @@ "Ctrl Shift ," ] }, - { - "id": "application:toggle-side-tabbar", - "label": "Toggle Sidebar Element", - "shortcuts": [ - "Alt 1" - ] - }, { "id": "application:close", "label": "Close Tab", @@ -116,6 +109,14 @@ "id": "application:toggle-side-tabbar", "label": "Show Left Activity Bar", "caption": "", + "shortcuts": [ + "Alt 1" + ] + }, + { + "id": "application:toggle-sidebar-widget", + "label": "Toggle Sidebar Element", + "caption": "", "shortcuts": [] }, { diff --git a/galata/test/documentation/customization.test.ts b/galata/test/documentation/customization.test.ts index 5518625a1200..feddc2333d83 100644 --- a/galata/test/documentation/customization.test.ts +++ b/galata/test/documentation/customization.test.ts @@ -2,6 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { expect, galata, test } from '@jupyterlab/galata'; +import { filterContent } from './utils'; test.use({ autoGoto: false, @@ -14,7 +15,7 @@ test.describe.configure({ mode: 'serial' }); test.describe('Default', () => { test('should use default layout', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -26,7 +27,7 @@ test.describe('Default', () => { await page.menu.clickMenuItem('File>New>Terminal'); - await page.waitForSelector('.jp-Terminal'); + await page.locator('.jp-Terminal').waitFor(); expect(await page.screenshot()).toMatchSnapshot( 'default-terminal-position-single.png' @@ -48,7 +49,7 @@ test.describe('Default', () => { ); await page.dblclick('text=Lorenz.ipynb'); - await page.waitForSelector('div[role="main"] >> text=Lorenz.ipynb'); + await page.locator('div[role="main"] >> text=Lorenz.ipynb').waitFor(); // Wait for kernel to settle on idle await page @@ -66,7 +67,7 @@ test.describe('Default', () => { }); test('should use default menu bar', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -78,7 +79,7 @@ test.describe('Default', () => { await page.click('text=Tabs'); - await page.waitForSelector('#jp-mainmenu-tabs'); + await page.locator('#jp-mainmenu-tabs').waitFor(); expect( await page.screenshot({ clip: { x: 0, y: 0, width: 800, height: 200 } }) @@ -86,7 +87,7 @@ test.describe('Default', () => { }); test('should use default context menu', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -190,7 +191,7 @@ test.describe('Customized', () => { } }); test('should use customized layout', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -202,7 +203,7 @@ test.describe('Customized', () => { await page.menu.clickMenuItem('File>New>Terminal'); - await page.waitForSelector('.jp-Terminal'); + await page.locator('.jp-Terminal').waitFor(); await page.sidebar.setWidth(271, 'right'); @@ -226,9 +227,9 @@ test.describe('Customized', () => { ); await page.dblclick('text=Lorenz.ipynb'); - await page.waitForSelector('div[role="main"] >> text=Lorenz.ipynb'); + await page.locator('div[role="main"] >> text=Lorenz.ipynb').waitFor(); - await page.waitForSelector('text=Python 3 (ipykernel) | Idle'); + await page.locator('text=Python 3 (ipykernel) | Idle').waitFor(); expect( await page @@ -238,7 +239,7 @@ test.describe('Customized', () => { }); test('should use customized menu bar', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -250,7 +251,7 @@ test.describe('Customized', () => { await page.click('text=Tabs'); - await page.waitForSelector('#jp-mainmenu-tabs'); + await page.locator('#jp-mainmenu-tabs').waitFor(); expect( await page.screenshot({ clip: { x: 0, y: 0, width: 800, height: 200 } }) @@ -258,7 +259,7 @@ test.describe('Customized', () => { }); test('should use customized context menu', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { diff --git a/galata/test/documentation/customization.test.ts-snapshots/customized-terminal-position-single-documentation-linux.png b/galata/test/documentation/customization.test.ts-snapshots/customized-terminal-position-single-documentation-linux.png index 71135fa78be7..9802e71cc01d 100644 Binary files a/galata/test/documentation/customization.test.ts-snapshots/customized-terminal-position-single-documentation-linux.png and b/galata/test/documentation/customization.test.ts-snapshots/customized-terminal-position-single-documentation-linux.png differ diff --git a/galata/test/documentation/customization.test.ts-snapshots/default-terminal-position-single-documentation-linux.png b/galata/test/documentation/customization.test.ts-snapshots/default-terminal-position-single-documentation-linux.png index a47b18c674c1..b2fa65aa0553 100644 Binary files a/galata/test/documentation/customization.test.ts-snapshots/default-terminal-position-single-documentation-linux.png and b/galata/test/documentation/customization.test.ts-snapshots/default-terminal-position-single-documentation-linux.png differ diff --git a/galata/test/documentation/debugger.test.ts b/galata/test/documentation/debugger.test.ts index e5c898640773..658778222867 100644 --- a/galata/test/documentation/debugger.test.ts +++ b/galata/test/documentation/debugger.test.ts @@ -79,8 +79,7 @@ test.describe('Debugger', () => { const runButton = await page .locator('.jp-Toolbar-item') .locator('[data-command="notebook:run-cell-and-select-next"]') - .getByRole('button') - .elementHandle(); + .getByRole('button'); // Inject mouse pointer await page.evaluate( @@ -197,9 +196,8 @@ test.describe('Debugger', () => { await createNotebook(page); - const sidebar = await page.waitForSelector( - '[data-id="jp-debugger-sidebar"]' - ); + const sidebar = page.locator('[data-id="jp-debugger-sidebar"]'); + await sidebar.waitFor(); await sidebar.click(); await page.sidebar.setWidth(251, 'right'); @@ -293,7 +291,7 @@ test.describe('Debugger', () => { // Wait to be stopped on the breakpoint await page.debugger.waitForCallStack(); - const breakpointsPanel = await page.debugger.getBreakPointsPanel(); + const breakpointsPanel = await page.debugger.getBreakPointsPanelLocator(); expect(await breakpointsPanel.innerText()).toMatch(/ipykernel.*\/\d+.py/); // Don't compare screenshot as the kernel id varies @@ -342,7 +340,7 @@ async function createNotebook(page: IJupyterLabPageFixture) { await page.sidebar.setWidth(); - await page.waitForSelector('text=Python 3 (ipykernel) | Idle'); + await page.locator('text=Python 3 (ipykernel) | Idle').waitFor(); } async function setBreakpoint(page: IJupyterLabPageFixture) { diff --git a/galata/test/documentation/export_notebook.test.ts b/galata/test/documentation/export_notebook.test.ts index 8787ebd5af95..6e9e770f8a4d 100644 --- a/galata/test/documentation/export_notebook.test.ts +++ b/galata/test/documentation/export_notebook.test.ts @@ -20,7 +20,7 @@ test.describe('Export Notebook', () => { ); await page.dblclick('text=Lorenz.ipynb'); - await page.waitForSelector('text=Python 3 (ipykernel) | Idle'); + await page.locator('text=Python 3 (ipykernel) | Idle').waitFor(); await page.click('text=File'); await page.click( @@ -29,7 +29,7 @@ test.describe('Export Notebook', () => { // Wait for Latex renderer // note: requires the a11y/assistive-mml MathJax extension - await page.waitForSelector('text=(σ, β, ρ)'); + await page.locator('text=(σ, β, ρ)').waitFor(); expect( await page.screenshot({ clip: { y: 5, x: 0, width: 700, height: 700 } }) diff --git a/galata/test/documentation/extension_manager.test.ts b/galata/test/documentation/extension_manager.test.ts index 52b4dd1da88f..a8c311df85e0 100644 --- a/galata/test/documentation/extension_manager.test.ts +++ b/galata/test/documentation/extension_manager.test.ts @@ -96,7 +96,7 @@ test.describe('Extension Manager', () => { }); // We can not wait for extension kept by the keyword as they are already in the DOM - await page.waitForSelector('text=No entries'); + await page.locator('text=No entries').waitFor(); expect( await page.screenshot({ clip: { y: 31, x: 0, width: 283, height: 600 } }) @@ -194,9 +194,11 @@ async function openExtensionSidebar(page: IJupyterLabPageFixture) { ), page.click('button:has-text("Yes")') ]); - await page.waitForSelector( - '.jp-extensionmanager-view >> .jp-AccordionPanel-title[aria-expanded="false"] >> text=Warning' - ); + await page + .locator( + '.jp-extensionmanager-view >> .jp-AccordionPanel-title[aria-expanded="false"] >> text=Warning' + ) + .waitFor(); await page.sidebar.setWidth(); } diff --git a/galata/test/documentation/general.test.ts b/galata/test/documentation/general.test.ts index 359aa4d7e96d..bf1710cabc4c 100644 --- a/galata/test/documentation/general.test.ts +++ b/galata/test/documentation/general.test.ts @@ -3,7 +3,12 @@ import { expect, galata, test } from '@jupyterlab/galata'; import path from 'path'; -import { generateArrow, positionMouse, positionMouseOver } from './utils'; +import { + filterContent, + generateArrow, + positionMouse, + positionMouseOver +} from './utils'; test.use({ autoGoto: false, @@ -13,7 +18,7 @@ test.use({ test.describe('General', () => { test('Welcome', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -52,7 +57,7 @@ test.describe('General', () => { await page.notebook.run(); - const cell = await page.$( + const cell = page.locator( '[aria-label="Code Cell Content with Output"] >> text=interactive' ); await cell.click(); @@ -60,7 +65,9 @@ test.describe('General', () => { await page.click('text=Create New View for Cell Output'); // Emulate drag and drop - const viewerHandle = await page.$('div[role="main"] >> text=lorenz.py'); + const viewerHandle = page.locator( + '.lm-TabBar-tabLabel:text-is("lorenz.py")' + ); await viewerHandle.click(); const viewerBBox = await viewerHandle.boundingBox(); @@ -76,7 +83,7 @@ test.describe('General', () => { }); test('Left Sidebar', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -88,7 +95,7 @@ test.describe('General', () => { await page.dblclick('[aria-label="File Browser Section"] >> text=data'); // Wait for the `data` folder to load to have something to blur - await page.waitForSelector('text=1024px'); + await page.locator('text=1024px').waitFor(); await page.evaluate(() => { (document.activeElement as HTMLElement).blur(); @@ -196,7 +203,7 @@ test.describe('General', () => { await expect( page.locator('.jp-ActiveCellTool .jp-InputPrompt') ).toHaveClass(/lm-mod-hidden/); - await (await page.notebook.getCellInput(1))?.click(); + await (await page.notebook.getCellInputLocator(1))?.click(); await page.keyboard.type(' content'); await expect( page.locator('.jp-ActiveCellTool .jp-ActiveCellTool-Content pre') @@ -256,9 +263,10 @@ test.describe('General', () => { await page.click('text=File'); await page.mouse.move(70, 40); - const fileMenuNewItem = await page.waitForSelector( - '.lm-Menu ul[role="menu"] >> text=New' - ); + const fileMenuNewItem = page + .locator('.lm-Menu ul[role="menu"]') + .getByText('New', { exact: true }); + await fileMenuNewItem.waitFor(); await fileMenuNewItem.click(); // Inject mouse @@ -298,14 +306,14 @@ test.describe('General', () => { await page.click('text=Lorenz.ipynb', { button: 'right' }); await page.hover('text=Copy Shareable Link'); - const itemHandle = await page.$('text=Copy Shareable Link'); + const itemLocator = page.locator('text=Copy Shareable Link'); // Inject mouse await page.evaluate( ([mouse]) => { document.body.insertAdjacentHTML('beforeend', mouse); }, - [await positionMouseOver(itemHandle, { top: 0.5, left: 0.55 })] + [await positionMouseOver(itemLocator, { top: 0.5, left: 0.55 })] ); expect( @@ -447,8 +455,7 @@ test.describe('General', () => { const trustPromise = page.evaluate(() => { return window.jupyterapp.commands.execute('notebook:trust'); }); - const dialogSelector = '.jp-Dialog-content'; - await page.waitForSelector(dialogSelector); + await page.locator('.jp-Dialog-content').waitFor(); // Accept option to trust the notebook await page.click('.jp-Dialog-button.jp-mod-accept'); // Wait until dialog is gone @@ -469,14 +476,15 @@ test.describe('General', () => { ); await page.dblclick('text=Data.ipynb'); - const heading = await page.waitForSelector( - 'h2[id="Open-a-CSV-file-using-Pandas"]' - ); - const anchor = await heading.$('text=¶'); + const heading = page.locator('h2[id="Open-a-CSV-file-using-Pandas"]'); + await heading.waitFor(); + const anchor = heading.locator('text=¶'); await heading.hover(); // Get parent cell which includes the heading - const cell = await heading.evaluateHandle(node => node.closest('.jp-Cell')); + const cell = await heading.evaluateHandle((node: HTMLElement) => + node.closest('.jp-Cell') + ); // Inject mouse await page.evaluate( @@ -492,7 +500,7 @@ test.describe('General', () => { ] ); - expect(await cell.screenshot()).toMatchSnapshot( + expect(await cell!.screenshot()).toMatchSnapshot( 'notebook_heading_anchor_link.png' ); }); @@ -525,7 +533,7 @@ test.describe('General', () => { await page.click('#jp-mainmenu-file-new >> text=Terminal'); // Wait for the xterm.js element to be added in the DOM - await page.waitForSelector('.jp-Terminal-body'); + await page.locator('.jp-Terminal-body').waitFor(); await page.keyboard.type('cd $JUPYTERLAB_GALATA_ROOT_DIR'); await page.keyboard.press('Enter'); @@ -578,7 +586,7 @@ test.describe('General', () => { await page.keyboard.press('Control+Shift+C'); expect( - await (await page.$('#modal-command-palette')).screenshot() + await page.locator('#modal-command-palette').screenshot() ).toMatchSnapshot('command_palette.png'); }); @@ -673,7 +681,7 @@ test.describe('General', () => { await page.notebook.run(); // Need to wait for altair to update the canvas - await page.waitForSelector('summary'); + await page.locator('summary').waitFor(); // The menu button '...' color of Altair is flaky increase threshold tolerance expect(await page.screenshot()).toMatchSnapshot('file_formats_altair.png', { diff --git a/galata/test/documentation/internationalization.test.ts b/galata/test/documentation/internationalization.test.ts index bc0f5466e986..acb70d72c4ea 100644 --- a/galata/test/documentation/internationalization.test.ts +++ b/galata/test/documentation/internationalization.test.ts @@ -2,6 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { expect, galata, test } from '@jupyterlab/galata'; +import { filterContent } from './utils'; test.use({ autoGoto: false, @@ -11,6 +12,7 @@ test.use({ test.describe('Internationalization', () => { test('Menu', async ({ page }) => { + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.sidebar.setWidth(); @@ -40,7 +42,7 @@ test.describe('Internationalization', () => { }); test('UI in Chinese', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await page.goto(); await page.dblclick('[aria-label="File Browser Section"] >> text=data'); @@ -51,13 +53,11 @@ test.describe('Internationalization', () => { await Promise.all([ page.waitForNavigation(), - page.waitForSelector('#jupyterlab-splash'), + page.locator('#jupyterlab-splash').waitFor(), page.click('button:has-text("Change and reload")') ]); - await page.waitForSelector('#jupyterlab-splash', { - state: 'detached' - }); + await page.locator('#jupyterlab-splash').waitFor({ state: 'detached' }); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -66,7 +66,7 @@ test.describe('Internationalization', () => { }); // Wait for the launcher to be loaded - await page.waitForSelector('text=README.md'); + await page.locator('text=README.md').waitFor(); await page.sidebar.setWidth(); diff --git a/galata/test/documentation/internationalization.test.ts-snapshots/language-settings-documentation-linux.png b/galata/test/documentation/internationalization.test.ts-snapshots/language-settings-documentation-linux.png index 78035e785477..713e443e161e 100644 Binary files a/galata/test/documentation/internationalization.test.ts-snapshots/language-settings-documentation-linux.png and b/galata/test/documentation/internationalization.test.ts-snapshots/language-settings-documentation-linux.png differ diff --git a/galata/test/documentation/overview.test.ts b/galata/test/documentation/overview.test.ts index 45e08d239233..2dbb9e0c22dd 100644 --- a/galata/test/documentation/overview.test.ts +++ b/galata/test/documentation/overview.test.ts @@ -1,7 +1,13 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { expect, galata, test } from '@jupyterlab/galata'; +import { + expect, + galata, + IJupyterLabPageFixture, + test +} from '@jupyterlab/galata'; +import { filterContent } from './utils'; test.use({ autoGoto: false, @@ -14,7 +20,7 @@ test.describe.configure({ mode: 'serial' }); test.describe('Overview', () => { test('Overview', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await openOverview(page); expect(await page.screenshot()).toMatchSnapshot('interface_jupyterlab.png'); @@ -36,7 +42,7 @@ test.describe('Overview', () => { }); test('Tabs menu', async ({ page }) => { - await galata.Mock.freezeContentLastModified(page); + await galata.Mock.freezeContentLastModified(page, filterContent); await openOverview(page); await page.click('text="Tabs"'); @@ -47,7 +53,7 @@ test.describe('Overview', () => { }); }); -async function openOverview(page) { +async function openOverview(page: IJupyterLabPageFixture) { await page.goto(); await page.addStyleTag({ content: `.jp-LabShell.jp-mod-devMode { @@ -83,7 +89,7 @@ async function openOverview(page) { ); // Move notebook panel - const notebookHandle = await page.$('div[role="main"] >> text=Data.ipynb'); + const notebookHandle = page.locator('div[role="main"] >> text=Data.ipynb'); await notebookHandle.click(); const notebookBBox = await notebookHandle.boundingBox(); @@ -96,10 +102,10 @@ async function openOverview(page) { await page.mouse.up(); // Move md panel - const mdHandle = await page.$('div[role="main"] >> text=jupyterlab.md'); + const mdHandle = page.locator('div[role="main"] >> text=jupyterlab.md'); await mdHandle.click(); const mdBBox = await mdHandle.boundingBox(); - const panelHandle = await page.activity.getPanel(); + const panelHandle = await page.activity.getPanelLocator(); const panelBBox = await panelHandle.boundingBox(); await page.mouse.move( diff --git a/galata/test/documentation/utils.ts b/galata/test/documentation/utils.ts index 9de1de24bc22..233298ad1ab4 100644 --- a/galata/test/documentation/utils.ts +++ b/galata/test/documentation/utils.ts @@ -3,10 +3,24 @@ * Distributed under the terms of the Modified BSD License. */ -import { ElementHandle, Page } from '@playwright/test'; +import { ElementHandle, Locator, Page } from '@playwright/test'; import fs from 'fs'; import path from 'path'; +/** + * Filter directory content + * + * @param array Array of content models + * @returns Filtered array + */ +export function filterContent(array: any[]): any[] { + return array.filter( + item => + item['type'] !== 'directory' || + !(item['name'] as string).startsWith('test-') + ); +} + /** * Generate a SVG arrow to inject in a HTML document. * @@ -74,12 +88,12 @@ export interface IPositionInElement { /** * Generate a SVG mouse pointer to inject in a HTML document over a DOM element. * - * @param element A playwright handle for the target DOM element + * @param element A playwright handle or locator for the target DOM element * @param position A position within the target element (default: bottom right quarter). * @returns The svg to inject in the page */ export async function positionMouseOver( - element: ElementHandle, + element: ElementHandle | Locator, position: IPositionInElement = {} ): Promise { const top = position.top ?? 0.75; diff --git a/galata/test/galata/contents.spec.ts b/galata/test/galata/contents.spec.ts index a689abc91017..3502ef1bfbbc 100644 --- a/galata/test/galata/contents.spec.ts +++ b/galata/test/galata/contents.spec.ts @@ -18,11 +18,9 @@ test.describe('Contents API Tests', () => { // Upload removed existing tmpPath, so we need to get inside await page.dblclick(`text=${tmpPath}`); - expect(await page.waitForSelector('text=sub_folder')).toBeTruthy(); - expect(await page.waitForSelector('text=upload_image.png')).toBeTruthy(); - expect( - await page.waitForSelector('text=upload_notebook.ipynb') - ).toBeTruthy(); + await expect(page.locator('text=sub_folder')).toHaveCount(1); + await expect(page.locator('text=upload_image.png')).toHaveCount(1); + await expect(page.locator('text=upload_notebook.ipynb')).toHaveCount(1); }); test('File operations', async ({ page, tmpPath }) => { diff --git a/galata/test/galata/fixture.spec.ts b/galata/test/galata/fixture.spec.ts index f23cb2e8fe35..f2e2da112b59 100644 --- a/galata/test/galata/fixture.spec.ts +++ b/galata/test/galata/fixture.spec.ts @@ -48,8 +48,8 @@ test.describe('mockSettings', () => { page.click('.lm-Menu ul[role="menu"] >> text=JupyterLab Light') ]); - await page.waitForSelector('#jupyterlab-splash', { state: 'detached' }); - await page.waitForSelector('div[role="main"] >> text=Launcher'); + await page.locator('#jupyterlab-splash').waitFor({ state: 'detached' }); + await page.locator('div[role="main"] >> text=Launcher').waitFor(); expect(((await response.json()) as any).raw).toMatch(/JupyterLab Light/); @@ -98,7 +98,7 @@ test.describe('mockState', () => { test('should return the mocked state', async ({ page }) => { expect( - await page.waitForSelector( + await page.locator( '[aria-label="Running Sessions section"] >> text=Open Tabs' ) ).toBeTruthy(); @@ -120,9 +120,9 @@ test.describe('sessions', () => { expect(sessions.size).toEqual(1); await page.menu.clickMenuItem('File>New>Console'); - await page.waitForSelector('.jp-Dialog'); + await page.locator('.jp-Dialog').waitFor(); await page.click('.jp-Dialog .jp-mod-accept'); - await page.waitForSelector('text= | Idle'); + await page.locator('text= | Idle').waitFor(); expect(sessions.size).toEqual(2); }); diff --git a/galata/test/galata/jupyterlabpage.spec.ts b/galata/test/galata/jupyterlabpage.spec.ts index c2081e3a9a50..cbbd97aea7b5 100644 --- a/galata/test/galata/jupyterlabpage.spec.ts +++ b/galata/test/galata/jupyterlabpage.spec.ts @@ -64,7 +64,7 @@ test.describe('listeners', () => { }); await page.menu.clickMenuItem('File>New>Text File'); - await page.waitForSelector(`[role="main"] >> text=${DEFAULT_NAME}`); + await page.locator(`[role="main"] >> text=${DEFAULT_NAME}`).waitFor(); await Promise.all([ page.locator('.jp-Dialog').waitFor(), @@ -86,7 +86,7 @@ test.describe('listeners', () => { }); await page.menu.clickMenuItem('File>New>Text File'); - await page.waitForSelector(`[role="main"] >> text=${DEFAULT_NAME}`); + await page.locator(`[role="main"] >> text=${DEFAULT_NAME}`).waitFor(); await Promise.all([ page.locator('.jp-Dialog').waitFor(), @@ -114,7 +114,7 @@ test.describe('listeners', () => { }); await page.menu.clickMenuItem('File>New>Text File'); - await page.waitForSelector(`[role="main"] >> text=${DEFAULT_NAME}`); + await page.locator(`[role="main"] >> text=${DEFAULT_NAME}`).waitFor(); await Promise.all([ page.locator('.jp-Dialog').waitFor(), diff --git a/galata/test/galata/notebook.spec.ts b/galata/test/galata/notebook.spec.ts index 939f6faa3f71..c0ca3b10701d 100644 --- a/galata/test/galata/notebook.spec.ts +++ b/galata/test/galata/notebook.spec.ts @@ -121,7 +121,7 @@ test.describe('Notebook Tests', () => { expect(cellOutput4).toBeTruthy(); expect(parseFloat(cellOutput4![0])).toBeGreaterThan(1.5); - const panel = await page.activity.getPanel(); + const panel = await page.activity.getPanelLocator(); expect(await panel!.screenshot()).toMatchSnapshot('example-run.png'); }); @@ -182,7 +182,7 @@ test.describe('Access cells in windowed notebook', () => { await page.filebrowser.open(target); await page.locator('#jp-main-statusbar').getByText('Idle').waitFor(); - expect(await page.notebook.getCell(12)).toBeTruthy(); + expect(await page.notebook.getCellLocator(12)).toBeTruthy(); }); test('getCell above the viewport', async ({ page, tmpPath }) => { @@ -196,8 +196,8 @@ test.describe('Access cells in windowed notebook', () => { await page.locator('#jp-main-statusbar').getByText('Idle').waitFor(); await page.waitForTimeout(50); - await page.notebook.getCell(12); + await page.notebook.getCellLocator(12); - expect(await page.notebook.getCell(0)).toBeTruthy(); + expect(await page.notebook.getCellLocator(0)).toBeTruthy(); }); }); diff --git a/galata/test/jupyterlab/collapsible-headings.test.ts b/galata/test/jupyterlab/collapsible-headings.test.ts index d125a2ccc3aa..6a431f2e16db 100644 --- a/galata/test/jupyterlab/collapsible-headings.test.ts +++ b/galata/test/jupyterlab/collapsible-headings.test.ts @@ -27,23 +27,23 @@ test.describe('Collapsible Headings; showHCB', () => { }); test('Show Collapser Unselected; showHCB', async ({ page }) => { - expect(await (await page.notebook.getCell(0)).screenshot()).toMatchSnapshot( - 'showHCB_heading_unselected.png' - ); + expect( + await (await page.notebook.getCellLocator(0))!.screenshot() + ).toMatchSnapshot('showHCB_heading_unselected.png'); }); test('Show Collapser Selected; showHCB', async ({ page }) => { await page.notebook.selectCells(0); - expect(await (await page.notebook.getCell(0)).screenshot()).toMatchSnapshot( - 'showHCB_heading_selected.png' - ); + expect( + await (await page.notebook.getCellLocator(0))!.screenshot() + ).toMatchSnapshot('showHCB_heading_selected.png'); }); test('Collapse Heading; showHCB', async ({ page }) => { await page.notebook.selectCells(0); await page.click('text=# Heading 1Heading 1¶ >> button'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('showHCB_collapse_heading.png'); }); @@ -52,7 +52,7 @@ test.describe('Collapsible Headings; showHCB', () => { await page.click('text=# Heading 1Heading 1¶ >> button'); await page.click('text=# Heading 1Heading 1¶ >> button'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('showHCB_expand_heading_via_collapser.png'); }); }); @@ -76,23 +76,23 @@ test.describe('Collapsible Headings; no_showHCB', () => { }); test('Show Collapser Unselected; no_showHCB', async ({ page }) => { - expect(await (await page.notebook.getCell(0)).screenshot()).toMatchSnapshot( - 'no_showHCB_heading_unselected.png' - ); + expect( + await (await page.notebook.getCellLocator(0))!.screenshot() + ).toMatchSnapshot('no_showHCB_heading_unselected.png'); }); test('Show Collapser Selected; no_showHCB', async ({ page }) => { await page.notebook.selectCells(0); - expect(await (await page.notebook.getCell(0)).screenshot()).toMatchSnapshot( - 'no_showHCB_heading_selected.png' - ); + expect( + await (await page.notebook.getCellLocator(0))!.screenshot() + ).toMatchSnapshot('no_showHCB_heading_selected.png'); }); test('Collapse Heading; no_showHCB', async ({ page }) => { await page.notebook.selectCells(0); await page.click('text=# Heading 1Heading 1¶ >> button'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('no_showHCB_collapse_heading.png'); }); @@ -101,7 +101,7 @@ test.describe('Collapsible Headings; no_showHCB', () => { await page.click('text=# Heading 1Heading 1¶ >> button'); await page.click('text=# Heading 1Heading 1¶ >> button'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('no_showHCB_expand_heading_via_collapser.png'); }); }); @@ -128,7 +128,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.notebook.selectCells(6); await page.keyboard.press('ArrowLeft'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('jump_previous_header.png'); }); @@ -137,7 +137,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('ArrowLeft'); await page.keyboard.press('ArrowLeft'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('collapse_previous_header.png'); }); @@ -148,7 +148,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('ArrowLeft'); await page.keyboard.press('ArrowLeft'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('collapse_previous_headers.png'); }); @@ -164,7 +164,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('ArrowRight'); await page.keyboard.press('ArrowLeft'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('reexpand_headers_01.png'); }); @@ -177,7 +177,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('ArrowDown'); await page.keyboard.press('ArrowRight'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('reexpand_headers_02.png'); }); @@ -191,13 +191,13 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('ArrowLeft'); await page.keyboard.press('ArrowLeft'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('reexpand_headers_03a.png'); await page.keyboard.press('ArrowRight'); await page.keyboard.press('ArrowRight'); await page.keyboard.press('ArrowRight'); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('reexpand_headers_03b.png'); }); @@ -211,7 +211,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('Shift+Enter'); await page.notebook.selectCells(2); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('add_header_below_01.png'); }); @@ -228,7 +228,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('Shift+Enter'); await page.notebook.selectCells(0); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('add_header_below_02.png'); }); @@ -244,7 +244,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('Shift+Enter'); await page.notebook.selectCells(2); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('add_header_below_03.png'); }); @@ -254,7 +254,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('Shift+A'); await page.waitForTimeout(200); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('add_header_above_01.png'); }); @@ -264,7 +264,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('Shift+A'); await page.waitForTimeout(200); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('add_header_above_02.png'); }); @@ -274,7 +274,7 @@ test.describe('Collapsible Headings; keyboard navigation', () => { await page.keyboard.press('Shift+A'); await page.waitForTimeout(200); expect( - await (await page.notebook.getNotebookInPanel()).screenshot() + await (await page.notebook.getNotebookInPanelLocator())!.screenshot() ).toMatchSnapshot('add_header_above_03.png'); }); }); diff --git a/galata/test/jupyterlab/completer.test.ts b/galata/test/jupyterlab/completer.test.ts index a297a9611039..fa391b63e308 100644 --- a/galata/test/jupyterlab/completer.test.ts +++ b/galata/test/jupyterlab/completer.test.ts @@ -82,10 +82,9 @@ test.describe('Completer', () => { await page.keyboard.press('Tab'); completer = page.locator(COMPLETER_SELECTOR); await completer.waitFor(); - await page.waitForSelector('.jp-Completer-loading-bar'); - await page.waitForSelector('.jp-Completer-loading-bar', { - state: 'detached' - }); + await page + .locator('.jp-Completer-loading-bar') + .waitFor({ state: 'detached' }); await session?.detach(); const imageName = 'completer-with-doc-panel.png'; expect(await completer.screenshot()).toMatchSnapshot(imageName); @@ -158,8 +157,8 @@ test.describe('Completer', () => { await page.click('button:has-text("Select")'); - await page.waitForSelector('[aria-label="Code Cell Content"]'); - await page.waitForSelector('text=| Idle'); + await page.locator('[aria-label="Code Cell Content"]').waitFor(); + await page.locator('text=| Idle').waitFor(); await page.keyboard.type('import getopt\ngetopt.'); await page.keyboard.press('Tab'); diff --git a/galata/test/jupyterlab/contextmenu.test.ts b/galata/test/jupyterlab/contextmenu.test.ts index b535eb308c19..898d3478877d 100644 --- a/galata/test/jupyterlab/contextmenu.test.ts +++ b/galata/test/jupyterlab/contextmenu.test.ts @@ -59,7 +59,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = 'folder.png'; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -74,7 +74,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = 'file.png'; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -84,9 +84,9 @@ test.describe('Application Context Menu', () => { }) => { await page.notebook.openByPath(`${tmpPath}/${testNotebook}`); // Wait for kernel to be idle - expect( - await page.waitForSelector(`#jp-main-statusbar >> text=Idle`) - ).toBeTruthy(); + await expect( + page.locator(`#jp-main-statusbar >> text=Idle`).first() + ).toHaveCount(1); await page.click(`.jp-DirListing-item span:has-text("${testNotebook}")`, { button: 'right' @@ -95,7 +95,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = 'running-notebook.png'; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -110,13 +110,13 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); await page.hover('text=Open With'); - await page.waitForSelector( - '.lm-Menu li[role="menuitem"]:has-text("Editor")' - ); + await page + .locator('.lm-Menu li[role="menuitem"]:has-text("Editor")') + .waitFor(); const imageName = `file-openwith.png`; // Get the last menu -> will be submenu - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -129,7 +129,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = `tab-launcher.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -150,7 +150,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = `tab-notebook.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -161,7 +161,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = `notebook-md.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -172,7 +172,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = `notebook-code.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); }); @@ -189,7 +189,7 @@ test.describe('Application Context Menu', () => { expect(await page.menu.isAnyOpen()).toBe(true); const imageName = `fileeditor.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName); }); @@ -206,16 +206,16 @@ test.describe('Application Context Menu', () => { }); expect(await page.menu.isAnyOpen()).toBe(true); let imageName = `console-prompt.png`; - let menu = await page.menu.getOpenMenu(); - expect.soft(await menu.screenshot()).toMatchSnapshot(imageName); + let menu = await page.menu.getOpenMenuLocator(); + expect.soft(await menu?.screenshot()).toMatchSnapshot(imageName); // Over console content await page.click('.jp-CodeConsole-content', { button: 'right' }); imageName = `console-content.png`; - menu = await page.menu.getOpenMenu(); + menu = await page.menu.getOpenMenuLocator(); expect(await page.menu.isAnyOpen()).toBe(true); - expect(await menu.screenshot()).toMatchSnapshot(imageName); + expect(await menu?.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/debugger.test.ts b/galata/test/jupyterlab/debugger.test.ts index 7344423e3155..51b00b119039 100644 --- a/galata/test/jupyterlab/debugger.test.ts +++ b/galata/test/jupyterlab/debugger.test.ts @@ -12,6 +12,18 @@ async function openNotebook(page: IJupyterLabPageFixture, tmpPath, fileName) { await page.notebook.openByPath(`${tmpPath}/${fileName}`); } +test('Move Debugger to right', async ({ page }) => { + await page.sidebar.moveTabToRight('jp-debugger-sidebar'); + expect(await page.sidebar.getTabPosition('jp-debugger-sidebar')).toBe( + 'right' + ); +}); + +test('Open Debugger on right', async ({ page }) => { + await page.sidebar.openTab('jp-debugger-sidebar'); + expect(await page.sidebar.isTabOpen('jp-debugger-sidebar')).toBeTruthy(); +}); + test.describe('Debugger Tests', () => { test.afterEach(async ({ page }) => { await page.debugger.switchOff(); @@ -19,18 +31,6 @@ test.describe('Debugger Tests', () => { await page.notebook.close(); }); - test('Move Debugger to right', async ({ page }) => { - await page.sidebar.moveTabToRight('jp-debugger-sidebar'); - expect(await page.sidebar.getTabPosition('jp-debugger-sidebar')).toBe( - 'right' - ); - }); - - test('Open Debugger on right', async ({ page }) => { - await page.sidebar.openTab('jp-debugger-sidebar'); - expect(await page.sidebar.isTabOpen('jp-debugger-sidebar')).toBeTruthy(); - }); - test('Start debug session', async ({ page, tmpPath }) => { await openNotebook(page, tmpPath, 'code_notebook.ipynb'); @@ -41,10 +41,10 @@ test.describe('Debugger Tests', () => { await page.notebook.clickCellGutter(0, 2); await page.debugger.waitForBreakPoints(); - const breakpointsPanel = await page.debugger.getBreakPointsPanel(); + const breakpointsPanel = await page.debugger.getBreakPointsPanelLocator(); expect(await breakpointsPanel.innerText()).toMatch(/ipykernel/); - const callStackPanel = await page.debugger.getCallStackPanel(); + const callStackPanel = await page.debugger.getCallStackPanelLocator(); expect(await callStackPanel.innerText()).toBe(''); // don't add await, run will be blocked by the breakpoint @@ -54,13 +54,13 @@ test.describe('Debugger Tests', () => { expect(await callStackPanel.innerText()).toMatch(/ipykernel/); await page.debugger.waitForVariables(); - const variablesPanel = await page.debugger.getVariablesPanel(); + const variablesPanel = await page.debugger.getVariablesPanelLocator(); expect(await variablesPanel.screenshot()).toMatchSnapshot( 'start-debug-session-variables.png' ); await page.debugger.waitForSources(); - const sourcesPanel = await page.debugger.getSourcePanel(); + const sourcesPanel = await page.debugger.getSourcePanelLocator(); expect(await sourcesPanel.screenshot()).toMatchSnapshot( 'start-debug-session-sources.png' ); @@ -92,16 +92,16 @@ test.describe('Debugger Tests', () => { await page.debugger.waitForCallStack(); await page.debugger.waitForVariables(); - const variablesPanel = await page.debugger.getVariablesPanel(); + const variablesPanel = await page.debugger.getVariablesPanelLocator(); expect(await variablesPanel.screenshot()).toMatchSnapshot( 'image-debug-session-global-variables.png' ); await page.debugger.renderVariable(globalVar); - let richVariableTab = await page.activity.getPanel( + let richVariableTab = await page.activity.getPanelLocator( `${globalVar} - ${notebookName}` ); - expect(await richVariableTab.screenshot()).toMatchSnapshot( + expect(await richVariableTab?.screenshot()).toMatchSnapshot( 'image-debug-session-global-rich-variable.png' ); @@ -112,10 +112,10 @@ test.describe('Debugger Tests', () => { await page.debugger.waitForVariables(); await page.debugger.renderVariable(localVar); - richVariableTab = await page.activity.getPanel( + richVariableTab = await page.activity.getPanelLocator( `${localVar} - ${notebookName}` ); - expect(await richVariableTab.screenshot()).toMatchSnapshot( + expect(await richVariableTab?.screenshot()).toMatchSnapshot( 'image-debug-session-local-rich-variable.png' ); }); @@ -127,13 +127,13 @@ test.describe('Debugger Tests', () => { button: 'right' }); - const menu = await page.menu.getOpenMenu(); - await (await menu.$('[data-command="fileeditor:create-console"]')).click(); + const menu = await page.menu.getOpenMenuLocator(); + await menu?.locator('[data-command="fileeditor:create-console"]')?.click(); - await page.waitForSelector('.jp-Dialog-body'); - const select = await page.$('.jp-Dialog-body >> select'); - const option = await select.$('option:has-text("ipykernel")'); - await select.selectOption(option); + await page.locator('.jp-Dialog-body').waitFor(); + const select = page.locator('.jp-Dialog-body >> select'); + const option = select.locator('option:has-text("ipykernel")'); + await select.selectOption(await option.textContent()); await page.click('div.jp-Dialog-content >> button:has-text("Select")'); // activate the script tab @@ -144,10 +144,10 @@ test.describe('Debugger Tests', () => { await page.notebook.clickCodeGutter(2); await page.debugger.waitForBreakPoints(); - const breakpointsPanel = await page.debugger.getBreakPointsPanel(); + const breakpointsPanel = await page.debugger.getBreakPointsPanelLocator(); expect(await breakpointsPanel.innerText()).toMatch(/ipykernel/); - const callStackPanel = await page.debugger.getCallStackPanel(); + const callStackPanel = await page.debugger.getCallStackPanelLocator(); expect(await callStackPanel.innerText()).toBe(''); // don't add await, run will be blocked by the breakpoint @@ -157,13 +157,13 @@ test.describe('Debugger Tests', () => { expect(await callStackPanel.innerText()).toMatch(/ipykernel/); await page.debugger.waitForVariables(); - const variablesPanel = await page.debugger.getVariablesPanel(); + const variablesPanel = await page.debugger.getVariablesPanelLocator(); expect(await variablesPanel.screenshot()).toMatchSnapshot( 'start-debug-session-script-variables.png' ); await page.debugger.waitForSources(); - const sourcesPanel = await page.debugger.getSourcePanel(); + const sourcesPanel = await page.debugger.getSourcePanelLocator(); expect(await sourcesPanel.screenshot()).toMatchSnapshot( 'start-debug-session-script-sources.png' ); @@ -315,14 +315,14 @@ test.describe('Debugger Variables', () => { async function createNotebook(page: IJupyterLabPageFixture) { await page.notebook.createNew(); - await page.waitForSelector('text=Python 3 (ipykernel) | Idle'); + await page.locator('text=Python 3 (ipykernel) | Idle').waitFor(); } async function setBreakpoint(page: IJupyterLabPageFixture) { await page.notebook.setCell( 0, 'code', - 'global_var = 1\ndef add(a, b):\nlocal_var = a + b\nreturn local_var' + 'global_var = 1\ndef add(a, b):\n local_var = a + b\n return local_var' ); await page.notebook.run(); await page.notebook.addCell('code', 'result = add(1, 2)\nprint(result)'); diff --git a/galata/test/jupyterlab/file-search.test.ts b/galata/test/jupyterlab/file-search.test.ts index 77ca273c03fa..7c72ae594b10 100644 --- a/galata/test/jupyterlab/file-search.test.ts +++ b/galata/test/jupyterlab/file-search.test.ts @@ -65,9 +65,6 @@ test('Search with a text and replacement', async ({ page }) => { test('Populate search box with selected text', async ({ page }) => { const imageName = 'text-editor-search-from-selection.png'; - // Enter first cell - await page.notebook.enterCellEditingMode(0); - // Go to first line await page.keyboard.press('PageUp'); // Select first line @@ -94,11 +91,11 @@ test('Populate search box with selected text', async ({ page }) => { await expect(page.locator('.cm-search.cm-panel')).toHaveCount(0); // Expect the first match to be highlighted - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); - const tabHandle = await page.activity.getPanel(DEFAULT_NAME); + const tabHandle = await page.activity.getPanelLocator(DEFAULT_NAME); - expect(await tabHandle.screenshot()).toMatchSnapshot(imageName); + expect(await tabHandle?.screenshot()).toMatchSnapshot(imageName); }); test.describe('File search from selection', () => { diff --git a/galata/test/jupyterlab/history.test.ts b/galata/test/jupyterlab/history.test.ts index 5492fb76a7f4..247c9fc40559 100644 --- a/galata/test/jupyterlab/history.test.ts +++ b/galata/test/jupyterlab/history.test.ts @@ -40,8 +40,8 @@ test.describe('test kernel history keybindings', () => { // input 1+2 const imageName = 'history.png'; - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/inline-completer.test.ts b/galata/test/jupyterlab/inline-completer.test.ts index 499e14ffaf96..0578e16dbc20 100644 --- a/galata/test/jupyterlab/inline-completer.test.ts +++ b/galata/test/jupyterlab/inline-completer.test.ts @@ -61,8 +61,8 @@ test.describe('Inline Completer', () => { expect(await completer.screenshot()).toMatchSnapshot(imageName); // Should hide on moving cursor away - const toolbar = await page.notebook.getToolbar(); - await toolbar.hover(); + const toolbar = await page.notebook.getToolbarLocator(); + await toolbar!.hover(); await completer.waitFor({ state: 'hidden' }); }); }); @@ -179,8 +179,8 @@ test.describe('Inline Completer', () => { await page.keyboard.press('Tab'); - const cellEditor = await page.notebook.getCellInput(2); - const text = await cellEditor.textContent(); + const cellEditor = await page.notebook.getCellInputLocator(2); + const text = await cellEditor!.textContent(); expect(text).toMatch(/estion.*/); }); }); @@ -207,9 +207,9 @@ test.describe('Inline Completer', () => { await page.keyboard.type('gg'); await expect(ghostText).toHaveText(/estion.*/); - const cellEditor = await page.notebook.getCellInput(2); + const cellEditor = await page.notebook.getCellInputLocator(2); const imageName = 'editor-with-ghost-text.png'; - expect(await cellEditor.screenshot()).toMatchSnapshot(imageName); + expect(await cellEditor!.screenshot()).toMatchSnapshot(imageName); // Ghost text should hide await page.keyboard.press('Escape'); diff --git a/galata/test/jupyterlab/launcher.test.ts b/galata/test/jupyterlab/launcher.test.ts index 901f7a3ecc95..9bce8c2cbc73 100644 --- a/galata/test/jupyterlab/launcher.test.ts +++ b/galata/test/jupyterlab/launcher.test.ts @@ -12,10 +12,10 @@ test.use({ test.describe('Dynamic Text Spacing', () => { test('should Use Dynamic Text Spacing', async ({ page }) => { await page.goto(); - await page.waitForSelector('.jp-LauncherCard-label'); let element = page.locator('div.jp-LauncherCard-label'); for (let i = 0; i < (await element.count()); i++) { + await element.nth(i).waitFor(); let height = await element .nth(i) .evaluate(el => diff --git a/galata/test/jupyterlab/menus.test.ts b/galata/test/jupyterlab/menus.test.ts index f8ddc8188042..cc8e29239fbf 100644 --- a/galata/test/jupyterlab/menus.test.ts +++ b/galata/test/jupyterlab/menus.test.ts @@ -28,11 +28,10 @@ test.describe('General Tests', () => { menuPaths.forEach(menuPath => { test(`Open menu item ${menuPath}`, async ({ page }) => { await page.goto(); - await page.menu.open(menuPath); + await page.menu.openLocator(menuPath); expect(await page.menu.isOpen(menuPath)).toBeTruthy(); - const imageName = `opened-menu-${menuPath.replace(/>/g, '-')}.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName.toLowerCase()); }); }); @@ -51,17 +50,17 @@ test.describe('General Tests', () => { await page.goto(); const menuPath = 'Settings>Language'; - await page.menu.open(menuPath); + await page.menu.openLocator(menuPath); expect(await page.menu.isOpen(menuPath)).toBeTruthy(); const imageName = `opened-menu-settings-language.png`; - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); expect(await menu.screenshot()).toMatchSnapshot(imageName.toLowerCase()); }); test('Close all menus', async ({ page }) => { await page.goto(); - await page.menu.open('File>New'); + await page.menu.openLocator('File>New'); await page.menu.closeAll(); expect(await page.menu.isAnyOpen()).toEqual(false); }); diff --git a/galata/test/jupyterlab/metadataform.test.ts b/galata/test/jupyterlab/metadataform.test.ts index df495f2255f7..d67499a6d53c 100644 --- a/galata/test/jupyterlab/metadataform.test.ts +++ b/galata/test/jupyterlab/metadataform.test.ts @@ -17,9 +17,7 @@ test.use({ tmpPath: 'metadataform-test', waitForApplication: async ({ baseURL }, use, testInfo) => { const simpleWait = async (page: Page): Promise => { - await page.waitForSelector('#jupyterlab-splash', { - state: 'detached' - }); + await page.locator('#jupyterlab-splash').waitFor({ state: 'detached' }); }; void use(simpleWait); } diff --git a/galata/test/jupyterlab/notebook-create.test.ts b/galata/test/jupyterlab/notebook-create.test.ts index e374d3060ff6..0fad699207d0 100644 --- a/galata/test/jupyterlab/notebook-create.test.ts +++ b/galata/test/jupyterlab/notebook-create.test.ts @@ -56,16 +56,16 @@ test.describe('Notebook Create', () => { menuPaths.forEach(menuPath => { test(`Open menu item ${menuPath}`, async ({ page, sessions }) => { // Wait for kernel to be idle as some menu depend of kernel information - expect( - await page.waitForSelector(`#jp-main-statusbar >> text=Idle`) - ).toBeTruthy(); + await expect( + page.locator(`#jp-main-statusbar >> text=Idle`).first() + ).toHaveCount(1); - await page.menu.open(menuPath); + await page.menu.openLocator(menuPath); expect(await page.menu.isOpen(menuPath)).toBeTruthy(); const imageName = `opened-menu-${menuPath.replace(/>/g, '-')}.png`; - const menu = await page.menu.getOpenMenu(); - expect(await menu.screenshot()).toMatchSnapshot(imageName.toLowerCase()); + const menu = await page.menu.getOpenMenuLocator(); + expect(await menu!.screenshot()).toMatchSnapshot(imageName.toLowerCase()); }); }); @@ -78,18 +78,18 @@ test.describe('Notebook Create', () => { expect((await page.notebook.getCellTextOutput(2))[0]).toBe('8'); await expect(page.locator(TRUSTED_SELECTOR)).toHaveCount(1); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Toggle Dark theme', async ({ page }) => { await populateNotebook(page); await page.notebook.run(); await page.theme.setDarkTheme(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); const imageName = 'dark-theme.png'; - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/notebook-edit.test.ts b/galata/test/jupyterlab/notebook-edit.test.ts index 59075eeaff04..4180c4eb7b9a 100644 --- a/galata/test/jupyterlab/notebook-edit.test.ts +++ b/galata/test/jupyterlab/notebook-edit.test.ts @@ -23,9 +23,9 @@ test.describe('Notebook Edit', () => { await page.notebook.addCell('code', '2 ** 3'); await page.notebook.runCell(1, true); const imageName = 'run-cell.png'; - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Re-edit after execution', async ({ page }) => { @@ -34,9 +34,9 @@ test.describe('Notebook Edit', () => { await page.notebook.setCell(1, 'code', '2 ** 6'); const imageName = 'reedit-cell.png'; - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Execute again', async ({ page }) => { @@ -45,9 +45,9 @@ test.describe('Notebook Edit', () => { await page.notebook.setCell(1, 'code', '2 ** 6'); const imageName = 'execute-again.png'; - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Copy-Paste cell', async ({ page }) => { @@ -58,9 +58,9 @@ test.describe('Notebook Edit', () => { await page.menu.clickMenuItem('Edit>Copy Cell'); await page.notebook.selectCells(0); await page.menu.clickMenuItem('Edit>Paste Cell Above'); - let nbPanel = await page.notebook.getNotebookInPanel(); + let nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Cut-Paste cell', async ({ page }) => { @@ -71,9 +71,9 @@ test.describe('Notebook Edit', () => { await page.menu.clickMenuItem('Edit>Cut Cell'); await page.notebook.selectCells(0); await page.menu.clickMenuItem('Edit>Paste Cell Below'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Paste-Replace cell', async ({ page }) => { @@ -84,9 +84,9 @@ test.describe('Notebook Edit', () => { await page.menu.clickMenuItem('Edit>Copy Cell'); await page.notebook.selectCells(2); await page.menu.clickMenuItem('Edit>Paste Cell and Replace'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Delete cell', async ({ page }) => { @@ -95,9 +95,9 @@ test.describe('Notebook Edit', () => { const imageName = 'delete-cell.png'; await page.notebook.selectCells(2); await page.menu.clickMenuItem('Edit>Delete Cell'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Select all cells', async ({ page }) => { @@ -105,9 +105,9 @@ test.describe('Notebook Edit', () => { const imageName = 'select-all-cells.png'; await page.notebook.selectCells(2); await page.menu.clickMenuItem('Edit>Select All Cells'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Deselect all cells', async ({ page }) => { @@ -115,9 +115,9 @@ test.describe('Notebook Edit', () => { const imageName = 'deselect-all-cells.png'; await page.notebook.selectCells(1, 2); await page.menu.clickMenuItem('Edit>Deselect All Cells'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Move cells up', async ({ page }) => { @@ -125,9 +125,9 @@ test.describe('Notebook Edit', () => { const imageName = 'move-cell-up.png'; await page.notebook.selectCells(1); await page.menu.clickMenuItem('Edit>Move Cell Up'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Move cells down', async ({ page }) => { @@ -135,9 +135,9 @@ test.describe('Notebook Edit', () => { const imageName = 'move-cell-down.png'; await page.notebook.selectCells(0); await page.menu.clickMenuItem('Edit>Move Cell Down'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Split cell', async ({ page }) => { @@ -150,7 +150,7 @@ test.describe('Notebook Edit', () => { await page.keyboard.press('Home'); await page.menu.clickMenuItem('Edit>Split Cell'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); @@ -162,8 +162,8 @@ test.describe('Notebook Edit', () => { const imageName = 'merge-cells.png'; await page.notebook.selectCells(1, 2); await page.menu.clickMenuItem('Edit>Merge Selected Cells'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/notebook-markdown.test.ts b/galata/test/jupyterlab/notebook-markdown.test.ts index 7476ee9e51c3..690b5d11dce6 100644 --- a/galata/test/jupyterlab/notebook-markdown.test.ts +++ b/galata/test/jupyterlab/notebook-markdown.test.ts @@ -11,13 +11,13 @@ async function enterEditingModeForScreenshot( cellIndex: number ) { await page.notebook.enterCellEditingMode(cellIndex); - const cell = await page.notebook.getCell(cellIndex); + const cell = await page.notebook.getCellLocator(cellIndex); // Make sure cursor is consistently in the same position to avoid screenshot flake await page.keyboard.press('Home'); await page.keyboard.press('PageUp'); // Add some timeout to stabilize codemirror bounding box const cellBox = await cell.boundingBox(); - const cellNew = await page.notebook.getCell(cellIndex); + const cellNew = await page.notebook.getCellLocator(cellIndex); const cellNewBox = await cellNew.boundingBox(); if ( cellBox.x != cellNewBox.x || @@ -42,9 +42,9 @@ test.describe('Notebook Markdown', () => { await page.notebook.openByPath(`${tmpPath}/${fileName}`); const imageName = 'highlight-latex.png'; await page.notebook.enterCellEditingMode(0); - const cell = await page.notebook.getCell(0); + const cell = await page.notebook.getCellLocator(0); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-Editor').screenshot()).toMatchSnapshot( imageName ); }); @@ -54,9 +54,9 @@ test.describe('Notebook Markdown', () => { const imageName = 'do-not-highlight-not-latex.png'; await enterEditingModeForScreenshot(page, 1); - const cell = await page.notebook.getCell(1); + const cell = await page.notebook.getCellLocator(1); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-Editor').screenshot()).toMatchSnapshot( imageName ); }); @@ -69,9 +69,9 @@ test.describe('Notebook Markdown', () => { const imageName = 'do-not-highlight-standalone-dollar.png'; await enterEditingModeForScreenshot(page, 2); - const cell = await page.notebook.getCell(2); + const cell = await page.notebook.getCellLocator(2); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-Editor').screenshot()).toMatchSnapshot( imageName ); }); @@ -79,14 +79,14 @@ test.describe('Notebook Markdown', () => { test('Render a MermaidJS flowchart', async ({ page, tmpPath }) => { await page.notebook.openByPath(`${tmpPath}/${fileName}`); const imageName = 'render-mermaid-flowchart.png'; - const cell = await page.notebook.getCell(3); - expect(await cell.screenshot()).toMatchSnapshot(imageName); + const cell = await page.notebook.getCellLocator(3); + expect(await cell!.screenshot()).toMatchSnapshot(imageName); }); test('Render a MermaidJS error', async ({ page, tmpPath }) => { await page.notebook.openByPath(`${tmpPath}/${fileName}`); const imageName = 'render-mermaid-error.png'; - const cell = await page.notebook.getCell(4); - expect(await cell.screenshot()).toMatchSnapshot(imageName); + const cell = await page.notebook.getCellLocator(4); + expect(await cell!.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/notebook-max-outputs.test.ts b/galata/test/jupyterlab/notebook-max-outputs.test.ts index 7790f14cce58..5414fe4b2479 100644 --- a/galata/test/jupyterlab/notebook-max-outputs.test.ts +++ b/galata/test/jupyterlab/notebook-max-outputs.test.ts @@ -48,7 +48,7 @@ input('Your age:') `); await page.menu.clickMenuItem('Run>Run All Cells'); - await page.waitForSelector('.jp-Stdin >> text=Your age:'); + await page.locator('.jp-Stdin >> text=Your age:').waitFor(); expect(await page.locator('.jp-RenderedMarkdown').count()).toBeGreaterThan( MAX_OUTPUTS ); @@ -73,7 +73,7 @@ for i in range(10): `); await page.menu.clickMenuItem('Run>Run All Cells'); - await page.waitForSelector('.jp-Stdin >> text=Your age:'); + await page.locator('.jp-Stdin >> text=Your age:').waitFor(); await page.keyboard.type('42'); await page.keyboard.press('Enter'); diff --git a/galata/test/jupyterlab/notebook-mobile.test.ts b/galata/test/jupyterlab/notebook-mobile.test.ts index a8bcd8e32972..2705fe85bde8 100644 --- a/galata/test/jupyterlab/notebook-mobile.test.ts +++ b/galata/test/jupyterlab/notebook-mobile.test.ts @@ -14,14 +14,11 @@ test.describe('Notebook Layout on Mobile', () => { test('Execute code cell', async ({ page }) => { await page.sidebar.close('left'); - // TODO: calling `setCell` just once leads to very flaky test - // See https://github.com/jupyterlab/jupyterlab/issues/15252 for more information - await page.notebook.setCell(0, 'code', 'print("hello")'); await page.notebook.setCell(0, 'code', 'print("hello")'); await page.notebook.addCell('code', '2 * 3'); await page.notebook.runCellByCell(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); const imageName = 'mobile-layout.png'; - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/notebook-replace.test.ts b/galata/test/jupyterlab/notebook-replace.test.ts index 02bd238470f2..945bd2b14ae7 100644 --- a/galata/test/jupyterlab/notebook-replace.test.ts +++ b/galata/test/jupyterlab/notebook-replace.test.ts @@ -28,7 +28,7 @@ test.describe('Notebook Search and Replace', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); await page.click('button[title="Show Replace"]'); @@ -36,11 +36,11 @@ test.describe('Notebook Search and Replace', () => { await page.click('button:has-text("Replace")'); - await page.waitForSelector('text=1/20'); + await page.locator('text=1/20').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot('replace-in-cell.png'); + expect(await nbPanel!.screenshot()).toMatchSnapshot('replace-in-cell.png'); }); test('Substitute groups of regular expressions', async ({ page }) => { @@ -48,17 +48,17 @@ test.describe('Notebook Search and Replace', () => { await page.click('button[title="Use Regular Expression"]'); await page.fill('[placeholder="Find"]', 'text/(\\w+)'); - await page.waitForSelector('text=1/3'); + await page.locator('text=1/3').waitFor(); await page.click('button[title="Show Replace"]'); await page.fill('[placeholder="Replace"]', 'script/$1'); - const cell = await page.notebook.getCell(2); + const cell = await page.notebook.getCellLocator(2); await expect(page.locator('body')).not.toContainText('script/plain'); await page.click('button:has-text("Replace")'); - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); - await cell.waitForSelector('text=script/plain'); + await cell!.locator('text=script/plain').waitFor(); await expect(page.locator('body')).toContainText('script/plain'); }); @@ -68,7 +68,7 @@ test.describe('Notebook Search and Replace', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); // Click next button await page.click('button[title^="Next Match"]', { @@ -81,13 +81,13 @@ test.describe('Notebook Search and Replace', () => { await page.click('button:has-text("Replace")'); - await page.waitForSelector('text=5/20'); + await page.locator('text=5/20').waitFor(); - const cell = await page.notebook.getCell(1); + const cell = await page.notebook.getCellLocator(1); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( - 'replace-in-markdown-rendered-cell.png' - ); + expect( + await cell!.locator('.jp-Editor').first().screenshot() + ).toMatchSnapshot('replace-in-markdown-rendered-cell.png'); }); test('Replace all', async ({ page }) => { @@ -96,7 +96,7 @@ test.describe('Notebook Search and Replace', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); await page.click('button[title="Show Replace"]'); @@ -104,11 +104,11 @@ test.describe('Notebook Search and Replace', () => { await page.click('button:has-text("Replace All")'); - await page.waitForSelector('text=-/-'); + await page.locator('text=-/-').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot('replace-all.png'); + expect(await nbPanel!.screenshot()).toMatchSnapshot('replace-all.png'); }); test('Replace step-by-step across cell boundaries', async ({ page }) => { @@ -125,24 +125,24 @@ test.describe('Notebook Search and Replace', () => { // TODO: Next Match press count should be one less // (the -/4 state should not be necessary). - await page.waitForSelector('text=-/4'); + await page.locator('text=-/4').waitFor(); await page.click('button[title^="Next Match"]', { clickCount: 3 }); - await page.waitForSelector('text=1/4'); + await page.locator('text=1/4').waitFor(); await page.click('button:has-text("Replace")'); - await page.waitForSelector('text=1/3'); + await page.locator('text=1/3').waitFor(); await page.click('button:has-text("Replace")'); // At this point we should be in the second cell - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); await page.click('button:has-text("Replace")'); - await page.waitForSelector('text=1/1'); + await page.locator('text=1/1').waitFor(); await page.click('button:has-text("Replace")'); - await page.waitForSelector('text=-/-'); + await page.locator('text=-/-').waitFor(); }); }); diff --git a/galata/test/jupyterlab/notebook-run-mermaid.test.ts b/galata/test/jupyterlab/notebook-run-mermaid.test.ts index 7fc22b3b56a6..a20778eab131 100644 --- a/galata/test/jupyterlab/notebook-run-mermaid.test.ts +++ b/galata/test/jupyterlab/notebook-run-mermaid.test.ts @@ -51,11 +51,11 @@ test.describe('Notebook Run Mermaid', () => { const imageName = 'run-cells-mermaid.png'; await page.notebook.run(); - await page.waitForSelector('.jp-RenderedMermaid'); + await page.locator('.jp-RenderedMermaid').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); expect(await nbDiskContent(page, nbPath)).toContain(SVG_MIME_TYPE); }); @@ -73,11 +73,11 @@ test.describe('Notebook Run Mermaid', () => { const imageName = 'run-cells-dark-mermaid.png'; await page.notebook.run(); - await page.waitForSelector('.jp-RenderedMermaid'); + await page.locator('.jp-RenderedMermaid').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); expect(await nbDiskContent(page, nbPath)).toContain(SVG_MIME_TYPE); }); }); diff --git a/galata/test/jupyterlab/notebook-run-vega.test.ts b/galata/test/jupyterlab/notebook-run-vega.test.ts index 231b9efc9e35..7072fac81f05 100644 --- a/galata/test/jupyterlab/notebook-run-vega.test.ts +++ b/galata/test/jupyterlab/notebook-run-vega.test.ts @@ -51,11 +51,11 @@ test.describe('Notebook Run Vega', () => { const imageName = 'run-cells-vega.png'; await page.notebook.run(); - await page.waitForSelector('.vega-embed'); + await page.locator('.vega-embed').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); expect(await nbDiskContent(page, nbPath)).toContain(PNG_MIME_TYPE); }); @@ -73,11 +73,11 @@ test.describe('Notebook Run Vega', () => { const imageName = 'run-cells-dark-vega.png'; await page.notebook.run(); - await page.waitForSelector('.vega-embed'); + await page.locator('.vega-embed').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); expect(await nbDiskContent(page, nbPath)).toContain(PNG_MIME_TYPE); }); }); diff --git a/galata/test/jupyterlab/notebook-run.test.ts b/galata/test/jupyterlab/notebook-run.test.ts index fb44dc4fe2c8..b45ba6403578 100644 --- a/galata/test/jupyterlab/notebook-run.test.ts +++ b/galata/test/jupyterlab/notebook-run.test.ts @@ -43,7 +43,7 @@ test.describe.serial('Notebook Run', () => { await page.notebook.runCellByCell({ onBeforeScroll: async () => { - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); if (nbPanel) { captures.push(await nbPanel.screenshot()); numNBImages++; @@ -54,8 +54,8 @@ test.describe.serial('Notebook Run', () => { // Save outputs for the next tests await page.notebook.save(); - const nbPanel = await page.notebook.getNotebookInPanel(); - captures.push(await nbPanel.screenshot()); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); + captures.push(await nbPanel!.screenshot()); numNBImages++; for (let c = 0; c < numNBImages; ++c) { diff --git a/galata/test/jupyterlab/notebook-scroll-no-windowing.test.ts b/galata/test/jupyterlab/notebook-scroll-no-windowing.test.ts index cb3a18fce136..4ce259b1323b 100644 --- a/galata/test/jupyterlab/notebook-scroll-no-windowing.test.ts +++ b/galata/test/jupyterlab/notebook-scroll-no-windowing.test.ts @@ -181,30 +181,29 @@ test.describe('Notebook scroll on execution (no windowing)', () => { test('should scroll when advancing if top is only marginally visible', async ({ page }) => { - const notebook = await page.notebook.getNotebookInPanel(); - const thirdCell = await page.notebook.getCell(2); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const thirdCell = await page.notebook.getCellLocator(2); - await positionCellPartiallyBelowViewport(page, notebook, thirdCell, 0.01); + await positionCellPartiallyBelowViewport(page, notebook!, thirdCell!, 0.01); // Select second cell await page.notebook.selectCells(1); - const thirdCellLocator = page.locator( - '.jp-Cell[data-windowed-list-index="2"]' - ); // The third cell should be positioned at the bottom, revealing between 0 to 2% of its content. - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.0 }); - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.02 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.0 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.02 }); // Only a small fraction of notebook viewport should be taken up by that cell - expect(await notebookViewportRatio(notebook, thirdCell)).toBeLessThan(0.1); + expect(await notebookViewportRatio(notebook!, thirdCell!)).toBeLessThan( + 0.1 + ); // Run second cell await page.notebook.runCell(1); // After running the second cell, the third cell should be revealed, in at least 10% - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.1 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.1 }); // The third cell should now occupy about half of the notebook viewport - expect(await notebookViewportRatio(notebook, thirdCell)).toBeGreaterThan( + expect(await notebookViewportRatio(notebook!, thirdCell!)).toBeGreaterThan( 0.4 ); }); @@ -212,53 +211,47 @@ test.describe('Notebook scroll on execution (no windowing)', () => { test('should not scroll when advancing if top is non-marginally visible', async ({ page }) => { - const notebook = await page.notebook.getNotebookInPanel(); - const thirdCell = await page.notebook.getCell(2); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const thirdCell = await page.notebook.getCellLocator(2); - await positionCellPartiallyBelowViewport(page, notebook, thirdCell, 0.15); + await positionCellPartiallyBelowViewport(page, notebook!, thirdCell!, 0.15); // Select second cell await page.notebook.selectCells(1); - const thirdCellLocator = page.locator( - '.jp-Cell[data-windowed-list-index="2"]' - ); // The third cell should be positioned at the bottom, revealing between 10 to 20% of its content. - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.1 }); - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.1 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // This cell should initially take up between 30% and 50% of the notebook viewport - let spaceTaken = await notebookViewportRatio(notebook, thirdCell); + let spaceTaken = await notebookViewportRatio(notebook!, thirdCell!); expect(spaceTaken).toBeGreaterThan(0.3); expect(spaceTaken).toBeLessThan(0.5); // Run second cell await page.notebook.runCell(1); // After running the second cell, the third cell should not be scrolled - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // The cell should still take up between 30% and 50% of the notebook viewport - spaceTaken = await notebookViewportRatio(notebook, thirdCell); + spaceTaken = await notebookViewportRatio(notebook!, thirdCell!); expect(spaceTaken).toBeGreaterThan(0.3); expect(spaceTaken).toBeLessThan(0.5); }); test('should not scroll when running in-place', async ({ page }) => { - const notebook = await page.notebook.getNotebookInPanel(); - const thirdCell = await page.notebook.getCell(2); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const thirdCell = await page.notebook.getCellLocator(2); - await positionCellPartiallyBelowViewport(page, notebook, thirdCell, 0.15); + await positionCellPartiallyBelowViewport(page, notebook!, thirdCell!, 0.15); // Select third cell await page.notebook.enterCellEditingMode(2); - const thirdCellLocator = page.locator( - '.jp-Cell[data-windowed-list-index="2"]' - ); // The third cell should be positioned at the bottom, revealing between 10 to 20% of its content. - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.1 }); - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.1 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // Run third cell in-place await page.notebook.runCell(2, true); // After running the third cell it should not be scrolled - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // The galata implementation of `page.notebook.runCell(2, true);` // first switches to command mode before cell execution, @@ -266,7 +259,7 @@ test.describe('Notebook scroll on execution (no windowing)', () => { await page.keyboard.press('Control+Enter'); // After running the third cell it should not be scrolled - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); }); }); @@ -302,8 +295,8 @@ test.describe('Notebook scroll over long outputs (no windowing)', () => { await renderedMarkdownLocator.waitFor({ state: 'hidden', timeout: 100 }); // Scroll to the last cell - const lastCell = await page.notebook.getCell(10); - await lastCell.scrollIntoViewIfNeeded(); + const lastCell = await page.notebook.getCellLocator(10); + await lastCell!.scrollIntoViewIfNeeded(); // Get the outer window const outer = page.locator('.jp-WindowedPanel-outer'); diff --git a/galata/test/jupyterlab/notebook-scroll.test.ts b/galata/test/jupyterlab/notebook-scroll.test.ts index d50d835e6970..8b96679c135d 100644 --- a/galata/test/jupyterlab/notebook-scroll.test.ts +++ b/galata/test/jupyterlab/notebook-scroll.test.ts @@ -181,30 +181,29 @@ test.describe('Notebook scroll on execution (with windowing)', () => { test('should scroll when advancing if top is only marginally visible', async ({ page }) => { - const notebook = await page.notebook.getNotebookInPanel(); - const thirdCell = await page.notebook.getCell(2); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const thirdCell = await page.notebook.getCellLocator(2); - await positionCellPartiallyBelowViewport(page, notebook, thirdCell, 0.01); + await positionCellPartiallyBelowViewport(page, notebook!, thirdCell!, 0.01); // Select second cell await page.notebook.selectCells(1); - const thirdCellLocator = page.locator( - '.jp-Cell[data-windowed-list-index="2"]' - ); // The third cell should be positioned at the bottom, revealing between 0 to 2% of its content. - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.0 }); - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.02 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.0 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.02 }); // Only a small fraction of notebook viewport should be taken up by that cell - expect(await notebookViewportRatio(notebook, thirdCell)).toBeLessThan(0.1); + expect(await notebookViewportRatio(notebook!, thirdCell!)).toBeLessThan( + 0.1 + ); // Run second cell await page.notebook.runCell(1); // After running the second cell, the third cell should be revealed, in at least 10% - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.1 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.1 }); // The third cell should now occupy about half of the notebook viewport - expect(await notebookViewportRatio(notebook, thirdCell)).toBeGreaterThan( + expect(await notebookViewportRatio(notebook!, thirdCell!)).toBeGreaterThan( 0.4 ); }); @@ -212,53 +211,47 @@ test.describe('Notebook scroll on execution (with windowing)', () => { test('should not scroll when advancing if top is non-marginally visible', async ({ page }) => { - const notebook = await page.notebook.getNotebookInPanel(); - const thirdCell = await page.notebook.getCell(2); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const thirdCell = await page.notebook.getCellLocator(2); - await positionCellPartiallyBelowViewport(page, notebook, thirdCell, 0.15); + await positionCellPartiallyBelowViewport(page, notebook!, thirdCell!, 0.15); // Select second cell await page.notebook.selectCells(1); - const thirdCellLocator = page.locator( - '.jp-Cell[data-windowed-list-index="2"]' - ); // The third cell should be positioned at the bottom, revealing between 10 to 20% of its content. - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.1 }); - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.1 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // This cell should initially take up between 30% and 50% of the notebook viewport - let spaceTaken = await notebookViewportRatio(notebook, thirdCell); + let spaceTaken = await notebookViewportRatio(notebook!, thirdCell!); expect(spaceTaken).toBeGreaterThan(0.3); expect(spaceTaken).toBeLessThan(0.5); // Run second cell await page.notebook.runCell(1); // After running the second cell, the third cell should not be scrolled - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // The cell should still take up between 30% and 50% of the notebook viewport - spaceTaken = await notebookViewportRatio(notebook, thirdCell); + spaceTaken = await notebookViewportRatio(notebook!, thirdCell!); expect(spaceTaken).toBeGreaterThan(0.3); expect(spaceTaken).toBeLessThan(0.5); }); test('should not scroll when running in-place', async ({ page }) => { - const notebook = await page.notebook.getNotebookInPanel(); - const thirdCell = await page.notebook.getCell(2); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const thirdCell = await page.notebook.getCellLocator(2); - await positionCellPartiallyBelowViewport(page, notebook, thirdCell, 0.15); + await positionCellPartiallyBelowViewport(page, notebook!, thirdCell!, 0.15); // Select third cell await page.notebook.enterCellEditingMode(2); - const thirdCellLocator = page.locator( - '.jp-Cell[data-windowed-list-index="2"]' - ); // The third cell should be positioned at the bottom, revealing between 10 to 20% of its content. - await expect(thirdCellLocator).toBeInViewport({ ratio: 0.1 }); - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).toBeInViewport({ ratio: 0.1 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // Run third cell in-place await page.notebook.runCell(2, true); // After running the third cell it should not be scrolled - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); // The galata implementation of `page.notebook.runCell(2, true);` // first switches to command mode before cell execution, @@ -266,7 +259,7 @@ test.describe('Notebook scroll on execution (with windowing)', () => { await page.keyboard.press('Control+Enter'); // After running the third cell it should not be scrolled - await expect(thirdCellLocator).not.toBeInViewport({ ratio: 0.2 }); + await expect(thirdCell!).not.toBeInViewport({ ratio: 0.2 }); }); }); @@ -302,8 +295,8 @@ test.describe('Notebook scroll over long outputs (with windowing)', () => { await renderedMarkdownLocator.waitFor({ state: 'hidden', timeout: 100 }); // Scroll to the last cell - const lastCell = await page.notebook.getCell(10); - await lastCell.scrollIntoViewIfNeeded(); + const lastCell = await page.notebook.getCellLocator(10); + await lastCell!.scrollIntoViewIfNeeded(); // Get the outer window const outer = page.locator('.jp-WindowedPanel-outer'); diff --git a/galata/test/jupyterlab/notebook-search-highlight.test.ts b/galata/test/jupyterlab/notebook-search-highlight.test.ts index d282f76d50eb..bba6a848afc1 100644 --- a/galata/test/jupyterlab/notebook-search-highlight.test.ts +++ b/galata/test/jupyterlab/notebook-search-highlight.test.ts @@ -34,7 +34,7 @@ test('Open and close Search dialog, then add new code cell', async ({ }, TEST_NEEDLE); // wait for the search to complete - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); expect(await page.locator(HIGHLIGHTS_LOCATOR).count()).toBeGreaterThanOrEqual( 4 ); diff --git a/galata/test/jupyterlab/notebook-search.test.ts b/galata/test/jupyterlab/notebook-search.test.ts index a67b7d02d7c6..b9d88044262b 100644 --- a/galata/test/jupyterlab/notebook-search.test.ts +++ b/galata/test/jupyterlab/notebook-search.test.ts @@ -35,11 +35,11 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot('search.png'); + expect(await nbPanel!.screenshot()).toMatchSnapshot('search.png'); }); test('Should open search box in edit mode', async ({ page }) => { @@ -91,7 +91,7 @@ test.describe('Notebook Search', () => { 'one notebook withr\n\n\nThis is a multi' ); - await page.waitForSelector('text=1/1'); + await page.locator('text=1/1').waitFor(); // Show replace buttons to check for visual regressions await page.click('button[title="Show Replace"]'); @@ -125,7 +125,7 @@ test.describe('Notebook Search', () => { }); // Expect the first match to be highlighted - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); // Enter first cell again await page.notebook.enterCellEditingMode(0); @@ -162,7 +162,7 @@ test.describe('Notebook Search', () => { // Search for "test" await page.keyboard.press('Control+f'); await page.fill('[placeholder="Find"]', 'test'); - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); // Close search box await page.keyboard.press('Escape'); @@ -174,7 +174,7 @@ test.describe('Notebook Search', () => { // Expect the text to be set in the input field await expect(inputWithTestLocator).toBeVisible(); // Expect the search to be active again - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); }); test('Clear search when box is empty', async ({ page }) => { @@ -243,14 +243,14 @@ test.describe('Notebook Search', () => { await page.click('.jp-Dialog .jp-mod-accept'); } - await page.waitForSelector('text=1/29'); + await page.locator('text=1/29').waitFor(); - const cell = await page.notebook.getCell(5); - await cell.scrollIntoViewIfNeeded(); + const cell = await page.notebook.getCellLocator(5); + await cell!.scrollIntoViewIfNeeded(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot( + expect(await nbPanel!.screenshot()).toMatchSnapshot( 'search-within-outputs.png' ); }); @@ -265,10 +265,10 @@ test.describe('Notebook Search', () => { await page.click('text=Search in 1 Selected Cell'); - await page.waitForSelector('text=1/4'); + await page.locator('text=1/4').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); - expect(await nbPanel.screenshot()).toMatchSnapshot( + const nbPanel = await page.notebook.getNotebookInPanelLocator(); + expect(await nbPanel!.screenshot()).toMatchSnapshot( 'search-in-selected-cells.png' ); }); @@ -280,36 +280,40 @@ test.describe('Notebook Search', () => { await page.click('text=Search in 1 Selected Cell'); // Bring focus to first cell without switching away from command mode - let cell = await page.notebook.getCell(0); - await (await cell.$('.jp-InputPrompt')).click(); + let cell = await page.notebook.getCellLocator(0); + await cell!.locator('.jp-InputPrompt').click(); // Select two cells below await page.keyboard.press('Shift+ArrowDown'); await page.keyboard.press('Shift+ArrowDown'); // Expect the filter text to be updated - await page.waitForSelector('text=Search in 3 Selected Cells'); + await page.locator('text=Search in 3 Selected Cells').waitFor(); // Reset selection, switch to third cell, preserving command mode - cell = await page.notebook.getCell(2); - await (await cell.$('.jp-InputPrompt')).click(); + cell = await page.notebook.getCellLocator(2); + await cell!.locator('.jp-InputPrompt').click(); - await page.waitForSelector('text=Search in 1 Selected Cell'); + await page.locator('text=Search in 1 Selected Cell').waitFor(); + // Wait for the counter to be properly updated + await page + .locator('.jp-DocumentSearch-index-counter:has-text("1/10")') + .waitFor(); // Select cell above await page.keyboard.press('Shift+ArrowUp'); // Expect updated text - await page.waitForSelector('text=Search in 2 Selected Cells'); + await page.locator('text=Search in 2 Selected Cells').waitFor(); // Expect 15 matches; this is 6/15, not 1/15 because current match is set // in second cell and when selection is extended, it does not move; keeping // the current match when extending the selection is desired as user may use // it as a reference, especially when it was set as closest to the cursor. - await page.waitForSelector('text=6/15'); + await page.locator('text=6/15').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); - expect(await nbPanel.screenshot()).toMatchSnapshot( + const nbPanel = await page.notebook.getNotebookInPanelLocator(); + expect(await nbPanel!.screenshot()).toMatchSnapshot( 'search-in-two-selected-cells.png' ); }); @@ -322,11 +326,11 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); await page.click('button[title="Show Search Filters"]'); await page.click('text=Search in 1 Selected Cell'); - await page.waitForSelector('text=1/4'); + await page.locator('text=1/4').waitFor(); // Bring focus to first cell without switching to edit mode - let cell = await page.notebook.getCell(0); - await (await cell.$('.jp-Editor')).click(); + let cell = await page.notebook.getCellLocator(0); + await cell!.locator('.jp-Editor').click(); // Switch back to command mode await page.keyboard.press('Escape'); @@ -336,22 +340,21 @@ test.describe('Notebook Search', () => { await page.keyboard.press('Shift+ArrowDown'); // Expect the filter text to be updated - await page.waitForSelector('text=Search in 3 Selected Cells'); + await page.locator('text=Search in 3 Selected Cells').waitFor(); // Expect 19 matches - await page.waitForSelector('text=1/19'); + await page.locator('text=1/19').waitFor(); }); test('Search in selected text', async ({ page }) => { await page.keyboard.press('Control+f'); await page.fill('[placeholder="Find"]', 'text/'); - await page.waitForSelector('text=1/3'); + await page.locator('text=1/3').waitFor(); // Activate third cell - const cell = await page.notebook.getCell(2); - const editor = await cell.$('.jp-Editor'); - await editor.click(); + const cell = await page.notebook.getCellLocator(2); + await cell!.locator('.jp-Editor').click(); // Select 7 lines await page.keyboard.press('Control+Home'); @@ -363,11 +366,11 @@ test.describe('Notebook Search', () => { await page.click('button[title="Show Search Filters"]'); await page.click('text=Search in 7 Selected Lines'); - await page.waitForSelector('text=1/2'); + await page.locator('text=1/2').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot( + expect(await nbPanel!.screenshot()).toMatchSnapshot( 'search-in-selected-text.png' ); }); @@ -375,16 +378,15 @@ test.describe('Notebook Search', () => { test('Highlights are visible when text is selected', async ({ page }) => { await page.keyboard.press('Control+f'); await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); - const cell = await page.notebook.getCell(0); - const editor = await cell.$('.jp-Editor'); - await editor.click(); + const cell = await page.notebook.getCellLocator(0); + await cell!.locator('.jp-Editor').click(); // Select text (to see if the highlights will still be visible) await page.keyboard.press('Control+A'); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-Editor').screenshot()).toMatchSnapshot( 'highlight-visible-under-selection.png' ); }); @@ -395,14 +397,14 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); // Click next button await page.click('button[title^="Next Match"]'); - const cell = await page.notebook.getCell(0); + const cell = await page.notebook.getCellLocator(0); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-Editor').screenshot()).toMatchSnapshot( 'highlight-next-in-editor.png' ); }); @@ -413,16 +415,16 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); // Click next button await page.click('button[title^="Next Match"]', { clickCount: 4 }); - const cell = await page.notebook.getCell(1); + const cell = await page.notebook.getCellLocator(1); - expect(await cell.screenshot()).toMatchSnapshot('highlight-next-cell.png'); + expect(await cell!.screenshot()).toMatchSnapshot('highlight-next-cell.png'); }); test('Highlight previous hit', async ({ page }) => { @@ -431,39 +433,39 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); // Click previous button await page.click('button[title^="Previous Match"]'); // Should cycle back - await page.waitForSelector('text=21/21'); + await page.locator('text=21/21').waitFor(); // Click previous button twice await page.click('button[title^="Previous Match"]'); await page.click('button[title^="Previous Match"]'); // Should move up by two - await page.waitForSelector('text=19/21'); + await page.locator('text=19/21').waitFor(); - const hit = await page.notebook.getCell(2); - expect(await hit.screenshot()).toMatchSnapshot( + const hit = await page.notebook.getCellLocator(2); + expect(await hit!.screenshot()).toMatchSnapshot( 'highlight-previous-element.png' ); }); test('Search from cursor', async ({ page }) => { - const cell = await page.notebook.getCell(5); - await cell.click(); + const cell = await page.notebook.getCellLocator(5); + await cell!.click(); await page.keyboard.press('Escape'); - await cell.scrollIntoViewIfNeeded(); + await cell!.scrollIntoViewIfNeeded(); // Open search box await page.keyboard.press('Control+f'); await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=20/21'); + await page.locator('text=20/21').waitFor(); // Click previous button await page.click('button[title^="Previous Match"]'); - await page.waitForSelector('text=19/21'); + await page.locator('text=19/21').waitFor(); }); test('Highlight on markdown rendered state change', async ({ page }) => { @@ -472,18 +474,18 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); // Click next button await page.click('button[title^="Next Match"]', { clickCount: 4 }); - const cell = await page.notebook.getCell(1); + const cell = await page.notebook.getCellLocator(1); - await cell.dblclick(); + await cell!.dblclick(); - expect(await (await cell.$('.jp-Editor')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-Editor').screenshot()).toMatchSnapshot( 'highlight-markdown-switch-state.png' ); }); @@ -497,12 +499,12 @@ test.describe('Notebook Search', () => { // Wait until search has settled before entering a cell for edition // as this can lead to selection of active result near that cell // (rather than at the beginning of the notebook) - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); await page.notebook.setCell(5, 'code', 'with'); - const cell = await page.notebook.getCell(5); - expect(await cell.screenshot()).toMatchSnapshot('search-typing.png'); + const cell = await page.notebook.getCellLocator(5); + expect(await cell!.screenshot()).toMatchSnapshot('search-typing.png'); }); test('Search new outputs', async ({ page }) => { @@ -515,14 +517,14 @@ test.describe('Notebook Search', () => { await page.click('text=Search Cell Outputs'); - await page.waitForSelector('text=1/29'); + await page.locator('text=1/29').waitFor(); - const cell = await page.notebook.getCell(5); + const cell = await page.notebook.getCellLocator(5); - await cell.click(); + await cell!.click(); await page.notebook.runCell(5); - expect(await cell.screenshot()).toMatchSnapshot('search-new-outputs.png'); + expect(await cell!.screenshot()).toMatchSnapshot('search-new-outputs.png'); }); test('Search on new cell', async ({ page }) => { @@ -531,16 +533,16 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); - const cell = await page.notebook.getCell(5); - await cell.click(); + const cell = await page.notebook.getCellLocator(5); + await cell!.click(); await page.notebook.clickToolbarItem('insert'); await page.notebook.setCell(6, 'code', 'with'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot( + expect(await nbPanel!.screenshot()).toMatchSnapshot( 'search-on-new-cell.png' ); }); @@ -551,21 +553,21 @@ test.describe('Notebook Search', () => { await page.fill('[placeholder="Find"]', 'with'); - await page.waitForSelector('text=1/21'); + await page.locator('text=1/21').waitFor(); - const cell = await page.notebook.getCell(5); - await cell.click(); + const cell = await page.notebook.getCellLocator(5); + await cell!.click(); await page.keyboard.press('Escape'); - await cell.scrollIntoViewIfNeeded(); + await cell!.scrollIntoViewIfNeeded(); await page.keyboard.press('d'); await page.keyboard.press('d'); - await page.waitForSelector('text=1/19'); + await page.locator('text=1/19').waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot( + expect(await nbPanel!.screenshot()).toMatchSnapshot( 'search-on-deleted-cell.png' ); }); @@ -615,8 +617,8 @@ test.describe('Auto search in multiple selection', async () => { test('Toggles search in cell selection', async ({ page }) => { // Bring focus to first cell without switching away from command mode - let cell = await page.notebook.getCell(0); - await (await cell.$('.jp-InputPrompt')).click(); + let cell = await page.notebook.getCellLocator(0); + await cell!.locator('.jp-InputPrompt').click(); // Open search box and show filters await page.keyboard.press('Control+f'); await page.click('button[title="Show Search Filters"]'); @@ -637,8 +639,8 @@ test.describe('Auto search in multiple selection', async () => { test('Toggles search in line selection', async ({ page }) => { // Activate third cell - const cell = await page.notebook.getCell(2); - const editor = await cell.$('.jp-Editor'); + const cell = await page.notebook.getCellLocator(2); + const editor = cell!.locator('.jp-Editor'); await editor.click(); // Select 1st line @@ -678,8 +680,8 @@ test.describe('Auto search in any selection', async () => { test('Toggles search in cell selection', async ({ page }) => { // Bring focus to first cell without switching away from command mode - let cell = await page.notebook.getCell(0); - await (await cell.$('.jp-InputPrompt')).click(); + let cell = await page.notebook.getCellLocator(0); + await cell!.locator('.jp-InputPrompt').click(); // Open search box and show filters await page.keyboard.press('Control+f'); await page.click('button[title="Show Search Filters"]'); @@ -693,8 +695,8 @@ test.describe('Auto search in any selection', async () => { test('Toggles search in line selection', async ({ page }) => { // Activate third cell - const cell = await page.notebook.getCell(2); - const editor = await cell.$('.jp-Editor'); + const cell = await page.notebook.getCellLocator(2); + const editor = cell!.locator('.jp-Editor'); await editor.click(); // Open search box and show filters diff --git a/galata/test/jupyterlab/notebook-toolbar.test.ts b/galata/test/jupyterlab/notebook-toolbar.test.ts index a709c486b829..0e040c2abf14 100644 --- a/galata/test/jupyterlab/notebook-toolbar.test.ts +++ b/galata/test/jupyterlab/notebook-toolbar.test.ts @@ -80,9 +80,9 @@ test.describe('Notebook Toolbar', () => { await page.notebook.clickToolbarItem('insert'); await page.notebook.selectCells(2); await page.notebook.clickToolbarItem('insert'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Copy-Paste cell', async ({ page }) => { @@ -91,18 +91,18 @@ test.describe('Notebook Toolbar', () => { await page.notebook.clickToolbarItem('copy'); await page.notebook.selectCells(0); await page.notebook.clickToolbarItem('paste'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Cut cell', async ({ page }) => { const imageName = 'cut-cell.png'; await page.notebook.selectCells(1); await page.notebook.clickToolbarItem('cut'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Paste cell', async ({ page }) => { @@ -113,21 +113,21 @@ test.describe('Notebook Toolbar', () => { const imageName = 'paste-cell.png'; await page.notebook.selectCells(1); await page.notebook.clickToolbarItem('paste'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - await expect - .soft(page.locator('.jp-Notebook-cell.jp-mod-active .jp-cell-toolbar')) - .toBeVisible(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + await expect( + page.locator('.jp-Notebook-cell.jp-mod-active .jp-cell-toolbar') + ).toBeVisible(); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Delete cells', async ({ page }) => { const imageName = 'delete-cell.png'; await page.notebook.selectCells(1, 2); await page.menu.clickMenuItem('Edit>Delete Cells'); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Run cell', async ({ page }) => { @@ -135,11 +135,11 @@ test.describe('Notebook Toolbar', () => { await page.notebook.selectCells(2); await page.notebook.clickToolbarItem('run'); - await page.waitForSelector('text=8'); + await page.getByText('8', { exact: true }).waitFor(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); test('Change cell type to Markdown', async ({ page }) => { @@ -149,9 +149,9 @@ test.describe('Notebook Toolbar', () => { await page.keyboard.press('m'); await page.keyboard.press('Enter'); await page.notebook.selectCells(2); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); - expect(await nbPanel.screenshot()).toMatchSnapshot(imageName); + expect(await nbPanel!.screenshot()).toMatchSnapshot(imageName); }); }); @@ -159,19 +159,19 @@ test('Toolbar items act on owner widget', async ({ page }) => { // Given two side-by-side notebooks and the second being active const file1 = 'notebook1.ipynb'; await page.notebook.createNew(file1); - const panel1 = await page.activity.getPanel(file1); - const tab1 = await page.activity.getTab(file1); + const panel1 = await page.activity.getPanelLocator(file1); + const tab1 = page.activity.getTabLocator(file1); // FIXME Calling a second time `page.notebook.createNew` is not robust await page.menu.clickMenuItem('File>New>Notebook'); try { - await page.waitForSelector('.jp-Dialog', { timeout: 5000 }); + await page.locator('.jp-Dialog').waitFor({ timeout: 5000 }); await page.click('.jp-Dialog .jp-mod-accept'); } catch (reason) { // no-op } - const tab2 = await page.activity.getTab(); + const tab2 = page.activity.getTabLocator(); const tab2BBox = await tab2.boundingBox(); await page.mouse.move( @@ -186,9 +186,10 @@ test('Toolbar items act on owner widget', async ({ page }) => { expect(classlist.split(' ')).not.toContain('jp-mod-current'); // When clicking on toolbar item of the first file - await ( - await panel1.$('jp-button[data-command="notebook:insert-cell-below"]') - ).click(); + await panel1 + ?.locator('jp-button[data-command="notebook:insert-cell-below"]') + .first() + .click(); // Then the first file is activated and the action is performed const classlistEnd = await tab1.getAttribute('class'); diff --git a/galata/test/jupyterlab/notebook-trust.test.ts b/galata/test/jupyterlab/notebook-trust.test.ts index 776ffd8cbd51..7b4a76f6f286 100644 --- a/galata/test/jupyterlab/notebook-trust.test.ts +++ b/galata/test/jupyterlab/notebook-trust.test.ts @@ -42,10 +42,9 @@ test.describe('Notebook Trust', () => { }); await page.hover('text=Open With'); await page.click('.lm-Menu li[role="menuitem"]:has-text("Editor")'); - const editorContent = await page.waitForSelector( - '.jp-FileEditor .cm-content' - ); - await editorContent.waitForSelector('text=TEST_TEXT'); + const editorContent = page.locator('.jp-FileEditor .cm-content'); + await editorContent.waitFor(); + await editorContent.locator('text=TEST_TEXT').waitFor(); const originalContent = await page.evaluate(async () => { await window.jupyterapp.commands.execute('fileeditor:select-all'); await window.jupyterapp.commands.execute('fileeditor:cut'); diff --git a/galata/test/jupyterlab/notification.test.ts b/galata/test/jupyterlab/notification.test.ts index fc1bf7cd33b6..b6db7d7dabdf 100644 --- a/galata/test/jupyterlab/notification.test.ts +++ b/galata/test/jupyterlab/notification.test.ts @@ -27,7 +27,7 @@ test.describe('Toast', () => { }); }, type); - await page.waitForSelector('.Toastify__toast'); + await page.locator('.Toastify__toast').waitFor(); expect( await page.locator('.Toastify__toast').screenshot({ @@ -70,7 +70,8 @@ test.describe('Toast', () => { }); }); - const handle = await page.waitForSelector('.Toastify__toast'); + const handle = page.locator('.Toastify__toast'); + await handle.waitFor(); expect(await handle.screenshot({ animations: 'disabled' })).toMatchSnapshot( { @@ -79,7 +80,7 @@ test.describe('Toast', () => { ); await Promise.all([ - handle.waitForElementState('hidden'), + handle.last().waitFor({ state: 'hidden' }), page.click('.Toastify__toast >> text=Button 2') ]); @@ -113,7 +114,8 @@ test.describe('Toast', () => { }); }, displayType); - const handle = await page.waitForSelector('.Toastify__toast'); + const handle = page.locator('.Toastify__toast').first(); + await handle.waitFor(); expect( await handle.screenshot({ animations: 'disabled' }) @@ -134,7 +136,7 @@ test.describe('Toast', () => { }); }); - await page.waitForSelector('.Toastify__toast'); + await page.locator('.Toastify__toast').first().waitFor(); expect( await page.locator('.Toastify__toast-body').innerHTML() @@ -151,7 +153,7 @@ test.describe('Toast', () => { }); }); - await page.waitForSelector('.Toastify__toast >> text=Simple note'); + await page.locator('.Toastify__toast >> text=Simple note').waitFor(); await page.evaluate(id => { return window.jupyterapp.commands.execute( @@ -177,12 +179,12 @@ test.describe('Toast', () => { }); }); - await page.waitForSelector('.Toastify__toast >> text=Simple note'); + await page.locator('.Toastify__toast >> text=Simple note').waitFor(); await Promise.all([ - page.waitForSelector('.Toastify__toast >> text=Simple note', { - state: 'detached' - }), + page + .locator('.Toastify__toast >> text=Simple note') + .waitFor({ state: 'detached' }), page.evaluate(id => { return window.jupyterapp.commands.execute( 'apputils:dismiss-notification', diff --git a/galata/test/jupyterlab/output-scrolling.test.ts b/galata/test/jupyterlab/output-scrolling.test.ts index fc27a406ed8e..0ba0ef573136 100644 --- a/galata/test/jupyterlab/output-scrolling.test.ts +++ b/galata/test/jupyterlab/output-scrolling.test.ts @@ -35,9 +35,9 @@ test.describe('Output Scrolling', () => { /jp-mod-outputsScrolled/ ); - const cell = await page.notebook.getCell(0); + const cell = await page.notebook.getCellLocator(0); - expect(await (await cell.$('.jp-OutputArea')).screenshot()).toMatchSnapshot( + expect(await cell!.locator('.jp-OutputArea').screenshot()).toMatchSnapshot( 'cell-output-area-scrolling-mode.png' ); @@ -55,8 +55,8 @@ test.describe('Output Scrolling', () => { await page .locator(`${cellSelector} >> nth=1 >> .jp-OutputArea-promptOverlay`) .hover(); - const cell = await page.notebook.getCell(1); - expect(await cell.screenshot()).toMatchSnapshot( + const cell = await page.notebook.getCellLocator(1); + expect(await cell!.screenshot()).toMatchSnapshot( 'prompt-overlay-hover-normal.png' ); await page.click( @@ -65,7 +65,7 @@ test.describe('Output Scrolling', () => { await expect(page.locator(`${cellSelector} >> nth=1`)).toHaveClass( /jp-mod-outputsScrolled/ ); - expect(await cell.screenshot()).toMatchSnapshot( + expect(await cell!.screenshot()).toMatchSnapshot( 'prompt-overlay-hover-scroll.png' ); await page.click( diff --git a/galata/test/jupyterlab/outputarea-stdin.test.ts b/galata/test/jupyterlab/outputarea-stdin.test.ts index 2fefbf3a8dcd..d1ce2812a5e2 100644 --- a/galata/test/jupyterlab/outputarea-stdin.test.ts +++ b/galata/test/jupyterlab/outputarea-stdin.test.ts @@ -40,33 +40,33 @@ test.describe('Stdin for ipdb', () => { await page.keyboard.press('Control+Enter'); // enter a bunch of nonsense commands into the stdin attached to ipdb - await page.waitForSelector(ACTIVE_INPUT); + await page.locator(ACTIVE_INPUT).waitFor(); await page.keyboard.insertText('foofoo'); await page.keyboard.press('Enter'); - await page.waitForSelector(ACTIVE_INPUT); + await page.locator(ACTIVE_INPUT).waitFor(); await page.keyboard.insertText('barbar'); await page.keyboard.press('Enter'); - await page.waitForSelector(ACTIVE_INPUT); + await page.locator(ACTIVE_INPUT).waitFor(); await page.keyboard.insertText('bazbaz'); await page.keyboard.press('Enter'); // search for the first nonsense command - await page.waitForSelector(ACTIVE_INPUT); + await page.locator(ACTIVE_INPUT).waitFor(); await page.keyboard.insertText('foo'); await page.keyboard.press('Control+ArrowUp'); // Mask out random kernel temporary file path // e.g. `/tmp/ipykernel_104185/2235509928.py` - const filePath = await page.$( + const filePath = page.locator( '.jp-OutputArea-output :text-matches("/tmp/")' ); await filePath.evaluate(node => (node.textContent = '/tmp/masked.py')); const imageName = 'stdin-history-search.png'; - const cell = await page.notebook.getCell(1); - expect(await cell.screenshot()).toMatchSnapshot(imageName); + const cell = await page.notebook.getCellLocator(1); + expect(await cell!.screenshot()).toMatchSnapshot(imageName); // Check that the input remains focused and cursor is at the end. await page.keyboard.insertText('x'); @@ -89,7 +89,7 @@ test.describe('Stdin for ipdb', () => { // for it to complete (as it should stay waiting for input). await page.keyboard.press('Control+Enter'); - await page.waitForSelector(testCase.selector); + await page.locator(testCase.selector).waitFor(); await page.focus(testCase.selector); for (const letter of alphabet) { @@ -114,7 +114,7 @@ test.describe('Stdin for ipdb', () => { await page.keyboard.press('Control+Enter'); // Wait for first input - await page.waitForSelector('.jp-Stdin-input'); + await page.locator('.jp-Stdin-input').waitFor(); // Note: this test does not wait for subsequent inputs on purpose @@ -134,8 +134,8 @@ test.describe('Stdin for ipdb', () => { await page.keyboard.press('Enter'); } - const cellInput = await page.notebook.getCellInput(0); - const editor = await cellInput.$('.cm-content'); + const cellInput = await page.notebook.getCellInputLocator(0); + const editor = cellInput!.locator('.cm-content'); const contentAfter = await editor.evaluate((e: any) => e.cmView.view.state.doc.toString() ); diff --git a/galata/test/jupyterlab/save.test.ts b/galata/test/jupyterlab/save.test.ts index 5b49125e0217..75141b1ae36c 100644 --- a/galata/test/jupyterlab/save.test.ts +++ b/galata/test/jupyterlab/save.test.ts @@ -16,9 +16,9 @@ for (const type of ['Text', 'Notebook', 'Markdown']) { type === 'Notebook' ? `File>New>${type}` : `File>New>${type} File` ); - await page.waitForSelector( - `[role="main"] >> text=${DEFAULT_NAME}${EXTENSION[type]}` - ); + await page + .locator(`[role="main"] >> text=${DEFAULT_NAME}${EXTENSION[type]}`) + .waitFor(); if (type === 'Notebook') { // Select the kernel @@ -29,7 +29,7 @@ for (const type of ['Text', 'Notebook', 'Markdown']) { type === 'Markdown' ? `File>Save ${type} File` : `File>Save ${type}` ); - await page.waitForSelector('.jp-Dialog >> text=Rename file'); + await page.locator('.jp-Dialog >> text=Rename file').waitFor(); await expect( page.locator('.jp-Dialog >> input[placeholder="File name"]') @@ -51,9 +51,9 @@ for (const type of ['Text', 'Notebook', 'Markdown']) { type === 'Notebook' ? `File>New>${type}` : `File>New>${type} File` ); - await page.waitForSelector( - `[role="main"] >> text=${DEFAULT_NAME}${EXTENSION[type]}` - ); + await page + .locator(`[role="main"] >> text=${DEFAULT_NAME}${EXTENSION[type]}`) + .waitFor(); if (type === 'Notebook') { // Select the kernel diff --git a/galata/test/jupyterlab/settings.test.ts b/galata/test/jupyterlab/settings.test.ts index d13140bb1f1a..7691a468e774 100644 --- a/galata/test/jupyterlab/settings.test.ts +++ b/galata/test/jupyterlab/settings.test.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { test } from '@jupyterlab/galata'; -import { expect } from '@playwright/test'; +import { IJupyterLabPageFixture, test } from '@jupyterlab/galata'; +import { expect, Locator } from '@playwright/test'; test('Open the settings editor with a specific search query', async ({ page @@ -35,54 +35,56 @@ test('Open the settings editor with a specific search query', async ({ test.describe('change font-size', () => { const ipynbFileName = 'create_test.ipynb'; - const createNewCodeCell = async page => { + const createNewCodeCell = async (page: IJupyterLabPageFixture) => { await page.notebook.createNew(ipynbFileName); await page.notebook.addCell('code', '2 + 2'); }; - const createMarkdownFile = async page => { - await page.waitForSelector('div[role="main"] >> text=Launcher'); + const createMarkdownFile = async (page: IJupyterLabPageFixture) => { + await page.locator('div[role="main"] >> text=Launcher').waitFor(); await page.click('.jp-LauncherCard[title="Create a new markdown file"]'); - return await page.waitForSelector('.jp-FileEditor .cm-content'); + await page.locator('.jp-FileEditor .cm-content').waitFor(); + return page.locator('.jp-FileEditor .cm-content'); }; - const inputMarkdownFile = async (page, markdownFile) => { + const inputMarkdownFile = async ( + page: IJupyterLabPageFixture, + markdownFile: Locator + ) => { await markdownFile.focus(); await markdownFile.type('markdown cell'); await page.keyboard.press('Control'); await page.keyboard.press('s'); }; - const getCodeCellFontSize = async page => { - const cellElement = await page.$( + const getCodeCellFontSize = async (page: IJupyterLabPageFixture) => { + const cellElement = page.locator( 'div.lm-Widget.jp-Cell.jp-CodeCell.jp-Notebook-cell.jp-mod-noOutputs.jp-mod-active.jp-mod-selected .cm-line' ); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - cellElement + const computedStyle = await cellElement.evaluate(el => + getComputedStyle(el) ); return parseInt(computedStyle.fontSize); }; - const getMarkdownFontSize = async page => { - await page.waitForSelector('.jp-RenderedHTMLCommon'); - const markdownElement = await page.$('.jp-RenderedHTMLCommon'); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - markdownElement + const getMarkdownFontSize = async (page: IJupyterLabPageFixture) => { + const markdownElement = page.locator('.jp-RenderedHTMLCommon'); + await markdownElement.waitFor(); + const computedStyle = await markdownElement.evaluate(el => + getComputedStyle(el) ); return parseInt(computedStyle.fontSize); }; - const getFileListFontSize = async page => { - await page.waitForSelector( + const getFileListFontSize = async (page: IJupyterLabPageFixture) => { + const itemElement = page.locator( '.jp-DirListing-content .jp-DirListing-itemText' ); - const itemElement = await page.$( - '.jp-DirListing-content .jp-DirListing-itemText' - ); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - itemElement + await itemElement.waitFor(); + const computedStyle = await itemElement.evaluate(el => + getComputedStyle(el) ); return parseInt(computedStyle.fontSize); }; - const changeCodeFontSize = async (page, menuOption) => { + const changeCodeFontSize = async ( + page: IJupyterLabPageFixture, + menuOption + ) => { await page.click('text=Settings'); await page.click('.lm-Menu ul[role="menu"] >> text=Theme'); await page.click(`.lm-Menu ul[role="menu"] >> text="${menuOption}"`); @@ -93,15 +95,14 @@ test.describe('change font-size', () => { const fontSize = await getCodeCellFontSize(page); await changeCodeFontSize(page, 'Increase Code Font Size'); - await page.waitForSelector('div[role="main"] >> text=Launcher'); - await page.waitForSelector('.jp-Notebook-cell'); + await page.locator('div[role="main"] >> text=Launcher').waitFor(); + await page.locator('.jp-Notebook-cell').first().waitFor(); - const cellElement = await page.$( + const cellElement = page.locator( 'div.lm-Widget.jp-Cell.jp-CodeCell.jp-Notebook-cell.jp-mod-noOutputs.jp-mod-active.jp-mod-selected .cm-line' ); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - cellElement + const computedStyle = await cellElement.evaluate(el => + getComputedStyle(el) ); expect(computedStyle.fontSize).toEqual(`${fontSize + 1}px`); }); @@ -111,15 +112,14 @@ test.describe('change font-size', () => { const fontSize = await getCodeCellFontSize(page); await changeCodeFontSize(page, 'Decrease Code Font Size'); - await page.waitForSelector('div[role="main"] >> text=Launcher'); - await page.waitForSelector('.jp-Notebook-cell'); + await page.locator('div[role="main"] >> text=Launcher').waitFor(); + await page.locator('.jp-Notebook-cell').first().waitFor(); - const cellElement = await page.$( + const cellElement = page.locator( 'div.lm-Widget.jp-Cell.jp-CodeCell.jp-Notebook-cell.jp-mod-noOutputs.jp-mod-active.jp-mod-selected .cm-line' ); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - cellElement + const computedStyle = await cellElement.evaluate(el => + getComputedStyle(el) ); expect(computedStyle.fontSize).toEqual(`${fontSize - 1}px`); }); @@ -134,11 +134,10 @@ test.describe('change font-size', () => { await changeCodeFontSize(page, 'Increase Content Font Size'); - await page.waitForSelector('.jp-FileEditor .cm-content'); - const fileElement = await page.$('.jp-RenderedHTMLCommon'); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - fileElement + await page.locator('.jp-FileEditor .cm-content').waitFor(); + const fileElement = page.locator('.jp-RenderedHTMLCommon'); + const computedStyle = await fileElement.evaluate(el => + getComputedStyle(el) ); expect(computedStyle.fontSize).toEqual(`${fontSize + 1}px`); }); @@ -153,11 +152,10 @@ test.describe('change font-size', () => { await changeCodeFontSize(page, 'Decrease Content Font Size'); - await page.waitForSelector('.jp-FileEditor .cm-content'); - const fileElement = await page.$('.jp-RenderedHTMLCommon'); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - fileElement + await page.locator('.jp-FileEditor .cm-content').waitFor(); + const fileElement = page.locator('.jp-RenderedHTMLCommon'); + const computedStyle = await fileElement.evaluate(el => + getComputedStyle(el) ); expect(computedStyle.fontSize).toEqual(`${fontSize - 1}px`); }); @@ -167,15 +165,14 @@ test.describe('change font-size', () => { const fontSize = await getFileListFontSize(page); await changeCodeFontSize(page, 'Increase UI Font Size'); - await page.waitForSelector( - '.jp-DirListing-content .jp-DirListing-itemText' - ); - const fileElement = await page.$( + await page + .locator('.jp-DirListing-content .jp-DirListing-itemText') + .waitFor(); + const fileElement = page.locator( '.jp-DirListing-content .jp-DirListing-itemText' ); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - fileElement + const computedStyle = await fileElement.evaluate(el => + getComputedStyle(el) ); expect(computedStyle.fontSize).toEqual(`${fontSize + 1}px`); }); @@ -185,15 +182,14 @@ test.describe('change font-size', () => { const fontSize = await getFileListFontSize(page); await changeCodeFontSize(page, 'Decrease UI Font Size'); - await page.waitForSelector( - '.jp-DirListing-content .jp-DirListing-itemText' - ); - const fileElement = await page.$( + await page + .locator('.jp-DirListing-content .jp-DirListing-itemText') + .waitFor(); + const fileElement = page.locator( '.jp-DirListing-content .jp-DirListing-itemText' ); - const computedStyle = await page.evaluate( - el => getComputedStyle(el), - fileElement + const computedStyle = await fileElement.evaluate(el => + getComputedStyle(el) ); expect(computedStyle.fontSize).toEqual(`${fontSize - 1}px`); }); diff --git a/galata/test/jupyterlab/sidebars.test.ts b/galata/test/jupyterlab/sidebars.test.ts index 65e26d0b8303..5220d82fdcac 100644 --- a/galata/test/jupyterlab/sidebars.test.ts +++ b/galata/test/jupyterlab/sidebars.test.ts @@ -2,6 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { expect, galata, Handle, test } from '@jupyterlab/galata'; +import { Locator } from '@playwright/test'; const sidebarIds: galata.SidebarTabId[] = [ 'filebrowser', @@ -16,14 +17,13 @@ const sidebarIds: galata.SidebarTabId[] = [ * By default we only have icons, but we should test for the * styling of labels which are used downstream (e.g. sidecar). */ -async function mockLabelOnFirstTab(tabbar: Handle, text: string) { - await tabbar.$eval( - '.lm-TabBar-tabLabel', - (node: HTMLElement, text: string) => { +async function mockLabelOnFirstTab(tabbar: Locator, text: string) { + await tabbar + .locator('.lm-TabBar-tabLabel') + .first() + .evaluate((node: HTMLElement, text: string) => { node.innerText = text; - }, - text - ); + }, text); } test.describe('Sidebars', () => { @@ -34,7 +34,9 @@ test.describe('Sidebars', () => { const imageName = `opened-sidebar-${sidebarId.replace('.', '-')}.png`; const position = await page.sidebar.getTabPosition(sidebarId); - const sidebar = await page.sidebar.getContentPanel(position); + const sidebar = page.sidebar.getContentPanelLocator( + position ?? undefined + ); expect(await sidebar.screenshot()).toMatchSnapshot( imageName.toLowerCase() ); @@ -44,11 +46,14 @@ test.describe('Sidebars', () => { test('File Browser has no unused rules', async ({ page }) => { await page.sidebar.openTab('filebrowser'); const clickMenuItem = async (command): Promise => { - const contextmenu = await page.menu.openContextMenu( + const contextmenu = await page.menu.openContextMenuLocator( '.jp-DirListing-headerItem' ); - const item = await page.menu.getMenuItemInMenu(contextmenu, command); - await item.click(); + const item = await page.menu.getMenuItemLocatorInMenu( + contextmenu, + command + ); + await item?.click(); }; await clickMenuItem('Show File Checkboxes'); await clickMenuItem('Show File Size Column'); @@ -75,7 +80,7 @@ test.describe('Sidebars', () => { test('Left light tabbar (with text)', async ({ page }) => { await page.theme.setLightTheme(); const imageName = 'left-light-tabbar-with-text.png'; - const tabbar = await page.sidebar.getTabBar(); + const tabbar = page.sidebar.getTabBarLocator(); await mockLabelOnFirstTab(tabbar, 'File Browser'); expect(await tabbar.screenshot()).toMatchSnapshot(imageName.toLowerCase()); }); @@ -83,7 +88,7 @@ test.describe('Sidebars', () => { test('Right dark tabbar (with text)', async ({ page }) => { await page.theme.setDarkTheme(); const imageName = 'right-dark-tabbar-with-text.png'; - const tabbar = await page.sidebar.getTabBar('right'); + const tabbar = page.sidebar.getTabBarLocator('right'); await mockLabelOnFirstTab(tabbar, 'Property Inspector'); expect(await tabbar.screenshot()).toMatchSnapshot(imageName.toLowerCase()); }); diff --git a/galata/test/jupyterlab/terminal.test.ts b/galata/test/jupyterlab/terminal.test.ts index e026415b6dad..674a2f76a050 100644 --- a/galata/test/jupyterlab/terminal.test.ts +++ b/galata/test/jupyterlab/terminal.test.ts @@ -11,7 +11,7 @@ const TERMINAL_THEME_ATTRIBUTE = 'data-term-theme'; test.describe('Terminal', () => { test.beforeEach(async ({ page }) => { await page.menu.clickMenuItem('File>New>Terminal'); - await page.waitForSelector(TERMINAL_SELECTOR); + await page.locator(TERMINAL_SELECTOR).waitFor(); }); test.describe('Open', () => { @@ -90,7 +90,7 @@ test.describe('Terminal', () => { }); test('Terminal should open in Launcher cwd', async ({ page, tmpPath }) => { - await page.waitForSelector(`.jp-Launcher-cwd > h3:has-text("${tmpPath}")`); + await page.locator(`.jp-Launcher-cwd > h3:has-text("${tmpPath}")`).waitFor(); await page.locator('[role="main"] >> p:has-text("Terminal")').click(); @@ -105,7 +105,7 @@ test('Terminal should open in Launcher cwd', async ({ page, tmpPath }) => { }); test('Terminal web link', async ({ page, tmpPath }) => { - await page.waitForSelector(`.jp-Launcher-cwd > h3:has-text("${tmpPath}")`); + await page.locator(`.jp-Launcher-cwd > h3:has-text("${tmpPath}")`).waitFor(); await page.locator('[role="main"] >> p:has-text("Terminal")').click(); diff --git a/galata/test/jupyterlab/texteditor.test.ts b/galata/test/jupyterlab/texteditor.test.ts index 501a083bf874..87a5832ac60f 100644 --- a/galata/test/jupyterlab/texteditor.test.ts +++ b/galata/test/jupyterlab/texteditor.test.ts @@ -10,10 +10,10 @@ test.describe('Text Editor Tests', () => { const imageName = 'text-editor.png'; await page.menu.clickMenuItem('File>New>Text File'); - await page.waitForSelector(`[role="main"] >> text=${DEFAULT_NAME}`); + await page.locator(`[role="main"] >> text=${DEFAULT_NAME}`).waitFor(); - const tabHandle = await page.activity.getPanel(DEFAULT_NAME); - expect(await tabHandle.screenshot()).toMatchSnapshot(imageName); + const tabHandle = await page.activity.getPanelLocator(DEFAULT_NAME); + expect(await tabHandle?.screenshot()).toMatchSnapshot(imageName); }); test('Changing a text editor settings', async ({ page }) => { @@ -37,9 +37,9 @@ test.describe('Text Editor Tests', () => { await page.activity.activateTab(DEFAULT_NAME); - const tabHandle = await page.activity.getPanel(DEFAULT_NAME); + const tabHandle = await page.activity.getPanelLocator(DEFAULT_NAME); - expect(await tabHandle.screenshot()).toMatchSnapshot(imageName); + expect(await tabHandle?.screenshot()).toMatchSnapshot(imageName); }); test('Selection in highlighted line', async ({ page }) => { @@ -55,7 +55,7 @@ test.describe('Text Editor Tests', () => { await page.menu.clickMenuItem('File>New>Text File'); - await page.waitForSelector(`[role="main"] >> text=${DEFAULT_NAME}`); + await page.locator(`[role="main"] >> text=${DEFAULT_NAME}`).waitFor(); await page.type( '.cm-content', @@ -78,7 +78,7 @@ test.describe('Text Editor Tests', () => { const imageName = 'go-to-line-editor.png'; await page.menu.clickMenuItem('File>New>Text File'); - await page.waitForSelector(`[role="main"] >> text=${DEFAULT_NAME}`); + await page.locator(`[role="main"] >> text=${DEFAULT_NAME}`).waitFor(); await page.type( '.cm-content', @@ -100,7 +100,7 @@ ut elit.` await page.keyboard.type('#2:8#'); - const tabHandle = await page.activity.getPanel(DEFAULT_NAME); - expect(await tabHandle.screenshot()).toMatchSnapshot(imageName); + const tabHandle = await page.activity.getPanelLocator(DEFAULT_NAME); + expect(await tabHandle?.screenshot()).toMatchSnapshot(imageName); }); }); diff --git a/galata/test/jupyterlab/toc-running.test.ts b/galata/test/jupyterlab/toc-running.test.ts index c3abea4aba23..e4a3fe395862 100644 --- a/galata/test/jupyterlab/toc-running.test.ts +++ b/galata/test/jupyterlab/toc-running.test.ts @@ -13,9 +13,11 @@ test.describe('ToC Running indicator', () => { await page.sidebar.openTab('table-of-contents'); // Wait until the last heading has loaded into the ToC - await page.waitForSelector( - '.jp-TableOfContents-content[data-document-type="notebook"] >> text=Title 1.3' - ); + await page + .locator( + '.jp-TableOfContents-content[data-document-type="notebook"] >> text=Title 1.3' + ) + .waitFor(); }); test.beforeAll(async ({ request, tmpPath }) => { @@ -33,11 +35,11 @@ test.describe('ToC Running indicator', () => { }); test('should display running indicators', async ({ page }) => { - const tocPanel = await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const tocPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); const executed = page.notebook.run(); - await tocPanel.waitForSelector('[data-running="1"]'); + await tocPanel.locator('[data-running="1"]').waitFor(); expect(await tocPanel.screenshot()).toMatchSnapshot( 'toc-running-indicators.png' ); @@ -46,11 +48,11 @@ test.describe('ToC Running indicator', () => { }); test('should display error indicators', async ({ page }) => { - const tocPanel = await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const tocPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); const executed = page.notebook.run(); - await tocPanel.waitForSelector('[data-running="-0.5"]'); + await tocPanel.locator('[data-running="-0.5"]').waitFor(); expect(await tocPanel.screenshot()).toMatchSnapshot( 'toc-running-indicator-error.png' ); @@ -61,8 +63,8 @@ test.describe('ToC Running indicator', () => { test('should display running indicator on first visible top level', async ({ page }) => { - const tocPanel = await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const tocPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); await page.notebook.run(); @@ -73,7 +75,7 @@ test.describe('ToC Running indicator', () => { const executed = page.notebook.runCell(5); - await tocPanel.waitForSelector('[data-running="1"]'); + await tocPanel.locator('[data-running="1"]').waitFor(); expect(await tocPanel.screenshot()).toMatchSnapshot( 'toc-running-indicator-top-level.png' ); diff --git a/galata/test/jupyterlab/toc-scrolling.test.ts b/galata/test/jupyterlab/toc-scrolling.test.ts index f9ba1c2bbe79..afeec8d49295 100644 --- a/galata/test/jupyterlab/toc-scrolling.test.ts +++ b/galata/test/jupyterlab/toc-scrolling.test.ts @@ -39,18 +39,21 @@ test.describe('Table of Contents scrolling to heading', () => { await page.keyboard.press('Enter'); await page.getByText('Mode: Edit').waitFor(); - await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const contentPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); + await contentPanel.waitFor(); await page .locator('.jp-TableOfContents-tree') .getByText('the last one') .click(); + await page.waitForTimeout(100); + // Should switch to command mode await expect.soft(page.getByText('Mode: Command')).toBeVisible(); - const nbPanel = await page.notebook.getNotebookInPanel(); + const nbPanel = await page.notebook.getNotebookInPanelLocator(); expect .soft(await nbPanel!.screenshot()) .toMatchSnapshot('scrolled-to-bottom-heading.png'); @@ -68,6 +71,7 @@ test.describe('Table of Contents scrolling to heading', () => { .locator('.jp-TableOfContents-tree') .getByText('the last one') .click(); + await page.waitForTimeout(100); expect(await nbPanel!.screenshot()).toMatchSnapshot( 'scrolled-to-bottom-heading.png' diff --git a/galata/test/jupyterlab/toc.test.ts b/galata/test/jupyterlab/toc.test.ts index 1ba96cd119ce..4e2de186237a 100644 --- a/galata/test/jupyterlab/toc.test.ts +++ b/galata/test/jupyterlab/toc.test.ts @@ -37,8 +37,8 @@ test.describe('Table of Contents', () => { test('Open Table of Contents panel', async ({ page }) => { const imageName = 'toc-panel.png'; - const tocPanel = await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const tocPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); expect(await tocPanel.screenshot()).toMatchSnapshot(imageName); @@ -47,16 +47,16 @@ test.describe('Table of Contents', () => { test('Toggle list', async ({ page }) => { await page.notebook.selectCells(0); - const tocPanel = await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const tocPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); - const numberingButton = await tocPanel.$$( + const numberingButton = tocPanel.locator( 'jp-button[data-command="toc:display-numbering"]' ); - expect(numberingButton.length).toBe(1); + await expect(numberingButton).toHaveCount(1); const imageName = 'toggle-numbered-list.png'; - await numberingButton[0].click(); + await numberingButton.click(); expect(await tocPanel.screenshot()).toMatchSnapshot(imageName); }); @@ -64,8 +64,8 @@ test.describe('Table of Contents', () => { test('Notebook context menu', async ({ page }) => { await page.notebook.selectCells(0); - const tocPanel = await page.sidebar.getContentPanel( - await page.sidebar.getTabPosition('table-of-contents') + const tocPanel = page.sidebar.getContentPanelLocator( + (await page.sidebar.getTabPosition('table-of-contents')) ?? undefined ); await Promise.all([ @@ -79,11 +79,11 @@ test.describe('Table of Contents', () => { }) ]); - const menu = await page.menu.getOpenMenu(); + const menu = await page.menu.getOpenMenuLocator(); - await ( - await menu.$('text=Select and Run Cell(s) for this Heading') - ).click(); + await menu + ?.locator('text=Select and Run Cell(s) for this Heading') + ?.click(); await page .locator('.jp-TableOfContents-tree >> text="2. HTML title"') diff --git a/galata/test/jupyterlab/toolbars.test.ts b/galata/test/jupyterlab/toolbars.test.ts index 3fe9be02cdd7..03c3e0d55f40 100644 --- a/galata/test/jupyterlab/toolbars.test.ts +++ b/galata/test/jupyterlab/toolbars.test.ts @@ -37,3 +37,23 @@ toolbars.forEach(([plugin, parameter]) => { expect(missingCommands).toEqual([]); }); }); + +test('Render Switch Kernel ToolbarButton', async ({ page }) => { + await page.notebook.createNew(); + + const label = await page.$( + 'jp-button.jp-Toolbar-kernelName .jp-ToolbarButtonComponent-label' + ); + const labelColor = await page.evaluate( + el => getComputedStyle(el).color, + label + ); + + const color = await page.evaluate(() => + getComputedStyle(document.body) + .getPropertyValue('--jp-ui-font-color1') + .trim() + ); + + expect(labelColor).toEqual(color); +}); diff --git a/galata/test/jupyterlab/utils.ts b/galata/test/jupyterlab/utils.ts index 964261a2abad..2e455e254c8c 100644 --- a/galata/test/jupyterlab/utils.ts +++ b/galata/test/jupyterlab/utils.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. import { IJupyterLabPageFixture } from '@jupyterlab/galata'; -import { ElementHandle, Locator } from '@playwright/test'; +import { Locator } from '@playwright/test'; const OUTER_SELECTOR = '.jp-WindowedPanel-outer'; const DRAGGABLE_AREA = '.jp-InputArea-prompt'; @@ -10,12 +10,10 @@ const DRAGGABLE_AREA = '.jp-InputArea-prompt'; * Measure how much of the **notebook** viewport does a cell take up. */ export async function notebookViewportRatio( - notebook: ElementHandle, - cell: ElementHandle + notebook: Locator, + cell: Locator ): Promise { - const scroller = (await notebook.$( - OUTER_SELECTOR - )) as ElementHandle; + const scroller = notebook.locator(OUTER_SELECTOR).first(); const n = await scroller.boundingBox(); const c = await cell.boundingBox(); const cellBottom = c.y + c.height; @@ -36,13 +34,11 @@ export async function notebookViewportRatio( */ export async function positionCellPartiallyBelowViewport( page: IJupyterLabPageFixture, - notebook: ElementHandle, - cell: ElementHandle, + notebook: Locator, + cell: Locator, ratio: number ): Promise { - const scroller = (await notebook.$( - OUTER_SELECTOR - )) as ElementHandle; + const scroller = notebook.locator(OUTER_SELECTOR).first(); const notebookBbox = await scroller.boundingBox(); const cellBbox = await cell.boundingBox(); await page.mouse.move(notebookBbox.x, notebookBbox.y); diff --git a/galata/test/jupyterlab/windowed-notebook.test.ts b/galata/test/jupyterlab/windowed-notebook.test.ts index c36864b890cf..de25a7f0efc6 100644 --- a/galata/test/jupyterlab/windowed-notebook.test.ts +++ b/galata/test/jupyterlab/windowed-notebook.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. import { expect, galata, test } from '@jupyterlab/galata'; -import { ElementHandle } from '@playwright/test'; +import { Locator } from '@playwright/test'; import * as path from 'path'; const fileName = 'windowed_notebook.ipynb'; @@ -28,21 +28,19 @@ test.beforeEach(async ({ page, tmpPath }) => { ); }); -async function getInnerHeight(panel: ElementHandle) { +async function getInnerHeight(panel: Locator) { return parseInt( - await panel.$eval( - '.jp-WindowedPanel-inner', - node => (node as HTMLElement).style.height - ), + await panel + .locator('.jp-WindowedPanel-inner') + .evaluate(node => (node as HTMLElement).style.height), 10 ); } -async function getWindowHeight(panel: ElementHandle) { +async function getWindowHeight(panel: Locator) { return parseInt( - await panel.$eval( - '.jp-WindowedPanel-viewport', - node => (node as HTMLElement).style.minHeight - ), + await panel + .locator('.jp-WindowedPanel-viewport') + .evaluate(node => (node as HTMLElement).style.minHeight), 10 ); } @@ -56,10 +54,10 @@ test('should update window height on resize', async ({ page, tmpPath }) => { ); await page.notebook.openByPath(`${tmpPath}/${notebookName}`); - const notebook = await page.notebook.getNotebookInPanel(); + const notebook = await page.notebook.getNotebookInPanelLocator(); // Measure height when the notebook is open but launcher closed - const fullHeight = await getWindowHeight(notebook); + const fullHeight = await getWindowHeight(notebook!); // Add a new launcher below the notebook await page.evaluate(async () => { @@ -67,7 +65,7 @@ test('should update window height on resize', async ({ page, tmpPath }) => { window.jupyterapp.shell.add(widget, 'main', { mode: 'split-bottom' }); }); // Measure height after splitting the dock area - const heightAfterSplit = await getWindowHeight(notebook); + const heightAfterSplit = await getWindowHeight(notebook!); expect(heightAfterSplit).toBeLessThan(fullHeight); @@ -78,7 +76,7 @@ test('should update window height on resize', async ({ page, tmpPath }) => { await resizeHandle.dragTo(page.locator('#jp-main-statusbar')); // Measure height after resizing - const heightAfterResize = await getWindowHeight(notebook); + const heightAfterResize = await getWindowHeight(notebook!); expect(heightAfterResize).toBeGreaterThan(heightAfterSplit); }); @@ -89,15 +87,15 @@ test('should not update height when hiding', async ({ page, tmpPath }) => { // Wait to ensure the rendering logic is stable. await page.waitForTimeout(200); - const notebook = await page.notebook.getNotebookInPanel(); - const initialHeight = await getInnerHeight(notebook); + const notebook = await page.notebook.getNotebookInPanelLocator(); + const initialHeight = await getInnerHeight(notebook!); expect(initialHeight).toBeGreaterThan(0); // Add a new launcher covering the notebook. await page.menu.clickMenuItem('File>New Launcher'); - const innerHeight = await getInnerHeight(notebook); + const innerHeight = await getInnerHeight(notebook!); expect(innerHeight).toEqual(initialHeight); }); @@ -111,14 +109,14 @@ test('should hide first inactive code cell when scrolling down', async ({ // Activate >second< cell await page.notebook.selectCells(1); // Test if the >first< (now inactive) cell gets detached - const h = await page.notebook.getNotebookInPanel(); - const firstCellSelector = '.jp-Cell[data-windowed-list-index="0"]'; - const firstCell = await h!.waitForSelector(firstCellSelector); + const h = await page.notebook.getNotebookInPanelLocator(); + const firstCell = h!.locator('.jp-Cell[data-windowed-list-index="0"]'); + await firstCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - firstCell.waitForElementState('hidden'), + firstCell.waitFor({ state: 'hidden' }), page.mouse.wheel(0, 600) ]); @@ -135,25 +133,25 @@ test('should reattached inactive code cell when scrolling back into the viewport // Activate >second< cell await page.notebook.selectCells(1); // Test if the >first< (now inactive) cell gets re-attached - const h = await page.notebook.getNotebookInPanel(); - const firstCellSelector = '.jp-Cell[data-windowed-list-index="0"]'; - const firstCell = await h!.waitForSelector(firstCellSelector); + const h = await page.notebook.getNotebookInPanelLocator(); + const firstCell = h!.locator('.jp-Cell[data-windowed-list-index="0"]'); + await firstCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - firstCell.waitForElementState('hidden'), - h!.waitForSelector('.jp-MarkdownCell[data-windowed-list-index="6"]'), + firstCell.waitFor({ state: 'hidden' }), + h!.locator('.jp-MarkdownCell[data-windowed-list-index="6"]').waitFor(), page.mouse.wheel(0, 1200) ]); await Promise.all([ - firstCell.waitForElementState('visible'), + firstCell.waitFor({ state: 'visible' }), page.mouse.wheel(0, -1200) ]); // Check that the input area is back - expect(await firstCell.waitForSelector('.jp-InputArea')).toBeDefined(); + await expect(firstCell.locator('.jp-InputArea')).toHaveCount(1); }); test('should not detach active code cell input when scrolling down', async ({ @@ -163,19 +161,19 @@ test('should not detach active code cell input when scrolling down', async ({ await page.notebook.openByPath(`${tmpPath}/${fileName}`); await page.notebook.selectCells(0); - const h = await page.notebook.getNotebookInPanel(); - const firstCellSelector = '.jp-Cell[data-windowed-list-index="0"]'; - const firstCell = await h!.waitForSelector(firstCellSelector); + const h = await page.notebook.getNotebookInPanelLocator(); + const firstCell = h!.locator('.jp-Cell[data-windowed-list-index="0"]'); + await firstCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - firstCell.waitForElementState('hidden'), + firstCell.waitFor({ state: 'hidden' }), page.mouse.wheel(0, 1200) ]); // Check the input is still defined - expect(await firstCell.waitForSelector('.jp-InputArea')).toBeDefined(); + await expect(firstCell.locator('.jp-InputArea')).toHaveCount(1); }); for (const cellType of ['code', 'markdown']) { @@ -187,14 +185,14 @@ for (const cellType of ['code', 'markdown']) { await page.notebook.setCellType(0, cellType); await page.notebook.enterCellEditingMode(0); - const h = await page.notebook.getNotebookInPanel(); - const firstCellSelector = '.jp-Cell[data-windowed-list-index="0"]'; - const firstCell = await h!.waitForSelector(firstCellSelector); + const h = await page.notebook.getNotebookInPanelLocator(); + const firstCell = h!.locator('.jp-Cell[data-windowed-list-index="0"]'); + await firstCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - firstCell.waitForElementState('hidden'), + firstCell.waitFor({ state: 'hidden' }), page.mouse.wheel(0, 1200) ]); @@ -202,11 +200,11 @@ for (const cellType of ['code', 'markdown']) { await page.keyboard.type('TEST', { delay: 150 }); // Expect the cell to become visible again - await firstCell.waitForElementState('visible'); + await firstCell.waitFor({ state: 'visible' }); // Expect the text to populate the cell editor - const firstCellInput = await page.notebook.getCellInput(0); - expect(await firstCellInput.textContent()).toContain('TEST'); + const firstCellInput = await page.notebook.getCellInputLocator(0); + expect(await firstCellInput!.textContent()).toContain('TEST'); }); } @@ -218,19 +216,17 @@ test('should scroll back to the cell below the active cell on arrow down key', a // Activate the first cell. await page.notebook.selectCells(0); - const h = await page.notebook.getNotebookInPanel(); - const firstCell = await h!.waitForSelector( - '.jp-Cell[data-windowed-list-index="0"]' - ); - const secondCell = await h!.waitForSelector( - '.jp-Cell[data-windowed-list-index="1"]' - ); + const h = await page.notebook.getNotebookInPanelLocator(); + const firstCell = h!.locator('.jp-Cell[data-windowed-list-index="0"]'); + const secondCell = h!.locator('.jp-Cell[data-windowed-list-index="1"]'); + await firstCell.waitFor(); + await secondCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - firstCell.waitForElementState('hidden'), - secondCell.waitForElementState('hidden'), + firstCell.waitFor({ state: 'hidden' }), + secondCell.waitFor({ state: 'hidden' }), page.mouse.wheel(0, 1200) ]); @@ -238,7 +234,7 @@ test('should scroll back to the cell below the active cell on arrow down key', a await page.keyboard.press('ArrowDown'); // Expect the second cell to become visible again. - await secondCell.waitForElementState('visible'); + await secondCell.waitFor({ state: 'visible' }); }); test('should detach a markdown code cell when scrolling out of the viewport', async ({ @@ -247,20 +243,20 @@ test('should detach a markdown code cell when scrolling out of the viewport', as }) => { await page.notebook.openByPath(`${tmpPath}/${fileName}`); - const h = await page.notebook.getNotebookInPanel(); - const mdCellSelector = '.jp-MarkdownCell[data-windowed-list-index="2"]'; - const mdCell = await h!.waitForSelector(mdCellSelector); + const h = await page.notebook.getNotebookInPanelLocator(); + const mdCell = h!.locator('.jp-MarkdownCell[data-windowed-list-index="2"]'); + await mdCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - mdCell.waitForElementState('hidden'), + mdCell.waitFor({ state: 'hidden' }), page.mouse.wheel(0, 1200) ]); let found = true; try { - await h!.waitForSelector(mdCellSelector, { timeout: 150 }); + await mdCell.waitFor({ timeout: 150 }); } catch (r) { found = false; } @@ -273,15 +269,15 @@ test('should reattach a markdown code cell when scrolling back into the viewport }) => { await page.notebook.openByPath(`${tmpPath}/${fileName}`); - const h = await page.notebook.getNotebookInPanel(); - const mdCellSelector = '.jp-MarkdownCell[data-windowed-list-index="2"]'; - const mdCell = await h!.waitForSelector(mdCellSelector); + const h = await page.notebook.getNotebookInPanelLocator(); + const mdCell = h!.locator('.jp-MarkdownCell[data-windowed-list-index="2"]'); + await mdCell.waitFor(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - mdCell.waitForElementState('hidden'), - h!.waitForSelector('.jp-MarkdownCell[data-windowed-list-index="6"]'), + mdCell.waitFor({ state: 'hidden' }), + h!.locator('.jp-MarkdownCell[data-windowed-list-index="6"]').waitFor(), page.mouse.wheel(0, 1200) ]); @@ -289,7 +285,7 @@ test('should reattach a markdown code cell when scrolling back into the viewport await page.mouse.wheel(0, -1200); - expect(await h!.waitForSelector(mdCellSelector)).toBeDefined(); + await expect(mdCell).toBeVisible(); }); test('should remove all cells including hidden outputs artifacts', async ({ @@ -298,12 +294,12 @@ test('should remove all cells including hidden outputs artifacts', async ({ }) => { await page.notebook.openByPath(`${tmpPath}/${fileName}`); - const h = await page.notebook.getNotebookInPanel(); + const h = await page.notebook.getNotebookInPanelLocator(); const bbox = await h!.boundingBox(); await page.mouse.move(bbox!.x, bbox!.y); await Promise.all([ - h!.waitForSelector('.jp-MarkdownCell[data-windowed-list-index="6"]'), + h!.locator('.jp-MarkdownCell[data-windowed-list-index="6"]').waitFor(), page.mouse.wheel(0, 1200) ]); @@ -314,14 +310,14 @@ test('should remove all cells including hidden outputs artifacts', async ({ await page.keyboard.press('d'); // Check that the notebook only contains one cell - expect(await (await h!.$('.jp-WindowedPanel-inner'))!.textContent()).toEqual( + expect(await h!.locator('.jp-WindowedPanel-inner')!.textContent()).toEqual( '[ ]:' ); // Check there are no hidden cells let found = true; try { - await h!.waitForSelector('.jp-Cell', { state: 'hidden', timeout: 150 }); + await h!.locator('.jp-Cell').waitFor({ state: 'hidden', timeout: 150 }); } catch (r) { found = false; } diff --git a/galata/test/jupyterlab/workspace.test.ts b/galata/test/jupyterlab/workspace.test.ts index 5c124446e75a..081f42482006 100644 --- a/galata/test/jupyterlab/workspace.test.ts +++ b/galata/test/jupyterlab/workspace.test.ts @@ -13,9 +13,7 @@ test.use({ tmpPath: 'workspace-test', waitForApplication: async ({ baseURL }, use, testInfo) => { const simpleWait = async (page: Page): Promise => { - await page.waitForSelector('#jupyterlab-splash', { - state: 'detached' - }); + await page.locator('#jupyterlab-splash').waitFor({ state: 'detached' }); }; void use(simpleWait); } @@ -151,9 +149,11 @@ test.describe('Workspace', () => { ).toBeVisible(); // Wait for the kernel to be ready so it does not unfocus the menu - await page.waitForSelector('text= | Idle'); + await page.locator('text= | Idle').waitFor(); - await expect(page.menu.getMenuItem(`Tabs>${mdFile}`)).toBeDefined(); + const menuItem = await page.menu.getMenuItemLocator(`Tabs>${mdFile}`); + expect(menuItem).toBeDefined(); + expect(menuItem).toBeNull(); }); test('should clone the default workspace', async ({ page, tmpPath }) => { @@ -169,7 +169,7 @@ test.describe('Workspace', () => { /api\/workspaces/.test(response.request().url()) && response.request().postDataJSON().data['terminal:1'] ), - page.waitForSelector('[role="main"] >> .jp-Terminal'), + page.locator('[role="main"] >> .jp-Terminal').waitFor(), page.menu.clickMenuItem('File>New>Terminal') ]); @@ -205,7 +205,7 @@ test.describe('Workspace', () => { /api\/workspaces/.test(response.request().url()) && response.request().postDataJSON().data['terminal:1'] ), - page.waitForSelector('[role="main"] >> .jp-Terminal'), + page.locator('[role="main"] >> .jp-Terminal').waitFor(), page.menu.clickMenuItem('File>New>Terminal') ]); diff --git a/jupyterlab/_version.py b/jupyterlab/_version.py index 5a6d9b79168d..d58d3ac02292 100644 --- a/jupyterlab/_version.py +++ b/jupyterlab/_version.py @@ -6,7 +6,7 @@ VersionInfo = namedtuple("VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"]) # DO NOT EDIT THIS DIRECTLY! It is managed by bumpversion -version_info = VersionInfo(4, 1, 2, "final", 0) +version_info = VersionInfo(4, 2, 0, "alpha", 0) _specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""} diff --git a/jupyterlab/staging/package.json b/jupyterlab/staging/package.json index f6309a9e4df2..52b811d99855 100644 --- a/jupyterlab/staging/package.json +++ b/jupyterlab/staging/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/application-top", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "license": "BSD-3-Clause", "scripts": { @@ -23,101 +23,101 @@ "@jupyter/react-components": "~0.13.3", "@jupyter/web-components": "~0.13.3", "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.1.2", - "@jupyterlab/application-extension": "~4.1.2", - "@jupyterlab/apputils": "~4.2.2", - "@jupyterlab/apputils-extension": "~4.1.2", - "@jupyterlab/attachments": "~4.1.2", - "@jupyterlab/cell-toolbar": "~4.1.2", - "@jupyterlab/cell-toolbar-extension": "~4.1.2", - "@jupyterlab/cells": "~4.1.2", - "@jupyterlab/celltags-extension": "~4.1.2", - "@jupyterlab/codeeditor": "~4.1.2", - "@jupyterlab/codemirror": "~4.1.2", - "@jupyterlab/codemirror-extension": "~4.1.2", - "@jupyterlab/completer": "~4.1.2", - "@jupyterlab/completer-extension": "~4.1.2", - "@jupyterlab/console": "~4.1.2", - "@jupyterlab/console-extension": "~4.1.2", - "@jupyterlab/coreutils": "~6.1.2", - "@jupyterlab/csvviewer": "~4.1.2", - "@jupyterlab/csvviewer-extension": "~4.1.2", - "@jupyterlab/debugger": "~4.1.2", - "@jupyterlab/debugger-extension": "~4.1.2", - "@jupyterlab/docmanager": "~4.1.2", - "@jupyterlab/docmanager-extension": "~4.1.2", - "@jupyterlab/docregistry": "~4.1.2", - "@jupyterlab/documentsearch": "~4.1.2", - "@jupyterlab/documentsearch-extension": "~4.1.2", - "@jupyterlab/extensionmanager": "~4.1.2", - "@jupyterlab/extensionmanager-extension": "~4.1.2", - "@jupyterlab/filebrowser": "~4.1.2", - "@jupyterlab/filebrowser-extension": "~4.1.2", - "@jupyterlab/fileeditor": "~4.1.2", - "@jupyterlab/fileeditor-extension": "~4.1.2", - "@jupyterlab/help-extension": "~4.1.2", - "@jupyterlab/htmlviewer": "~4.1.2", - "@jupyterlab/htmlviewer-extension": "~4.1.2", - "@jupyterlab/hub-extension": "~4.1.2", - "@jupyterlab/imageviewer": "~4.1.2", - "@jupyterlab/imageviewer-extension": "~4.1.2", - "@jupyterlab/inspector": "~4.1.2", - "@jupyterlab/inspector-extension": "~4.1.2", - "@jupyterlab/javascript-extension": "~4.1.2", - "@jupyterlab/json-extension": "~4.1.2", - "@jupyterlab/launcher": "~4.1.2", - "@jupyterlab/launcher-extension": "~4.1.2", - "@jupyterlab/logconsole": "~4.1.2", - "@jupyterlab/logconsole-extension": "~4.1.2", - "@jupyterlab/lsp": "~4.1.2", - "@jupyterlab/lsp-extension": "~4.1.2", - "@jupyterlab/mainmenu": "~4.1.2", - "@jupyterlab/mainmenu-extension": "~4.1.2", - "@jupyterlab/markdownviewer": "~4.1.2", - "@jupyterlab/markdownviewer-extension": "~4.1.2", - "@jupyterlab/markedparser-extension": "~4.1.2", - "@jupyterlab/mathjax-extension": "~4.1.2", - "@jupyterlab/mermaid": "~4.1.2", - "@jupyterlab/mermaid-extension": "~4.1.2", - "@jupyterlab/metadataform": "~4.1.2", - "@jupyterlab/metadataform-extension": "~4.1.2", - "@jupyterlab/metapackage": "~4.1.2", - "@jupyterlab/nbconvert-css": "~4.1.2", - "@jupyterlab/nbformat": "~4.1.2", - "@jupyterlab/notebook": "~4.1.2", - "@jupyterlab/notebook-extension": "~4.1.2", - "@jupyterlab/observables": "~5.1.2", - "@jupyterlab/outputarea": "~4.1.2", - "@jupyterlab/pdf-extension": "~4.1.2", - "@jupyterlab/pluginmanager": "~4.1.2", - "@jupyterlab/pluginmanager-extension": "~4.1.2", - "@jupyterlab/property-inspector": "~4.1.2", - "@jupyterlab/rendermime": "~4.1.2", - "@jupyterlab/rendermime-extension": "~4.1.2", - "@jupyterlab/rendermime-interfaces": "~3.9.2", - "@jupyterlab/running": "~4.1.2", - "@jupyterlab/running-extension": "~4.1.2", - "@jupyterlab/services": "~7.1.2", - "@jupyterlab/settingeditor": "~4.1.2", - "@jupyterlab/settingeditor-extension": "~4.1.2", - "@jupyterlab/settingregistry": "~4.1.2", - "@jupyterlab/shortcuts-extension": "~4.1.2", - "@jupyterlab/statedb": "~4.1.2", - "@jupyterlab/statusbar": "~4.1.2", - "@jupyterlab/statusbar-extension": "~4.1.2", - "@jupyterlab/terminal": "~4.1.2", - "@jupyterlab/terminal-extension": "~4.1.2", - "@jupyterlab/theme-dark-extension": "~4.1.2", - "@jupyterlab/theme-light-extension": "~4.1.2", - "@jupyterlab/toc": "~6.1.2", - "@jupyterlab/toc-extension": "~6.1.2", - "@jupyterlab/tooltip": "~4.1.2", - "@jupyterlab/tooltip-extension": "~4.1.2", - "@jupyterlab/translation": "~4.1.2", - "@jupyterlab/translation-extension": "~4.1.2", - "@jupyterlab/ui-components": "~4.1.2", - "@jupyterlab/ui-components-extension": "~4.1.2", - "@jupyterlab/vega5-extension": "~4.1.2", + "@jupyterlab/application": "~4.2.0-alpha.0", + "@jupyterlab/application-extension": "~4.2.0-alpha.0", + "@jupyterlab/apputils": "~4.3.0-alpha.0", + "@jupyterlab/apputils-extension": "~4.2.0-alpha.0", + "@jupyterlab/attachments": "~4.2.0-alpha.0", + "@jupyterlab/cell-toolbar": "~4.2.0-alpha.0", + "@jupyterlab/cell-toolbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/cells": "~4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "~4.2.0-alpha.0", + "@jupyterlab/codeeditor": "~4.2.0-alpha.0", + "@jupyterlab/codemirror": "~4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "~4.2.0-alpha.0", + "@jupyterlab/completer": "~4.2.0-alpha.0", + "@jupyterlab/completer-extension": "~4.2.0-alpha.0", + "@jupyterlab/console": "~4.2.0-alpha.0", + "@jupyterlab/console-extension": "~4.2.0-alpha.0", + "@jupyterlab/coreutils": "~6.2.0-alpha.0", + "@jupyterlab/csvviewer": "~4.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/debugger": "~4.2.0-alpha.0", + "@jupyterlab/debugger-extension": "~4.2.0-alpha.0", + "@jupyterlab/docmanager": "~4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/docregistry": "~4.2.0-alpha.0", + "@jupyterlab/documentsearch": "~4.2.0-alpha.0", + "@jupyterlab/documentsearch-extension": "~4.2.0-alpha.0", + "@jupyterlab/extensionmanager": "~4.2.0-alpha.0", + "@jupyterlab/extensionmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/filebrowser": "~4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "~4.2.0-alpha.0", + "@jupyterlab/fileeditor": "~4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/help-extension": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/hub-extension": "~4.2.0-alpha.0", + "@jupyterlab/imageviewer": "~4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/inspector": "~4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "~4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "~4.2.0-alpha.0", + "@jupyterlab/json-extension": "~4.2.0-alpha.0", + "@jupyterlab/launcher": "~4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "~4.2.0-alpha.0", + "@jupyterlab/logconsole": "~4.2.0-alpha.0", + "@jupyterlab/logconsole-extension": "~4.2.0-alpha.0", + "@jupyterlab/lsp": "~4.2.0-alpha.0", + "@jupyterlab/lsp-extension": "~4.2.0-alpha.0", + "@jupyterlab/mainmenu": "~4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "~4.2.0-alpha.0", + "@jupyterlab/markdownviewer": "~4.2.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/markedparser-extension": "~4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "~4.2.0-alpha.0", + "@jupyterlab/mermaid": "~4.2.0-alpha.0", + "@jupyterlab/mermaid-extension": "~4.2.0-alpha.0", + "@jupyterlab/metadataform": "~4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "~4.2.0-alpha.0", + "@jupyterlab/metapackage": "~4.2.0-alpha.0", + "@jupyterlab/nbconvert-css": "~4.2.0-alpha.0", + "@jupyterlab/nbformat": "~4.2.0-alpha.0", + "@jupyterlab/notebook": "~4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "~4.2.0-alpha.0", + "@jupyterlab/observables": "~5.2.0-alpha.0", + "@jupyterlab/outputarea": "~4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "~4.2.0-alpha.0", + "@jupyterlab/pluginmanager": "~4.2.0-alpha.0", + "@jupyterlab/pluginmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/property-inspector": "~4.2.0-alpha.0", + "@jupyterlab/rendermime": "~4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "~4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "~3.10.0-alpha.0", + "@jupyterlab/running": "~4.2.0-alpha.0", + "@jupyterlab/running-extension": "~4.2.0-alpha.0", + "@jupyterlab/services": "~7.2.0-alpha.0", + "@jupyterlab/settingeditor": "~4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/settingregistry": "~4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "~4.2.0-alpha.0", + "@jupyterlab/statedb": "~4.2.0-alpha.0", + "@jupyterlab/statusbar": "~4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/terminal": "~4.2.0-alpha.0", + "@jupyterlab/terminal-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-dark-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "~4.2.0-alpha.0", + "@jupyterlab/toc": "~6.2.0-alpha.0", + "@jupyterlab/toc-extension": "~6.2.0-alpha.0", + "@jupyterlab/tooltip": "~4.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "~4.2.0-alpha.0", + "@jupyterlab/translation": "~4.2.0-alpha.0", + "@jupyterlab/translation-extension": "~4.2.0-alpha.0", + "@jupyterlab/ui-components": "~4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "~4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "~4.2.0-alpha.0", "@lezer/common": "^1.0.0", "@lezer/highlight": "^1.0.0", "@lumino/algorithm": "^2.0.0", @@ -142,58 +142,58 @@ "yjs": "^13.5.40" }, "dependencies": { - "@jupyterlab/application": "~4.1.2", - "@jupyterlab/application-extension": "~4.1.2", - "@jupyterlab/apputils-extension": "~4.1.2", - "@jupyterlab/cell-toolbar-extension": "~4.1.2", - "@jupyterlab/celltags-extension": "~4.1.2", - "@jupyterlab/codemirror-extension": "~4.1.2", - "@jupyterlab/completer-extension": "~4.1.2", - "@jupyterlab/console-extension": "~4.1.2", - "@jupyterlab/coreutils": "~6.1.2", - "@jupyterlab/csvviewer-extension": "~4.1.2", - "@jupyterlab/debugger-extension": "~4.1.2", - "@jupyterlab/docmanager-extension": "~4.1.2", - "@jupyterlab/documentsearch-extension": "~4.1.2", - "@jupyterlab/extensionmanager-extension": "~4.1.2", - "@jupyterlab/filebrowser-extension": "~4.1.2", - "@jupyterlab/fileeditor-extension": "~4.1.2", - "@jupyterlab/help-extension": "~4.1.2", - "@jupyterlab/htmlviewer-extension": "~4.1.2", - "@jupyterlab/hub-extension": "~4.1.2", - "@jupyterlab/imageviewer-extension": "~4.1.2", - "@jupyterlab/inspector-extension": "~4.1.2", - "@jupyterlab/javascript-extension": "~4.1.2", - "@jupyterlab/json-extension": "~4.1.2", - "@jupyterlab/launcher-extension": "~4.1.2", - "@jupyterlab/logconsole-extension": "~4.1.2", - "@jupyterlab/lsp-extension": "~4.1.2", - "@jupyterlab/mainmenu-extension": "~4.1.2", - "@jupyterlab/markdownviewer-extension": "~4.1.2", - "@jupyterlab/markedparser-extension": "~4.1.2", - "@jupyterlab/mathjax-extension": "~4.1.2", - "@jupyterlab/mermaid-extension": "~4.1.2", - "@jupyterlab/metadataform-extension": "~4.1.2", - "@jupyterlab/notebook-extension": "~4.1.2", - "@jupyterlab/pdf-extension": "~4.1.2", - "@jupyterlab/pluginmanager-extension": "~4.1.2", - "@jupyterlab/rendermime-extension": "~4.1.2", - "@jupyterlab/running-extension": "~4.1.2", - "@jupyterlab/settingeditor-extension": "~4.1.2", - "@jupyterlab/shortcuts-extension": "~4.1.2", - "@jupyterlab/statusbar-extension": "~4.1.2", - "@jupyterlab/terminal-extension": "~4.1.2", - "@jupyterlab/theme-dark-extension": "~4.1.2", - "@jupyterlab/theme-light-extension": "~4.1.2", - "@jupyterlab/toc-extension": "~6.1.2", - "@jupyterlab/tooltip-extension": "~4.1.2", - "@jupyterlab/translation-extension": "~4.1.2", - "@jupyterlab/ui-components-extension": "~4.1.2", - "@jupyterlab/vega5-extension": "~4.1.2" + "@jupyterlab/application": "~4.2.0-alpha.0", + "@jupyterlab/application-extension": "~4.2.0-alpha.0", + "@jupyterlab/apputils-extension": "~4.2.0-alpha.0", + "@jupyterlab/cell-toolbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "~4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "~4.2.0-alpha.0", + "@jupyterlab/completer-extension": "~4.2.0-alpha.0", + "@jupyterlab/console-extension": "~4.2.0-alpha.0", + "@jupyterlab/coreutils": "~6.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/debugger-extension": "~4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/documentsearch-extension": "~4.2.0-alpha.0", + "@jupyterlab/extensionmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "~4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/help-extension": "~4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/hub-extension": "~4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "~4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "~4.2.0-alpha.0", + "@jupyterlab/json-extension": "~4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "~4.2.0-alpha.0", + "@jupyterlab/logconsole-extension": "~4.2.0-alpha.0", + "@jupyterlab/lsp-extension": "~4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "~4.2.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "~4.2.0-alpha.0", + "@jupyterlab/markedparser-extension": "~4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "~4.2.0-alpha.0", + "@jupyterlab/mermaid-extension": "~4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "~4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "~4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "~4.2.0-alpha.0", + "@jupyterlab/pluginmanager-extension": "~4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "~4.2.0-alpha.0", + "@jupyterlab/running-extension": "~4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "~4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "~4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "~4.2.0-alpha.0", + "@jupyterlab/terminal-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-dark-extension": "~4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "~4.2.0-alpha.0", + "@jupyterlab/toc-extension": "~6.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "~4.2.0-alpha.0", + "@jupyterlab/translation-extension": "~4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "~4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "~4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2", - "@jupyterlab/buildutils": "^4.1.2", + "@jupyterlab/builder": "^4.2.0-alpha.0", + "@jupyterlab/buildutils": "^4.2.0-alpha.0", "chokidar": "^3.4.0", "css-loader": "^6.7.1", "duplicate-package-checker-webpack-plugin": "^3.0.0", @@ -222,7 +222,7 @@ }, "jupyterlab": { "name": "JupyterLab", - "version": "4.1.2", + "version": "4.2.0a0", "extensions": { "@jupyterlab/application-extension": "", "@jupyterlab/apputils-extension": "", diff --git a/jupyterlab/staging/yarn.lock b/jupyterlab/staging/yarn.lock index 5b7de934bb41..3533f074bb83 100644 --- a/jupyterlab/staging/yarn.lock +++ b/jupyterlab/staging/yarn.lock @@ -420,26 +420,26 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/application-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/application-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/property-inspector": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/application-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/application-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/property-inspector": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 37b7c15d73707e2fe9d1b25e05368bbd10917f221736cd8c79da30f66868568ecd4134afc4522658c1ed3fb9588711935041f22659263fe6a26aacd3520304be + checksum: a62169ff816491d465f1c701a0aadb4a6ae7f2ef4f3a2ceb4c69c3df5c08d9cc41fbfda28b1219a210dbfdbaa7efdc83b0db3fd46559cc97cb2d22e6b566aa08 languageName: node linkType: hard @@ -447,56 +447,56 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/application-top@workspace:." dependencies: - "@jupyterlab/application": ~4.1.2 - "@jupyterlab/application-extension": ~4.1.2 - "@jupyterlab/apputils-extension": ~4.1.2 - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/buildutils": ^4.1.2 - "@jupyterlab/cell-toolbar-extension": ~4.1.2 - "@jupyterlab/celltags-extension": ~4.1.2 - "@jupyterlab/codemirror-extension": ~4.1.2 - "@jupyterlab/completer-extension": ~4.1.2 - "@jupyterlab/console-extension": ~4.1.2 - "@jupyterlab/coreutils": ~6.1.2 - "@jupyterlab/csvviewer-extension": ~4.1.2 - "@jupyterlab/debugger-extension": ~4.1.2 - "@jupyterlab/docmanager-extension": ~4.1.2 - "@jupyterlab/documentsearch-extension": ~4.1.2 - "@jupyterlab/extensionmanager-extension": ~4.1.2 - "@jupyterlab/filebrowser-extension": ~4.1.2 - "@jupyterlab/fileeditor-extension": ~4.1.2 - "@jupyterlab/help-extension": ~4.1.2 - "@jupyterlab/htmlviewer-extension": ~4.1.2 - "@jupyterlab/hub-extension": ~4.1.2 - "@jupyterlab/imageviewer-extension": ~4.1.2 - "@jupyterlab/inspector-extension": ~4.1.2 - "@jupyterlab/javascript-extension": ~4.1.2 - "@jupyterlab/json-extension": ~4.1.2 - "@jupyterlab/launcher-extension": ~4.1.2 - "@jupyterlab/logconsole-extension": ~4.1.2 - "@jupyterlab/lsp-extension": ~4.1.2 - "@jupyterlab/mainmenu-extension": ~4.1.2 - "@jupyterlab/markdownviewer-extension": ~4.1.2 - "@jupyterlab/markedparser-extension": ~4.1.2 - "@jupyterlab/mathjax-extension": ~4.1.2 - "@jupyterlab/mermaid-extension": ~4.1.2 - "@jupyterlab/metadataform-extension": ~4.1.2 - "@jupyterlab/notebook-extension": ~4.1.2 - "@jupyterlab/pdf-extension": ~4.1.2 - "@jupyterlab/pluginmanager-extension": ~4.1.2 - "@jupyterlab/rendermime-extension": ~4.1.2 - "@jupyterlab/running-extension": ~4.1.2 - "@jupyterlab/settingeditor-extension": ~4.1.2 - "@jupyterlab/shortcuts-extension": ~4.1.2 - "@jupyterlab/statusbar-extension": ~4.1.2 - "@jupyterlab/terminal-extension": ~4.1.2 - "@jupyterlab/theme-dark-extension": ~4.1.2 - "@jupyterlab/theme-light-extension": ~4.1.2 - "@jupyterlab/toc-extension": ~6.1.2 - "@jupyterlab/tooltip-extension": ~4.1.2 - "@jupyterlab/translation-extension": ~4.1.2 - "@jupyterlab/ui-components-extension": ~4.1.2 - "@jupyterlab/vega5-extension": ~4.1.2 + "@jupyterlab/application": ~4.2.0-alpha.0 + "@jupyterlab/application-extension": ~4.2.0-alpha.0 + "@jupyterlab/apputils-extension": ~4.2.0-alpha.0 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/buildutils": ^4.2.0-alpha.0 + "@jupyterlab/cell-toolbar-extension": ~4.2.0-alpha.0 + "@jupyterlab/celltags-extension": ~4.2.0-alpha.0 + "@jupyterlab/codemirror-extension": ~4.2.0-alpha.0 + "@jupyterlab/completer-extension": ~4.2.0-alpha.0 + "@jupyterlab/console-extension": ~4.2.0-alpha.0 + "@jupyterlab/coreutils": ~6.2.0-alpha.0 + "@jupyterlab/csvviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/debugger-extension": ~4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ~4.2.0-alpha.0 + "@jupyterlab/documentsearch-extension": ~4.2.0-alpha.0 + "@jupyterlab/extensionmanager-extension": ~4.2.0-alpha.0 + "@jupyterlab/filebrowser-extension": ~4.2.0-alpha.0 + "@jupyterlab/fileeditor-extension": ~4.2.0-alpha.0 + "@jupyterlab/help-extension": ~4.2.0-alpha.0 + "@jupyterlab/htmlviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/hub-extension": ~4.2.0-alpha.0 + "@jupyterlab/imageviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/inspector-extension": ~4.2.0-alpha.0 + "@jupyterlab/javascript-extension": ~4.2.0-alpha.0 + "@jupyterlab/json-extension": ~4.2.0-alpha.0 + "@jupyterlab/launcher-extension": ~4.2.0-alpha.0 + "@jupyterlab/logconsole-extension": ~4.2.0-alpha.0 + "@jupyterlab/lsp-extension": ~4.2.0-alpha.0 + "@jupyterlab/mainmenu-extension": ~4.2.0-alpha.0 + "@jupyterlab/markdownviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/markedparser-extension": ~4.2.0-alpha.0 + "@jupyterlab/mathjax-extension": ~4.2.0-alpha.0 + "@jupyterlab/mermaid-extension": ~4.2.0-alpha.0 + "@jupyterlab/metadataform-extension": ~4.2.0-alpha.0 + "@jupyterlab/notebook-extension": ~4.2.0-alpha.0 + "@jupyterlab/pdf-extension": ~4.2.0-alpha.0 + "@jupyterlab/pluginmanager-extension": ~4.2.0-alpha.0 + "@jupyterlab/rendermime-extension": ~4.2.0-alpha.0 + "@jupyterlab/running-extension": ~4.2.0-alpha.0 + "@jupyterlab/settingeditor-extension": ~4.2.0-alpha.0 + "@jupyterlab/shortcuts-extension": ~4.2.0-alpha.0 + "@jupyterlab/statusbar-extension": ~4.2.0-alpha.0 + "@jupyterlab/terminal-extension": ~4.2.0-alpha.0 + "@jupyterlab/theme-dark-extension": ~4.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ~4.2.0-alpha.0 + "@jupyterlab/toc-extension": ~6.2.0-alpha.0 + "@jupyterlab/tooltip-extension": ~4.2.0-alpha.0 + "@jupyterlab/translation-extension": ~4.2.0-alpha.0 + "@jupyterlab/ui-components-extension": ~4.2.0-alpha.0 + "@jupyterlab/vega5-extension": ~4.2.0-alpha.0 chokidar: ^3.4.0 css-loader: ^6.7.1 duplicate-package-checker-webpack-plugin: ^3.0.0 @@ -522,20 +522,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/application@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/application@npm:4.1.2" +"@jupyterlab/application@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/application@npm:4.2.0-alpha.0" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/application": ^2.3.0 "@lumino/commands": ^2.2.0 @@ -546,27 +546,27 @@ __metadata: "@lumino/properties": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 10be4cdfd08dfd69786a3cd9753d48246e507e6a1cf15572bc4938be1d53c5c3fe291153ff02f2ffc941f77ab3c648649a6e6e2db6bbbcfcaa1bcc17a525b90b - languageName: node - linkType: hard - -"@jupyterlab/apputils-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/apputils-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + checksum: 56692745bfc59ecf75365e954e1a3af1b6bba702a09f6eb215cd0b5b65133ce2bdd061079355cc2c853732dec6baf3f9e19740668f89976390f967827fe52477 + languageName: node + linkType: hard + +"@jupyterlab/apputils-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/apputils-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -577,23 +577,23 @@ __metadata: react: ^18.2.0 react-dom: ^18.2.0 react-toastify: ^9.0.8 - checksum: 0694c0d830ead955ff159c79f216ba2ac3b36bf2e62db0ee1a83c2e58236d9d6dfa31b963feacda9bb2ed6aeba28905802861bb1359c995688e854dd1fc8c36f + checksum: f24092d4182fd4c03d50bbeaadf56ac74f27502df2509fbb60a20da45336d571b42823e31fd9667a7dfa4ae6d09fced1bcdf937e3e1b95df5ed7a91108c2018d languageName: node linkType: hard -"@jupyterlab/apputils@npm:~4.2.2": - version: 4.2.2 - resolution: "@jupyterlab/apputils@npm:4.2.2" - dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/apputils@npm:~4.3.0-alpha.0": + version: 4.3.0-alpha.0 + resolution: "@jupyterlab/apputils@npm:4.3.0-alpha.0" + dependencies: + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -605,28 +605,28 @@ __metadata: "@lumino/widgets": ^2.3.1 "@types/react": ^18.0.26 react: ^18.2.0 - sanitize-html: ~2.7.3 - checksum: 6d0811f30ba353d9ce67d515fdfff802f99a628b7403b4b7aa44291d634bd228c0073ddab5ed6d160eb7bdc214b23e540039c1c5fd1f76ba9635b4ca3cca1d30 + sanitize-html: ~2.12.1 + checksum: 0ee851e614129ad9e83d295059e5874205367da18d2c02b1195d7ffc2c3f1f9583e8802bb47655be8509607e397d257b07be38f64d55cfdf3788d76b1a9413da languageName: node linkType: hard -"@jupyterlab/attachments@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/attachments@npm:4.1.2" +"@jupyterlab/attachments@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/attachments@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 - checksum: eee4cb0f2a1e15807021190a581d175816f1aff170060c39292a6dcd6cf469845f1b619be7d7cee4e5504c852327d5b7ec61a6f63e9a1f19f1b35e570e47f725 + checksum: 4db5728e94e12b13645cd73733efa7898ffd990645916aa91c505793eccb0224ae93f514168d51d1cf2263fce0df0aa446ee990df83d2986b63aef4b359036d4 languageName: node linkType: hard -"@jupyterlab/builder@npm:^4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/builder@npm:4.1.2" +"@jupyterlab/builder@npm:^4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/builder@npm:4.2.0-alpha.0" dependencies: "@lumino/algorithm": ^2.0.1 "@lumino/application": ^2.3.0 @@ -661,17 +661,16 @@ __metadata: worker-loader: ^3.0.2 bin: build-labextension: lib/build-labextension.js - checksum: 732e14d5b9227c34b3c3eff05a72ff930f141540427fc10b975fc8a3e58b716d753dabcf9653af3f6a4e75bfd46c966207bcb1d2fb1bf98b7ca5fa5cc757fb79 + checksum: c2d52a918a5f2d16138fa5ac989a836389674cab25a974a7d5746de19c8f1cbfb81504cbe0c8f68847d3a78ee9588bc1b8a2798f0194ee0d088815d876c90779 languageName: node linkType: hard -"@jupyterlab/buildutils@npm:^4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/buildutils@npm:4.1.2" +"@jupyterlab/buildutils@npm:^4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/buildutils@npm:4.2.0-alpha.0" dependencies: "@yarnpkg/core": ^3.0.0 "@yarnpkg/parsers": ^2.0.0 - child_process: ~1.0.2 commander: ^9.4.1 crypto: ~1.0.1 dependency-graph: ^0.11.0 @@ -695,65 +694,65 @@ __metadata: update-dependency: lib/update-dependency.js update-dist-tag: lib/update-dist-tag.js update-staging-lock: lib/update-staging-lock.js - checksum: 7adadcf013c661fbe70bf2b92b5c91c035d9455e363e67d21384214c264bb5034fa6656a5ae0e3bdc96be53099705f041740014e7244d88bec059ddf01461ab2 + checksum: 652e8d99a212423db00ceee21d27f6c5ea2a3b7dc7dfc16439c12df4e1202e92b7d67e1f52cc2bff46cfe16bb8f04e36694df0142fc88db189a997c1c4f3cc29 languageName: node linkType: hard -"@jupyterlab/cell-toolbar-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/cell-toolbar-extension@npm:4.1.2" +"@jupyterlab/cell-toolbar-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/cell-toolbar-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cell-toolbar": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: a68229b272a19e57f657bdaeea779baaf4f7ceb7b9636f9f515e0156eec825f0cd8ac2350e82af3462f5e97b9d525d11f761e8e2c79fcde9b802ded90fa29d35 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cell-toolbar": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 3dbc628e2b5832ebe90e5ec9e05bdcc170f8d5c0beed94a0b864bac31110220d40b6c85f1dff7ecb5ec7c8a6d89fb2c923e330692494c6ab6c00b61775f296db languageName: node linkType: hard -"@jupyterlab/cell-toolbar@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/cell-toolbar@npm:4.1.2" +"@jupyterlab/cell-toolbar@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/cell-toolbar@npm:4.2.0-alpha.0" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 9f1e623571a85590149e36fe084bf7f67288602afb051b4cb03a612dd4e1ae1fc8c988542ebd0ce616a48ec7886e2b4ee77ce94b89492d102b9b0a73412f2b4e + checksum: d62ee478d460939f6730ee053da348ee6085af63c731af7515cc854234d82184034ec3786f01864dcd150c6387071b7eef373bb9b218bd8653d27cab743bb3c1 languageName: node linkType: hard -"@jupyterlab/cells@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/cells@npm:4.1.2" +"@jupyterlab/cells@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/cells@npm:4.2.0-alpha.0" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/attachments": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/attachments": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/domutils": ^2.0.1 @@ -764,38 +763,38 @@ __metadata: "@lumino/virtualdom": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: c506140688b7411e56c7ab6cae2f5422c3eda5a674b93da1b7baa81682c2f7112af611e80d9dd48ee272184446ec8c2b651cf1e5f0b769df1beda5c3cdfadd58 + checksum: cc29ffd58a3e73488a8bba179b4ae59a2684f84db16b73a91ed03f538f63813544dedf9b5026e481d42e320fdeafb3461ee8205c57383783a3c0f9a19d44abe7 languageName: node linkType: hard -"@jupyterlab/celltags-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/celltags-extension@npm:4.1.2" +"@jupyterlab/celltags-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/celltags-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@rjsf/utils": ^5.13.4 react: ^18.2.0 - checksum: 0182c5f03d61705df6e1de7bbf6647f0d496c7c899f590c9e1f322d638e494c9878f0231892b9609ff9755e875a87c61dc7f53f6bf54dce3b0b34c679bf07359 + checksum: 494149fe9fa77904f9ead889eea0452e2682a96cc99653be43b4c0bb5069b13942312aee30839a6bc20b1b84a457d86dec1b63edbc2c9192369d7c3b0f3b8e3f languageName: node linkType: hard -"@jupyterlab/codeeditor@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/codeeditor@npm:4.1.2" +"@jupyterlab/codeeditor@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/codeeditor@npm:4.2.0-alpha.0" dependencies: "@codemirror/state": ^6.2.0 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/dragdrop": ^2.1.4 @@ -803,37 +802,37 @@ __metadata: "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: b09618bc80a6d62c11fe53ccfe51cae1bdeb7298fab00c71a1119efa8102b86b6aa828d75b00ede80821b7073e3d6c3bb48c93805572eef4563308e4d3e7da1e + checksum: 09f72ee2b4c61698a2de48a994d8645865a587c733c78d1b2c71bb947d6d0c53b704e63468d8510b6f4501ab57e7347e6e6d92b17687ef418759ff78ea2ae151 languageName: node linkType: hard -"@jupyterlab/codemirror-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/codemirror-extension@npm:4.1.2" +"@jupyterlab/codemirror-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/codemirror-extension@npm:4.2.0-alpha.0" dependencies: "@codemirror/lang-markdown": ^6.1.1 "@codemirror/language": ^6.6.0 "@codemirror/legacy-modes": ^6.3.2 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 "@rjsf/utils": ^5.13.4 "@rjsf/validator-ajv8": ^5.13.4 react: ^18.2.0 - checksum: 858a5ca6910f32d87fdd8ee53c50ea21a1af8dc3b053e6e37a29050323e9d58a51dd3a25370d9bc371a7667ec13eca8be23b33d4bc484e6a8f936e59b71e5be0 + checksum: 161adc6bfbeaed39f773bcd6fe46bbd79ce139aad788e0be3f9d0ba9231e5220935dec6087fbe917db4d1f61be843bd5dd0da12e6f01ceb8967aa9f0f40b246e languageName: node linkType: hard -"@jupyterlab/codemirror@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/codemirror@npm:4.1.2" +"@jupyterlab/codemirror@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/codemirror@npm:4.2.0-alpha.0" dependencies: "@codemirror/autocomplete": ^6.5.1 "@codemirror/commands": ^6.2.3 @@ -856,11 +855,11 @@ __metadata: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lezer/common": ^1.0.2 "@lezer/generator": ^1.2.2 "@lezer/highlight": ^1.1.4 @@ -869,44 +868,44 @@ __metadata: "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 yjs: ^13.5.40 - checksum: 840fea21005890b06220d2f41dd8c2edab3d3615aca13a7daa05b3eefaeeb37199320c1db32dab5e84ee0fbd3fb08c1bac51d300e8c2fd35f0a809753c93ab22 + checksum: 534630260b2517b4456e8cfd68cf0cc98f4ca9223bca1858e6aa5d0c666a4d4f534a0e6cd1cb1acb475566919514ee290e1574eb67e7e3157f1868049198d401 languageName: node linkType: hard -"@jupyterlab/completer-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/completer-extension@npm:4.1.2" +"@jupyterlab/completer-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/completer-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@rjsf/utils": ^5.13.4 react: ^18.2.0 - checksum: d78a4fc340ca5932b8085119da2af855b64bcd77f43371028d60fe07559a1669f2ef2fb504989ae546c6e811a37ee6e527001b6eb2f1251d6aed25c854884900 + checksum: d62032619824b96bfee9e0f0a56eff42db6b14bca1f587b43a81f5f1f51eb0b93e6a287fc6d56976d97a2380c2f04b6ef87971d1d0c4596f53073c9c6bd3d507 languageName: node linkType: hard -"@jupyterlab/completer@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/completer@npm:4.1.2" +"@jupyterlab/completer@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/completer@npm:4.2.0-alpha.0" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -914,65 +913,65 @@ __metadata: "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: acff97058784de0289fd33a9765c84f77854e6e5b835f93a7c36cb6a64db5675368d3dcc5b58606c726b853857705bee43061d29e9d5715c66b232944891a82e - languageName: node - linkType: hard - -"@jupyterlab/console-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/console-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + checksum: 87fd1ed9d6458eff55577dfff26b42d6d624469bde3a3226d7b64434e436cd1e63dcf55489802739dfb01e5e8a66905f9ac26bbb2971fb5333fde3387968270b + languageName: node + linkType: hard + +"@jupyterlab/console-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/console-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/properties": ^2.0.1 "@lumino/widgets": ^2.3.1 - checksum: 039e3cb4051cd7329e8f0c9239eaf41a08a5066701e23964669b772a2c4d55d9083a945fec999dc44109b4f578dc1df47eb3bb55ef8b7b3305beecfaea5ab513 + checksum: 7592cb2ef815ed42c882dd0ed5a5cbb05e5f90c4d359f72a6157c788d4a35d3b2b1d0365deea71b0ca849aa59586cfb07bf7823b702841c62d6156a7d5a6b24e languageName: node linkType: hard -"@jupyterlab/console@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/console@npm:4.1.2" +"@jupyterlab/console@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/console@npm:4.2.0-alpha.0" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/dragdrop": ^2.1.4 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 3e954b2216967fa30fbecc408cadee4a4c256f6f2d256575a435fdde7a3fd298897888313c89d6add9139b08146744f5ae280c180983c47bf2b7fbd6283f463b + checksum: ef0e112a66531bf7945108240bd5c486f64b3fbfa018742924531737a3baf67b2e273a459125e113fcca0ce26ecd0a55f11d0290a62a4d1bd654b3a9761ec64c languageName: node linkType: hard -"@jupyterlab/coreutils@npm:~6.1.2": - version: 6.1.2 - resolution: "@jupyterlab/coreutils@npm:6.1.2" +"@jupyterlab/coreutils@npm:~6.2.0-alpha.0": + version: 6.2.0-alpha.0 + resolution: "@jupyterlab/coreutils@npm:6.2.0-alpha.0" dependencies: "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -980,92 +979,92 @@ __metadata: minimist: ~1.2.0 path-browserify: ^1.0.0 url-parse: ~1.5.4 - checksum: 6dcc812e0ebae28f902ece4acd58aee8103033b23a3bac0935d4d9d8c9c10f8797b422f4e8b0be53fac4781811fb9b82874ce499cd69a6d198986e0cdb4a97ff + checksum: 369e52906b19b822bee34f2dc4a7438008803ca63607cdb2e0e748a71b541113d38d38208628754118db61b3759c7c98d6a1a0066bfad1324d5b18ad87532a8c languageName: node linkType: hard -"@jupyterlab/csvviewer-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/csvviewer-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/csvviewer": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/csvviewer-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/csvviewer-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/csvviewer": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/datagrid": ^2.3.0 "@lumino/widgets": ^2.3.1 - checksum: b7c58e0e9da8f8a00ab0fa1e046584c99e36996bcffcacff6e946395f500f69dc6c0877799474715504c49326d1c6c26e92591308228b4dc3f536278303070bf + checksum: 6a58a4b54891cc4320a3caaa59e60a35a4838e06d150f4bb2b860bcbb18735d8c4fb42b35166feab164d78df41c3ef8dcbae0e571fe5c709fa3a176181decce4 languageName: node linkType: hard -"@jupyterlab/csvviewer@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/csvviewer@npm:4.1.2" +"@jupyterlab/csvviewer@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/csvviewer@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/datagrid": ^2.3.0 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: ef0b42e658b2308a85d0665bbc02066b27f82b29759f51dc7eb740444e37e4c4cd4b41f03c85f9b777d1637824f61ed7a2c1919068881dc9b289955192e42f2a + checksum: 0c31ca220c305444cf7411c2153887c4a79b4f768d9765e6d668eafbfb9e4892ab6f45aa903b11170ffbdde7d8ee43a7761970a5466245f62372c9e7ad9af102 languageName: node linkType: hard -"@jupyterlab/debugger-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/debugger-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/debugger": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: 5d2db862459ccaaa6329bdacddeb2ae18e1827d88d1be594bfea40481738ec35562d6bde1121dff188bebd4bbfceb258f56ae671ed53ff872926ce33bf5a8579 - languageName: node - linkType: hard - -"@jupyterlab/debugger@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/debugger@npm:4.1.2" +"@jupyterlab/debugger-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/debugger-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/debugger": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 2e4e8ef021a49c4ae1c7cedb35eb0331a9633911e0f1f658d2a2c62ca2935db97e17660113314d6871aab43b12e0b041ded6d1069c74c322fb1d7825866b9f4f + languageName: node + linkType: hard + +"@jupyterlab/debugger@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/debugger@npm:4.2.0-alpha.0" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -1077,24 +1076,24 @@ __metadata: "@lumino/widgets": ^2.3.1 "@vscode/debugprotocol": ^1.51.0 react: ^18.2.0 - checksum: 426c4d276ed27a5d124e4fabb12bc23f12c542f138656a037c17ad2fa908fabf9b6d57f78d79f300f6d60231dea8832d7878fc444d662bc063170116ffc59f2c + checksum: b9ba659999a73c14e9d49dcd41bba01b517203d3151129d4476d4954763a057f66aaa473768f596ae2c57a9657cfc98be55939386b37bf25d534941ba4bf1c05 languageName: node linkType: hard -"@jupyterlab/docmanager-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/docmanager-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/docmanager-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/docmanager-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -1102,21 +1101,21 @@ __metadata: "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: c7edb302a06a257a6bc37c8faffe1523481e851d6bab79d23e0af13c370da6b7961486df8ce112b6bfc630f8a8241cfc0c1cef379298c7f87532f7db3b1a420d + checksum: fc5f6460d4d6238d11dff09bed10fa488b1fcfacd907cc0e0841317ac331995fa15d1fccdc8f84e7625c7e1522d5f9571e6a17196988cb532f185c752a9c6fc5 languageName: node linkType: hard -"@jupyterlab/docmanager@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/docmanager@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/docmanager@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/docmanager@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -1125,24 +1124,24 @@ __metadata: "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: c2a7346025dee18bfb7d7c9953964d99e7635634f3c6a8cc7ef6b97eae92803279f21c4bdfafd1f970662b1824fbdca3b629a2dff804bd0ba9f486637ec7ba11 + checksum: 3642b55d76c4887c1c9054641494d4f2374c2ca54a1ed750c601169a01348969b0edfd45165d619fe1c73f782edeb7f10df2e09a3ef31daa4754c6846f22047e languageName: node linkType: hard -"@jupyterlab/docregistry@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/docregistry@npm:4.1.2" +"@jupyterlab/docregistry@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/docregistry@npm:4.2.0-alpha.0" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -1151,32 +1150,32 @@ __metadata: "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 6dcef927286f66636d8f7f0a128d7c5084f60f1fc9969d33080f3b905b08c63036bb99602d484b52530f6176242b224ed65444fd7cfc2df7d44f0b0dd039ac40 + checksum: a6b10a5c7c1b7f86c9ef0c8e81442740d39de0382088cfec92c41f8f52a1de285c960b53501f5003def546ed2678d75febb0e0ccc1503e825e5b21754c93e66f languageName: node linkType: hard -"@jupyterlab/documentsearch-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/documentsearch-extension@npm:4.1.2" +"@jupyterlab/documentsearch-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/documentsearch-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 - checksum: e87b6163c09c35f79db618f14b4e8aedd8915e82e806f1e7e106a8246033d3897c3c0fa319817ac913b66ba9c11b44ad53b0126827d8516b1bf159b43f45e415 + checksum: e9185ca5c86dc2f69d931cd228bab1d2c4eb24badc207da7b652bedfc0c0f39cabfbab935d44c3fc3e348bbf1c2c6a7df559e8b7fd26f7cedec9d194c3c37ce7 languageName: node linkType: hard -"@jupyterlab/documentsearch@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/documentsearch@npm:4.1.2" +"@jupyterlab/documentsearch@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/documentsearch@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -1185,79 +1184,79 @@ __metadata: "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 05dbec1fcd0b15967a2bf09410f677053a2a05916acb715704a0cbef7fd588810a429b6f718d8fa68cdcc732906efbffc00cfa1ed1c4b782121d04d88b1dc04d + checksum: 4d0f3e5a3ebcd948e293dbb622ce30a29b228aa6eaaba72025aa77672b27c9206e45b9bd716c7912d419c5d3b69c6cccd3f3aedf08ba107510ca2786fc031cd7 languageName: node linkType: hard -"@jupyterlab/extensionmanager-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/extensionmanager-extension@npm:4.1.2" +"@jupyterlab/extensionmanager-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/extensionmanager-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/extensionmanager": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 - checksum: ce401e24cc595f14068dcddeee6708d4f22574b667b87cf13ab8650504075d542f91b7c96c3de1a0f0366d37cb87339e2a1f412d57e6f86bbaccf009821659ea + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/extensionmanager": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 + checksum: e2d784b99bbe0c1bbe00c0d0591af15cf84e9436754308ded4cb07b232f4d1ebe94eec087818c61b93080a41597703fffd3b9ef415747f14c3266c4be7234e84 languageName: node linkType: hard -"@jupyterlab/extensionmanager@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/extensionmanager@npm:4.1.2" +"@jupyterlab/extensionmanager@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/extensionmanager@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/messaging": ^2.0.1 "@lumino/polling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 react-paginate: ^6.3.2 semver: ^7.3.2 - checksum: dbd4133069f86e70dbe4f2ffff9a99a7a2b8141d66880008bc121b159e1a63d19956b2e02622ff2cc664b35f2590cc3c59c8bca7b7c78f8813012042ec726764 - languageName: node - linkType: hard - -"@jupyterlab/filebrowser-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/filebrowser-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + checksum: 565d5c7ac39a144bfd1a47e0fdde2202f6f2896e16ca6342a5528f5f3ec61005d2937a78ada0e16542d502d49e69795033d1b9d92d058658e180b49a85e9b561 + languageName: node + linkType: hard + +"@jupyterlab/filebrowser-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/filebrowser-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 - checksum: 5defb02704f4aad089b9f80fa606083059b49efcc8bb3f1e847cd51d60eb071f1fc613f2281e1e240c3e1d90e972e6b0760273508a6e51b595e1907a3281f81b + checksum: d363aa23003b908ec279b2d2115bead078773ddfb19671616706bde079679f58a7f9f47eaec99eb94ac0da6c3ee44fb61036a0469dad5286dc4b118a1d24e255 languageName: node linkType: hard -"@jupyterlab/filebrowser@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/filebrowser@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/filebrowser@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/filebrowser@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -1269,221 +1268,221 @@ __metadata: "@lumino/virtualdom": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 0dd60c41b69458de8a7efb09ab7b6d9a06587761b00656a5f301980c30b9e180c986bd1074bc491a5fb4658ed2802ab4ea2eb1e9c3b2c565a1aef135c4b02fe0 + checksum: cc8367dd9b4ac2c8eec9772b208a7269976468cedefa0ba8b01dc15cd22f14012a24bc64880069ce869794408e824dee9f66f0c8ae8b8446e20032871adb5218 languageName: node linkType: hard -"@jupyterlab/fileeditor-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/fileeditor-extension@npm:4.1.2" +"@jupyterlab/fileeditor-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/fileeditor-extension@npm:4.2.0-alpha.0" dependencies: "@codemirror/commands": ^6.2.3 "@codemirror/search": ^6.3.0 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 97f81c9a3f2f241e7f3a91913e614327d6f7b5e60a8c63841f4e7984e268a1b3e300de1c26c27435f2c50f391a174a2cd72427f36920f96238477808013720db + checksum: ae2457f73fd1714c1eca50ca376466a1e09a58598dbbb5c3c652279a922634b529e305c000eac52900b587bbeb7e4cb9608245e8351f400217fa337083040345 languageName: node linkType: hard -"@jupyterlab/fileeditor@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/fileeditor@npm:4.1.2" +"@jupyterlab/fileeditor@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/fileeditor@npm:4.2.0-alpha.0" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 regexp-match-indices: ^1.0.2 - checksum: f9e1de69a879c261cc745356c4a36041bf7be8a11d29b9b7da3d785c385670a6d10da789191480664f3511d86e000d51c409d31e33f37f84fc395294935ec326 + checksum: aaada2cc29b96cda3d7bb798d9c3e13b7e135f0c39477358d600f56ad653d00fdefd9a1b0f339a4921970dfe7cad9339ce9ceacf401a594ae02fcaced42859a1 languageName: node linkType: hard -"@jupyterlab/help-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/help-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/help-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/help-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/virtualdom": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 86d317eba4b45384bba971d04f7d679802605397bbf7f827985279d7bb0d2cd707450fdf463a36b2a347776d6fd25a69de1bbbd0fe156ea10e92d2c215cb60b3 + checksum: e6d867b5a2b32267f54559d44de1aabb5cdc8c5108c493789b72ead571ee61dcfc3e272350d29a95873b48dba69ab32a5dff721fd2e6538f485a6c42ea87ee2a languageName: node linkType: hard -"@jupyterlab/htmlviewer-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/htmlviewer-extension@npm:4.1.2" +"@jupyterlab/htmlviewer-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/htmlviewer-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/htmlviewer": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 - checksum: 7f824eb3a9c651d48de2e33fa27f393dece82de96ab2fc93a3cc238cb0bec4b5c71e0d742e15a4300f10be7ac9b3599d66876d0515a1c071e6325eb76667f3f6 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/htmlviewer": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 + checksum: c14fbb751ae906d236f6deaa31baff91139d8e05d61e2cd66091dafa74f55ee22c5a3ecdc8f8527b94043afb0ac366df845ca290efb3cc25715db8697502ea02 languageName: node linkType: hard -"@jupyterlab/htmlviewer@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/htmlviewer@npm:4.1.2" +"@jupyterlab/htmlviewer@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/htmlviewer@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 4093e20e84ce3a828c732f7da7bd9ec9944b7beab6cdf68d7a0de43b23a3941042ce1e1a218b60a1e297055a5aeb5242d9083c8166053d9fd98e41d3ec41f299 + checksum: 124c008e4e67f7466468d6fe4ca6db55afb2ff0e7557a7a2698bef0afdcd92da99bbc70a8defcaf4c22c5833814b1b716f287ffd1a4807ed01c62debd9f96aa9 languageName: node linkType: hard -"@jupyterlab/hub-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/hub-extension@npm:4.1.2" +"@jupyterlab/hub-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/hub-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: b909eb5f451e3270b209ca32697a5e4ddf93473ffd651854169bdd7d536aeccd5bbffc8e11618bba7a7de664aa56b0f8e56c449ce993758e253197876e997d80 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 39c2e197757759592682bedc6a25e0865a15df9ce41de3c93a2eee2fd44db92f93a655bd81d5573acbfd70beb70fff50fd06494bf6416850283ff1bd76e055df languageName: node linkType: hard -"@jupyterlab/imageviewer-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/imageviewer-extension@npm:4.1.2" +"@jupyterlab/imageviewer-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/imageviewer-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/imageviewer": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: f67edb5f50dc6ae465815184a3eda42208e8d21e91f4decd8a123af79d736994bedf6a55d094666b2475e3790ff9f40cdfcaa835314c9e065ce0df24a29bb22a + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/imageviewer": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 341a725234e507609dd4ee870093344e8d9104251134b8406fedc21d5408cc25d31a65fe1ffe080307b1f302249dcf47d67d43f7c910b0a745062e7441989e4b languageName: node linkType: hard -"@jupyterlab/imageviewer@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/imageviewer@npm:4.1.2" +"@jupyterlab/imageviewer@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/imageviewer@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 - checksum: e4bece543d596925c6ecb1ecf2d7c742a24da2cc65517fbf8b3fdbb560e7eeef8a861136ccd9c9558dfb8cd8cea8b34487ad4129e5b827860db8f700b1f83c58 + checksum: 9b79196ce0106a7cc509c4af6224df5655b94da9b505a209b6de0cc7e136375968e6711ad5102f8a3b204d00c60c17215ac75c1c132c049f8d5ae5c21ec339d8 languageName: node linkType: hard -"@jupyterlab/inspector-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/inspector-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/inspector": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/inspector-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/inspector-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/inspector": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/widgets": ^2.3.1 - checksum: 4a54a351f54a3ef7d8af9d672b4a57c17f6abca51076458e146247113bb5feefa6fa052d3876d7a656ee6f89a799f7e18a4d9cb86279223b068e4078d78606fa + checksum: b39fa07559e661977671b9282b8b1d7a30a78a1ff73853996bbbf52659e423a21b3f03ec565e95da0eca8aaab03e10fa9ef7e95d527e3ed31158e2567fbaf157 languageName: node linkType: hard -"@jupyterlab/inspector@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/inspector@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/inspector@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/inspector@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/polling": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 16ea6dfed2bbfd461c32c99cda620df4ab358ced92814cc7d0d677ade55d802e7a6131ba641b9235f52019e23ae0c185b0a1de60dcdd315989c4d094209e0c6f + checksum: 063b181f1a0a5e6aadaa78bc62b4ea44ce966fafcf6e0f7cd37110990d82c24b0545706a8679e268b4322c33770b6793b7dcaa891578dc90a670ff5419a1addb languageName: node linkType: hard -"@jupyterlab/javascript-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/javascript-extension@npm:4.1.2" +"@jupyterlab/javascript-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/javascript-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - checksum: 0dc044252b0c82f63c74c62d7c7377de368d6767366a7051cb2cff162791c205672281bfefd9277a602e47368b333397cb05a1c20b85346cd1d820582d8327f8 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + checksum: 309cc93aa380d14b70cd6a5bf01c710b3ac7bd87df82b1196bc995e8e1e7af7e3ad58c41ec8485326de7fe8b33e1fed5f193180c191b8dddd781cc8b9511c36d languageName: node linkType: hard -"@jupyterlab/json-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/json-extension@npm:4.1.2" +"@jupyterlab/json-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/json-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lezer/highlight": ^1.1.4 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 @@ -1493,34 +1492,34 @@ __metadata: react-highlight-words: ^0.20.0 react-json-tree: ^0.18.0 style-mod: ^4.0.0 - checksum: f923ba1579fbdac2ba113a68c03ba0d181a2d41fe036bf01ef53919d8c5e3701a2ad05acfa362dd94b91110448d3a9c82a918b4786aac3632cbcdae41f5781ad + checksum: 7117cba28421f04d4b92d933786dff1e901e520faedd2ae6b710dce303e67024772f6631abe03b4a9b42411fc1206640140353b3b85f9e7504686d1bdbbfe986 languageName: node linkType: hard -"@jupyterlab/launcher-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/launcher-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/launcher-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/launcher-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 8cedc3d1a54b78c53d4b2839a8e2fdfccf229da0b6b42e82039b336a430f288533f6c515dc9a9abd1c08b33d592727ba537479ecc526f3cd4f6bb65db69c37de + checksum: 599212cf72e63dac6c039a9fd1a0ca763a1e61ff7bb192de565560ad453ba616b7ad4a3f26c406d9a80748f5dcd9b25fc6b7f3b3cc6894f759e828b4e482c59a languageName: node linkType: hard -"@jupyterlab/launcher@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/launcher@npm:4.1.2" +"@jupyterlab/launcher@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/launcher@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -1528,81 +1527,81 @@ __metadata: "@lumino/properties": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: bc6f4fb53bf273e28b94b41ec9c87e7f2747053f3266519e1c2472dcc42636d10a80ecc99aaaa20d15ecd77230307dbba7696536177b01fb4631588ffa8bba53 + checksum: 5f2e5257f0789746432a50193a994d6454b22b8f9f51ad73a0bfede465c5d7c4e9713edd5a7e8ef522c74e6e220912142990730e7ccbdeca37786cb4769bd267 languageName: node linkType: hard -"@jupyterlab/logconsole-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/logconsole-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/logconsole-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/logconsole-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 9307c84296c6a14088001e7e8fcc1942ad5c3ec05255d732e89293957cd3d600533db1c11bdab673e6fe206d2533e735b5f06bd3fde169038b04d10b5715154c + checksum: 781dea344be5b15f8fd9718721753bed02b7b6d06b86422ee7b8cc335abc23e6c2c031a5bbf28dceae83fa2c9101c9e15df785a845c89e449853e0d262a867d7 languageName: node linkType: hard -"@jupyterlab/logconsole@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/logconsole@npm:4.1.2" - dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/logconsole@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/logconsole@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 2ed51e59a320e5d5e7c3b7e54229558eb10852d1d1eef0313e74c79e7c0b97f59ea2defc90421e31e7909586d303ba1f1a88851fb610e4de619f1f9fc8325114 + checksum: 5240680841345aa4712618ace7721fca76cba29cad2705bf88339f1379c27eb3402c11ee68aaf01322d03fab4513adc5a4a1fbfe5e7ccf5d020650d0d0d6929c languageName: node linkType: hard -"@jupyterlab/lsp-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/lsp-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/lsp-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/lsp-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/polling": ^2.1.2 "@lumino/signaling": ^2.1.2 "@rjsf/utils": ^5.13.4 react: ^18.2.0 - checksum: 033bae9fc9f19063ea370d42ba863cfb8647ab7fccd2feffc0406b79753b6cedd5ccd4f160e90724470d9167875320fd2801c48fb43e87d8eccd4f0a2df3cd45 + checksum: f1de54a5ffe076844fac1e7750ae1202e66d567dfb4aa5f8df6d83e4251dcdc32548cf72729eda8d6894b8a68f023c7a4ed29ec697d017d637808d0c00e65e0c languageName: node linkType: hard -"@jupyterlab/lsp@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/lsp@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/lsp@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/lsp@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 @@ -1611,160 +1610,160 @@ __metadata: vscode-jsonrpc: ^6.0.0 vscode-languageserver-protocol: ^3.17.0 vscode-ws-jsonrpc: ~1.0.2 - checksum: 2ed61ced381625115b756276c2d142634683ce15606be34e7ce954b9e0c97fa43a6f2e002b9cb37d7b6627adfdbb82239c1a55646c486a9233cda8f49b729a33 + checksum: 7b3630c673dc1d1b395ca538b4f668fa9fa37dadad7d6e04ce981e1a2afe8bdc814f24d3bd880c33c6953c3657c5f3efcfb851382c4f6c25ad5e9f399e1a20d2 languageName: node linkType: hard -"@jupyterlab/mainmenu-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/mainmenu-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/mainmenu-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/mainmenu-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 56f53f71d8745654e5632b41c2b8c77d2e83f6edc9663b202252ed67289779065ac2a1ed6222835499f6b5faf06f3eba88c2e2ddcb1d68fa455b58f9515266d7 + checksum: 81401ad364dcfe4a34ab0e6a9acb34371e7d2c89fe64ace7060d1781ccb64e8e299195d21390bac538de2e8d133639a62ad9097470fd58455fba5cdf0d4c48e4 languageName: node linkType: hard -"@jupyterlab/mainmenu@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/mainmenu@npm:4.1.2" +"@jupyterlab/mainmenu@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/mainmenu@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 562f069205c08b70d5c30e16e68b7fc60caf9dcf60493429f44f31c20b5d1aada88fddab8f5a881656d345e06963a7e0609c0c5f3ffda371a5c07498d45c21b1 + checksum: 200f042d696087a2a4a791feda1c560520adc82a44cdaf2f737d1abb6a1f38597b2333f102ae2cff07fce6774acb073389133f6d337a2b785648bfcab9bd0500 languageName: node linkType: hard -"@jupyterlab/markdownviewer-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/markdownviewer-extension@npm:4.1.2" +"@jupyterlab/markdownviewer-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/markdownviewer-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/markdownviewer": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: c3fcaad83b0487266d89e729e8e9580963fe94204764df1adada59c4ff8ba59c51230fbced5a5869931a0fc667811a1a0a39bc30226cfa39467fc969bcd581cc + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/markdownviewer": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 7b35cb268cfa1fc9810c2dd20ce62ebd5cebaf083a1d77455709cc5ea2f7a4c680805abd5b067007648016a9dc08efe2f6e0dee7aaf7c20c0fbcdf7d9a344b3d languageName: node linkType: hard -"@jupyterlab/markdownviewer@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/markdownviewer@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/markdownviewer@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/markdownviewer@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 3e726cf5cb1d1de781458adf59ad57e56c60c4c4452f2d3721da970eecf342f514851a70a6e18f9637f97cd2eb8b8b61b8a850f5e01712b19e7b6def8a9da73a + checksum: 2c5733a2e23b035868d732f2f4d309518e71d907390944fae0013918da5b9579869076426c328a763b83184c5f05c9862a848ce7cbd4848d269bf3595b9c050a languageName: node linkType: hard -"@jupyterlab/markedparser-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/markedparser-extension@npm:4.1.2" +"@jupyterlab/markedparser-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/markedparser-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/mermaid": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/mermaid": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 marked: ^9.1.2 marked-gfm-heading-id: ^3.1.0 marked-mangle: ^1.1.4 - checksum: 75dd31504460f07cc57b0776c5809ce7601c1d6784b63702cee4123acaf262dd76c1271faeb5649b1a53f008b040ec895cca31c3840101e92bbbc05cf9310038 + checksum: f994202583c845912326abe8da131cdf31f2381c8b091caf33587f56e5edc8597247d7f8a281489eade6bfed736eb0f947ab6fb9b3f4290feb2ada78802d5480 languageName: node linkType: hard -"@jupyterlab/mathjax-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/mathjax-extension@npm:4.1.2" +"@jupyterlab/mathjax-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/mathjax-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 mathjax-full: ^3.2.2 - checksum: 9b73425523071d753c5eb7a92f42f330568c6da445783e69a7f275a69249380553b936338504413dab8db460b391f26640db470113f1d4912de37a4b55ff0628 + checksum: 6406ce2c62ff674883febfcb73aa95314101b14f598e99323f21fdcb1e62376c835a110623a9f1dbde64e92a6ca0b991c5fcaee48708a3082d2ff77df0386b91 languageName: node linkType: hard -"@jupyterlab/mermaid-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/mermaid-extension@npm:4.1.2" +"@jupyterlab/mermaid-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/mermaid-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/mermaid": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/translation": ^4.1.2 - checksum: b3e2a66cc57bdd955d676c1918e177a253f258fd82952c88f53b2550401957dde3aa9c885d3c688068e05521f5b93175bbed3be039611071e9fd53f6472ce463 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/mermaid": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 63067dcd1c3c997ed793cd46c7f1d4bae79267b8bddbb050e407e62a26efafbb9a76aec3dcdd89bc1404fbe9d6d61ec807021f85a27a604a3dc768ff8ccab655 languageName: node linkType: hard -"@jupyterlab/mermaid@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/mermaid@npm:4.1.2" +"@jupyterlab/mermaid@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/mermaid@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 mermaid: ^10.7.0 - checksum: b7f42636e0b740f25966303a3100134bb04966afcbd6e00560c9af2692d61a5c7112ffde38163c62019a5d027e91e76e56f8fea4b2dd84261fdc4b8a747b2ae9 + checksum: 1d486286ae49606ff1f831332906aa7cc5519008cf453b41c0800f936dde8841e8c822ab8a97ec6c5f7232f0f63e829566343258e12b510c212e6febc44100f7 languageName: node linkType: hard -"@jupyterlab/metadataform-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/metadataform-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/metadataform": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/metadataform-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/metadataform-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/metadataform": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 - checksum: 1b0e1958382bd80e5e39ec304fc488f4147cd2684890cc6c46f5863f55cabd574be45011d2100dbc49deae47a14954dfde658ebb1ee78f981be77f4d19a27007 + checksum: c6d3ed922d325e9dc7fbc62cf9151471472442c85964b50a6afc5894e04c39963185a2426db587ca6433f6ec0ff162d61a2855a6d69bef39cc1d4ae4b8c39fde languageName: node linkType: hard -"@jupyterlab/metadataform@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/metadataform@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/metadataform@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/metadataform@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 @@ -1772,53 +1771,53 @@ __metadata: "@rjsf/validator-ajv8": ^5.13.4 json-schema: ^0.4.0 react: ^18.2.0 - checksum: 2ba7b1ff4c4db75a0fe9889f113ca2037b1962cff5e51316691f54554f97152a868836042521043f6149f4a815b4ec77e765f97b854576ce47746757685bfff0 + checksum: 22b36749fef779943695c62cbc3ebe6847a7d8cf97c83dcae164d3357ce4c8fd56218e61845e5299d568ade3e78bc817c4657cb8fbe35ab2bf6d0d8f4b578dfa languageName: node linkType: hard -"@jupyterlab/nbformat@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/nbformat@npm:4.1.2" +"@jupyterlab/nbformat@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/nbformat@npm:4.2.0-alpha.0" dependencies: "@lumino/coreutils": ^2.1.2 - checksum: 6c55337b667dcc5a6282f93972a30d227ba7c3f576fc4b60069408dd114dff1bc9f743bb6f984da088dfda25b7c4f25f13a472cd5c05b24af2e32b6b17172c6b + checksum: 8e564a2fc8caa90d2b92dce3369b4f91e88df1bf56d23e97818012fa2d99a44423db230d67c2ef9c0b13e6e673ede670a79df96676a95b2318f4c286d3b111fc languageName: node linkType: hard -"@jupyterlab/notebook-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/notebook-extension@npm:4.1.2" +"@jupyterlab/notebook-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/notebook-extension@npm:4.2.0-alpha.0" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docmanager-extension": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/metadataform": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/property-inspector": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/metadataform": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/property-inspector": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -1828,32 +1827,32 @@ __metadata: "@lumino/widgets": ^2.3.1 "@rjsf/utils": ^5.13.4 react: ^18.2.0 - checksum: 5061f931dbaf29913b5d8868333213a8c708bab06f7646997f75e922737a87abdea0654d2f141353a87eca16899ae3e62828a3dd284b875c938afae2e40284e8 + checksum: d96055dc3bdaa1435f30def36ba7e16d9ee5f2a4c183ef8bcd513122f010ef1fdb25b57a97e36d0dc6909e9d149447f23cd89279c091c24a0b75d6bfa358db17 languageName: node linkType: hard -"@jupyterlab/notebook@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/notebook@npm:4.1.2" +"@jupyterlab/notebook@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/notebook@npm:4.2.0-alpha.0" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -1865,34 +1864,34 @@ __metadata: "@lumino/virtualdom": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 4f930f0b394d327466691b7702da9a12a147f1bd66e296cf563c1904bf822a44d1c9c719f970f5d08f4b093133a385bbf4a4683fd345d516eca8b0a768739e2c + checksum: 671395d51982b8604871205d847cb1f8cf6019eb8e7865d1616247b19c96bfc4481210064f3a7b131b091904e18e064d0c7d464fe0aef1b5b5525e1d1083772d languageName: node linkType: hard -"@jupyterlab/observables@npm:~5.1.2": - version: 5.1.2 - resolution: "@jupyterlab/observables@npm:5.1.2" +"@jupyterlab/observables@npm:~5.2.0-alpha.0": + version: 5.2.0-alpha.0 + resolution: "@jupyterlab/observables@npm:5.2.0-alpha.0" 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 + checksum: 1de63324efbe2ca9be84b814d88bc5f828608d104b3f6a3a179d863976f046b0c8de7b4fce703628b6826ff0ada0c3480e0c2791cf77f1045744d9bf451cd404 languageName: node linkType: hard -"@jupyterlab/outputarea@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/outputarea@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/outputarea@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/outputarea@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -1900,201 +1899,201 @@ __metadata: "@lumino/properties": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 985e9a3239b1eb8c0166a8d0e4dfe7068fdfbbb1bc73ba45e988b275a4e5db30bee7868e32a230b4d7e550685926eeb295464d4d948e92c519ce109d1163621e + checksum: 1e2a3c5ef37b4b4efed8700bdfe2547323adf2fa8df0650951a8aa70557cf4a40ad3288e7dee3785d881757f0cd26d78cff331ede65ef44b98762fbef9c8fcc9 languageName: node linkType: hard -"@jupyterlab/pdf-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/pdf-extension@npm:4.1.2" +"@jupyterlab/pdf-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/pdf-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 36ffa469d1ecf73c6da194453f0dcc288b0b0b99b7607d4b85c3999f59e9bb2a9d8376019b7b17ceafa32858448a4066c80f5bcbdd0f7bb599e5e0900673f998 + checksum: 0f964a455c22c9019d2adea4b87aa2846786a9e7e5638c6137b03077e96542b054a84264eca4b1a0111d6a6e1033106169d1e734817b90ae408b6da903d0bcb2 languageName: node linkType: hard -"@jupyterlab/pluginmanager-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/pluginmanager-extension@npm:4.1.2" +"@jupyterlab/pluginmanager-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/pluginmanager-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/pluginmanager": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/pluginmanager": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 - checksum: 2c001a2411410e0d23e025786349249e2b17c3eaa87361f2e3224d6e114f5270212a6936ed66d87d89ae7b47e0b88f84ef16fa17a2121beb6a260b5ae7908585 + checksum: caaaf138f61155b56be5556ee9e3281e5af8ed16bff6447ba928f1bb54e2eb7d53a57e395057f63567846eb92541bf9895727aa02d6d60c51b17aa360e663aac languageName: node linkType: hard -"@jupyterlab/pluginmanager@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/pluginmanager@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/pluginmanager@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/pluginmanager@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: ea3f22e67bc458ede345952b0785d292778700e2b2f5c59e32014781ca405e0ffc70e8244107449bfd58223516ea382b72ae7e739dab061deb0e8c52b20b00eb + checksum: e2ee57b8cf12abf13ed436070a7cfc4d5fb2ac49586f652db0d05dc9c5af6b91f6e42d807bdbba620e30dfcf17594f1ab91945c36752079030fa6a1f62426a15 languageName: node linkType: hard -"@jupyterlab/property-inspector@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/property-inspector@npm:4.1.2" +"@jupyterlab/property-inspector@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/property-inspector@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: f5ebe882da4a8166455c05d77eee0d71ac17b106a2d9d1f676e86bef64bf8848c0dcfadf839ba72d611d98931eb5e216a82a4815929fb5e554dc1c4087e67ce7 + checksum: 8c1235487f4af87fe4b75e7178818d30066bc76733dcfa4bd43882565e7b8258c339ac7b06908a274103bff643cf9c5be01c314d43ae1d537b4744719764fad3 languageName: node linkType: hard -"@jupyterlab/rendermime-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/rendermime-extension@npm:4.1.2" +"@jupyterlab/rendermime-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/rendermime-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: 635942a6e3a741ad19bab1969129205c0d1d1acc58710dd90f383fe3faf9ebf34c944264f3390fd4f9f3d764247dcafcb2a899c7ac28fc6cbcf4914577aa327d + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 0ce33d64ca303825c4b4508b2094dcfe1bdd01dab9dc3a582e1db7805b243c078c2428900768aba7d89ac575331758193138b02dcfd68a040679c129c9cf4040 languageName: node linkType: hard -"@jupyterlab/rendermime-interfaces@npm:~3.9.2": - version: 3.9.2 - resolution: "@jupyterlab/rendermime-interfaces@npm:3.9.2" +"@jupyterlab/rendermime-interfaces@npm:~3.10.0-alpha.0": + version: 3.10.0-alpha.0 + resolution: "@jupyterlab/rendermime-interfaces@npm:3.10.0-alpha.0" dependencies: "@lumino/coreutils": ^1.11.0 || ^2.1.2 "@lumino/widgets": ^1.37.2 || ^2.3.1 - checksum: 65d6d4fe8c241b9f1267058db43a8fca01ee9fb6a67a267826accfdd0a9e71f2143fcad778b5c6d8b5bf825440ee9b040088253866e8e1a840b7276fba266b88 + checksum: 127a0f6722104ca549c2fcae0673fc1b66f32e648034d23ed0601c0f53957476ad17b7c4e818f98707404c0f43ef2f112dc0fac78b9a391697a09535fda17339 languageName: node linkType: hard -"@jupyterlab/rendermime@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/rendermime@npm:4.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/rendermime@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/rendermime@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 lodash.escape: ^4.0.1 - checksum: bcd161b0d78d2fe1051eaf10bafb70ffacc44ae946ee331acbc6112ecf100995e07204fe00b9f5abb5d60b4fd5b6899eaad7a44a921af42c2c4f39abecee7ab7 + checksum: 1f11eedc5a667240348a7fd735dba0b8b53c88edee7df4ca1ffdacb88b74e86bac2afff0ac031cc7f15bdd97edfbf175baf8151f3a7aa9a629b991914dce2587 languageName: node linkType: hard -"@jupyterlab/running-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/running-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/running-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/running-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/polling": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: af69cf5fb634f8e1fe7469594015e1a1eacb6efb2cb9cdb815403dfa09ede2756531b4a74e99dd1db85bc0367f22359c3be10cd02c29155a868a694047aa9463 + checksum: 34623758fd334009ff7a77fd61f0d590fdb6ab3b7ac520b81f48e71620a5d256c1b66053a38cdfdc7b35e0fd1d18715ae1cc1262fbeb41d86f1f9e1561008568 languageName: node linkType: hard -"@jupyterlab/running@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/running@npm:4.1.2" +"@jupyterlab/running@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/running@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 526ff484bc5790dbc10c344be77b91b0892d61f27603781450bb3fc421fc2da9f99ac2c65e1d8604fce1dc4a4f4f45e099d97187a21f9d8343b9008570883d1f + checksum: d12fac8da1eeb4e4d98821eff5ae4da424bb13ab126b1a0b8a96d0d79f26a313a09fcc7abc6a633fb4ffc3c08fede958e44328c9619599c80929ff458a900893 languageName: node linkType: hard -"@jupyterlab/services@npm:~7.1.2": - version: 7.1.2 - resolution: "@jupyterlab/services@npm:7.1.2" +"@jupyterlab/services@npm:~7.2.0-alpha.0": + version: 7.2.0-alpha.0 + resolution: "@jupyterlab/services@npm:7.2.0-alpha.0" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/polling": ^2.1.2 "@lumino/properties": ^2.0.1 "@lumino/signaling": ^2.1.2 ws: ^8.11.0 - checksum: 405efdfb53e0431d9b3551b2a542ec649e53246dea935437989a222a10e5acc6aa855b2161e613d81a57836e09920718c7a8912e48ea64bbcec6ba71efa23162 + checksum: a142678101a2f6d98b610f5a6ecfd613086bb92b56a394f2d134fa8ad1fd6c000ec57e805eaa9838180c6cab78880746cbd824e89bd69ef52d1d1b76d339793b languageName: node linkType: hard -"@jupyterlab/settingeditor-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/settingeditor-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/pluginmanager": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingeditor": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/settingeditor-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/settingeditor-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/pluginmanager": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingeditor": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/disposable": ^2.1.2 - checksum: eca46a7c568ee293b172510fe590d5debdf65a3eb72fc95d828a877e24d60ace9cdd63196b756fedb8b79a09ed558e2a0ba19995834d62911d6ee15a7e74eae4 + checksum: 8b81914d2a0374f18360ad19f4ed6ead39d86205f182ecdfb02beb5ee185681a1fd2871bebd256d15e4c71c765cbe93927a639c8feb19634167aa3943139c2d3 languageName: node linkType: hard -"@jupyterlab/settingeditor@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/settingeditor@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/inspector": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/settingeditor@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/settingeditor@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/inspector": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2108,16 +2107,16 @@ __metadata: "@rjsf/validator-ajv8": ^5.13.4 json-schema: ^0.4.0 react: ^18.2.0 - checksum: f5a5a6be00de7e7d495471836ba9a911aa3127de69f36cdad1a6f4a5aa79ad16e4b8907ae14cc67d218a618ce0e157d6b525f813d2c09372b3b5456d9de688ab + checksum: 92193e4e5ba6b0736f42c88f9a122542db4d7c2390cb64f19bdde46501aa4acbf9162f5631f4be2d30eb379cb6f85098008f4ba9befef2ec0964fed0ed71152a languageName: node linkType: hard -"@jupyterlab/settingregistry@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/settingregistry@npm:4.1.2" +"@jupyterlab/settingregistry@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/settingregistry@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2127,18 +2126,18 @@ __metadata: json5: ^2.2.3 peerDependencies: react: ">=16" - checksum: a0a1f9d3747caa3ac6e523df64b4023f9d3bc1c1c9a2982cdf8113a5ba3f191e10cd8a897e9bff111b9faa834b48c0666a6b03ce3749c9f9e5ffb43b9331c207 + checksum: a9897bf595e0401c45f0e3d7c3ef887ab4509a300c385695bb075c4d6c901314cbad494b1c72ef9d97abe71f9e9155c8862eb01029151cf598dff35fc7dbc10c languageName: node linkType: hard -"@jupyterlab/shortcuts-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/shortcuts-extension@npm:4.1.2" +"@jupyterlab/shortcuts-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/shortcuts-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2147,41 +2146,41 @@ __metadata: "@lumino/keyboard": ^2.0.1 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 6498fc7f7b9e9e77688230394aa09a0af4d8c9793a97dbb6135b939b96d3a2903299f829b8d4b4baf770c2e464af713060785f54e28fe8b688a4dcfd1d5fa85c + checksum: f8b852086ab9d5ec0122b9d16b4a7c297420f70fd1ffd5e7c7add280b794ebb496231995c3124db35c78891b739e655348f0702ad0bd2b335320bca6b842a01a languageName: node linkType: hard -"@jupyterlab/statedb@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/statedb@npm:4.1.2" +"@jupyterlab/statedb@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/statedb@npm:4.2.0-alpha.0" 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 + checksum: 37ad521f725952c858c81518330e4549fb1bf6e19c3e838b743da555bb403da41c8260dc7bc0eb57f7816ffdb95a915c1f32f94dc2cd8cd2e52d31a89d84f256 languageName: node linkType: hard -"@jupyterlab/statusbar-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/statusbar-extension@npm:4.1.2" +"@jupyterlab/statusbar-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/statusbar-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: e16349914108155d436074c8e096b9cbef5c0502dfa88508504f3a4b1ab67688bd747d4aabbbb08e90fa58bee34509952ade8163ae7d94c2644f2d0046b6f982 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: f6fca0df3b84870755891405811ae434bf19f6d3ecf83ce228255a9cd90ca0c588624c25ce334bef400fd692615abbcc0f0ffcdab4b6c3640af2640e01452f92 languageName: node linkType: hard -"@jupyterlab/statusbar@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/statusbar@npm:4.1.2" +"@jupyterlab/statusbar@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/statusbar@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2189,36 +2188,36 @@ __metadata: "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: 4d3e23149cbb6ded2741af5c0cd60f26c37ab36f4bae1c43e847e16559b2a779de85c0474ccd81f0f3decd2d4e6019a202681989a06a095762ad85105f6c1458 + checksum: 27557f93925ffdfbf8ea4e4a1f875f5287452f78395ee09839a3450a91c614460c08fdbdde72d0a7e856f370fa817b4b44954b813dd1281fbce3dd0f24de8320 languageName: node linkType: hard -"@jupyterlab/terminal-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/terminal-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/terminal": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/terminal-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/terminal-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/terminal": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/widgets": ^2.3.1 - checksum: baed20b53d5a91c15e058f7eb827d182213064e8015bf4ea7b7950648aa537615a8e48c85fd226209d8c90df247fc796119dbdcc3b11ae309e4e487d82b4d3f3 + checksum: 81ccfaf57bd6b8e04f032fe7903f0dcbdf18a0ca1b25127fd0227885724c28f1976ff57bdcb6e33befb41ce0460000cbe46ebe2404087b3f842e802468de8ec2 languageName: node linkType: hard -"@jupyterlab/terminal@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/terminal@npm:4.1.2" +"@jupyterlab/terminal@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/terminal@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/domutils": ^2.0.1 "@lumino/messaging": ^2.0.1 @@ -2228,149 +2227,149 @@ __metadata: xterm-addon-fit: ~0.7.0 xterm-addon-web-links: ~0.8.0 xterm-addon-webgl: ~0.14.0 - checksum: 096cfb76d773870a3ea90f03d657fd84e8bfbabb9fea93d6c87526dae7edfa231ca6a408602655a45f233ab4a9c93213d4ebb7c89a7554f1f9be70f86fb2ac14 + checksum: 004e4974a2d42d031424b50d43ed2ede81c8a3728ca7b32f249836959844970cb39b5eaba65b436eedba7622d167f18022d6da7e943f9d9fba2e5527acaca910 languageName: node linkType: hard -"@jupyterlab/theme-dark-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/theme-dark-extension@npm:4.1.2" +"@jupyterlab/theme-dark-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/theme-dark-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - checksum: 8ad85cadb1d3c6c95f44b72d200e358804cb41a57a2a04d7c2d9a4a05179e7eac91ed4849ed31d1aaa8700db395518579776d4caaa7e442c0f3c8e29ce7b5324 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 24441ab85b3c4cf43d00fc91c775d3d19c35d97251a9ce958753b76509e87fb5a68626b9ea5634312be8108e81f392ca8f5f925a9e3c0db115a13aafbc2ec480 languageName: node linkType: hard -"@jupyterlab/theme-light-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/theme-light-extension@npm:4.1.2" +"@jupyterlab/theme-light-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/theme-light-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - checksum: cf77a22723263499d79e40216154ba91752044c3927cac937e59cbccc5d856dfd37f558a6a81c20874a61fa1b2dc5a2feeb5667b9ccb83a6d7ec27593d5ef630 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 9024ea3e69f5afc7e1d664867d0aaf9d44dde49c89c24b82bfd7a5391e9ef49eb4ac2296e4203753621468bed6aea6181186aad27e49f29884e43ad65dc59217 languageName: node linkType: hard -"@jupyterlab/toc-extension@npm:~6.1.2": - version: 6.1.2 - resolution: "@jupyterlab/toc-extension@npm:6.1.2" +"@jupyterlab/toc-extension@npm:~6.2.0-alpha.0": + version: 6.2.0-alpha.0 + resolution: "@jupyterlab/toc-extension@npm:6.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 - checksum: d7782b63694a68f143d3a8f80302bfa4067b876bdf6d76287d142ce4f2bef8a1297c84e3c39f9188016591ce5bd28809eda50f1275151fb793a393bed1490c71 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 + checksum: 8cad3306a82c748c0d7e614dae5fe6e67c5c9eb931f605cf99578ac9444667375bb12e8a8f83ddc15e9e1cbc0dd982c92f1c79a0ab61689678324fa02190578a languageName: node linkType: hard -"@jupyterlab/toc@npm:~6.1.2": - version: 6.1.2 - resolution: "@jupyterlab/toc@npm:6.1.2" - dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 +"@jupyterlab/toc@npm:~6.2.0-alpha.0": + version: 6.2.0-alpha.0 + resolution: "@jupyterlab/toc@npm:6.2.0-alpha.0" + dependencies: + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 react: ^18.2.0 - checksum: c27dd73daadd90c90cb500ff4c9a729faf078b5151fcf7e9605a8b4216b7fdc9729b0081742886519018fd02581adab7a7a8d12684826d9c651b7ab6c002e9aa + checksum: aa89e6ff84692e731b2ac24946f0ef092d976d0cdccdce1c100217a01683601e6d5811180cc26f71ed53553e3662e776f4b15c1d0e60f1d7819e291f27c0bceb languageName: node linkType: hard -"@jupyterlab/tooltip-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/tooltip-extension@npm:4.1.2" - dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/tooltip": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 +"@jupyterlab/tooltip-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/tooltip-extension@npm:4.2.0-alpha.0" + dependencies: + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/tooltip": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 - checksum: 9cb9e96bc1be5ecec1b691dfb480dc7d7693264dd1632a119351cadc731fc00e6f624a2b13fcf190fc89bbd3f9624a6e0c16750a4bd18a85dc4e787695ce3b8f + checksum: 550e96d8c6d90e76f8463de2f854ba33a7777de44ab074261d8ed7b3501b62a900cb933ec4a15c04502b78f2e374cfd0e517951c195db9290fe1f82a262fb36d languageName: node linkType: hard -"@jupyterlab/tooltip@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/tooltip@npm:4.1.2" +"@jupyterlab/tooltip@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/tooltip@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 - checksum: b45d020215e6714bd7c7950fb582dc94ad219bb395e899a7076f210aba284e5487ec7b1fb554a968db2fb5a3fe92102fe3d0ad251992ae039d7ff1390e656acb + checksum: f018ffe0e455d92c116516a3b9110df5e7442951988fd802b811b7d48f03de98de50c06e3d3033f03ceb8106fba4c1e8eaaa98ceb79b73e1b7d94e53d6f7452a languageName: node linkType: hard -"@jupyterlab/translation-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/translation-extension@npm:4.1.2" +"@jupyterlab/translation-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/translation-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - checksum: b91f021646751ea185eee604f1f4b1a454e7423f67420ac95990d65566efe65fcce072bdbbb9d0cc8cfa0ed6031f537680b8a6327587414ba3535f5d72c7bf38 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + checksum: 25b2c6e79b0adf5a1933cf57e5f5284c83f0cb4860360fff788acf6fc4f9cb37b84e5c3c082eafb41dcd3c56784d41021ac2cec284910853c75ad29ecdafe2d7 languageName: node linkType: hard -"@jupyterlab/translation@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/translation@npm:4.1.2" +"@jupyterlab/translation@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/translation@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 - checksum: e8261be05ff642434b8c1b439305e464f6c38eea2d1cfbdb38d1ac4922d6df88f157dd1593674c0a3ed90082763bd313610187b1a5007027aa275ed8ed5301e1 + checksum: 50f81e0d3098eee52169b7e6ee88c86d71c4d93c48ae128cf56df6d0789693ccdaa54a0bc5c3b45880e6308b58037ceb00380ee6e15ff4dbac025ff4c9c574d6 languageName: node linkType: hard -"@jupyterlab/ui-components-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/ui-components-extension@npm:4.1.2" +"@jupyterlab/ui-components-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/ui-components-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 - checksum: cdce3a38d76a93a7f36f41215b3af6602fb4f54fac5e39770f7b6ccbb00557802797b79eb53d89af9a247807b419f4b0932932eb1af30a9dedf91a49ead86b65 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 + checksum: 7abf257f7938617478bae77c52e71494392c1fc56c5cc208b143ba3456941bf640ca4d4c6eb88423bcb232e4bae8c500068b96916edc9fd3fcbefdaef3d646a4 languageName: node linkType: hard -"@jupyterlab/ui-components@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/ui-components@npm:4.1.2" +"@jupyterlab/ui-components@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/ui-components@npm:4.2.0-alpha.0" 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 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2388,21 +2387,21 @@ __metadata: typestyle: ^2.0.4 peerDependencies: react: ^18.2.0 - checksum: d4c0141802dc62bc9eb7f79b01c83b795798d131ff224653a0f8c63881e45e28c8de565303db2be34ba09ba42f5503c5979897ae5b46e8fe923e0fedc21cc8eb + checksum: e6cabefec154c7b8ddc2b261eb978f604135b28860fc50ad90b36fb00459e751c293505f3b0e5cf2ffac21186823efd8e707f4e9b57e0a986de03e0d3a06e264 languageName: node linkType: hard -"@jupyterlab/vega5-extension@npm:~4.1.2": - version: 4.1.2 - resolution: "@jupyterlab/vega5-extension@npm:4.1.2" +"@jupyterlab/vega5-extension@npm:~4.2.0-alpha.0": + version: 4.2.0-alpha.0 + resolution: "@jupyterlab/vega5-extension@npm:4.2.0-alpha.0" dependencies: - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 vega: ^5.20.0 vega-embed: ^6.2.1 vega-lite: ^5.6.1-next.1 - checksum: af1357d4f864ee397eedb9e1907c97fa0d6d7e6dcf704f301fc791ee0a447886dceee861317395cfc395ef8b6097d48794d65139ece6be82ef8f2148759fc9c5 + checksum: f477c274af37ddd389fb77d8a41a2a5687b3f0ce93c5bbdc0a2d58b6ccab35e5c6f415d96674f0c2aecd0f5dc9a6bc8bdeee02be1a43470a67548d4840c7d3ba languageName: node linkType: hard @@ -4359,13 +4358,6 @@ __metadata: languageName: node linkType: hard -"child_process@npm:~1.0.2": - version: 1.0.2 - resolution: "child_process@npm:1.0.2" - checksum: bd814d82bc8c6e85ed6fb157878978121cd03b5296c09f6135fa3d081fd9a6a617a6d509c50397711df713af403331241a9c0397a7fad30672051485e156c2a1 - languageName: node - linkType: hard - "chokidar@npm:^3.4.0": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -5500,7 +5492,18 @@ __metadata: languageName: node linkType: hard -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: ^2.3.0 + domhandler: ^5.0.2 + entities: ^4.2.0 + checksum: cd1810544fd8cdfbd51fa2c0c1128ec3a13ba92f14e61b7650b5de421b88205fd2e3f0cc6ace82f13334114addb90ed1c2f23074a51770a8e9c1273acbc7f3e6 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 @@ -5525,6 +5528,15 @@ __metadata: languageName: node linkType: hard +"domhandler@npm:^5.0.1, domhandler@npm:^5.0.2": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: ^2.3.0 + checksum: 0f58f4a6af63e6f3a4320aa446d28b5790a009018707bce2859dcb1d21144c7876482b5188395a188dfa974238c019e0a1e610d2fc269a12b2c192ea2b0b131c + languageName: node + linkType: hard + "dompurify@npm:^3.0.5": version: 3.0.5 resolution: "dompurify@npm:3.0.5" @@ -5543,6 +5555,17 @@ __metadata: languageName: node linkType: hard +"domutils@npm:^3.0.1": + version: 3.0.1 + resolution: "domutils@npm:3.0.1" + dependencies: + dom-serializer: ^2.0.0 + domelementtype: ^2.3.0 + domhandler: ^5.0.1 + checksum: 23aa7a840572d395220e173cb6263b0d028596e3950100520870a125af33ff819e6f609e1606d6f7d73bd9e7feb03bb404286e57a39063b5384c62b724d987b3 + languageName: node + linkType: hard + "dot-case@npm:^3.0.4": version: 3.0.4 resolution: "dot-case@npm:3.0.4" @@ -5703,6 +5726,13 @@ __metadata: languageName: node linkType: hard +"entities@npm:^4.2.0, entities@npm:^4.3.0": + version: 4.4.0 + resolution: "entities@npm:4.4.0" + checksum: 84d250329f4b56b40fa93ed067b194db21e8815e4eb9b59f43a086f0ecd342814f6bc483de8a77da5d64e0f626033192b1b4f1792232a7ea6b970ebe0f3187c2 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -6548,7 +6578,7 @@ __metadata: languageName: node linkType: hard -"htmlparser2@npm:^6.0.0, htmlparser2@npm:^6.1.0": +"htmlparser2@npm:^6.1.0": version: 6.1.0 resolution: "htmlparser2@npm:6.1.0" dependencies: @@ -6560,6 +6590,18 @@ __metadata: languageName: node linkType: hard +"htmlparser2@npm:^8.0.0": + version: 8.0.1 + resolution: "htmlparser2@npm:8.0.1" + dependencies: + domelementtype: ^2.3.0 + domhandler: ^5.0.2 + domutils: ^3.0.1 + entities: ^4.3.0 + checksum: 06d5c71e8313597722bc429ae2a7a8333d77bd3ab07ccb916628384b37332027b047f8619448d8f4a3312b6609c6ea3302a4e77435d859e9e686999e6699ca39 + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -6774,9 +6816,9 @@ __metadata: linkType: hard "ip@npm:^2.0.0": - version: 2.0.0 - resolution: "ip@npm:2.0.0" - checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 + version: 2.0.1 + resolution: "ip@npm:2.0.1" + checksum: d765c9fd212b8a99023a4cde6a558a054c298d640fec1020567494d257afd78ca77e37126b1a3ef0e053646ced79a816bf50621d38d5e768cdde0431fa3b0d35 languageName: node linkType: hard @@ -9404,17 +9446,17 @@ __metadata: languageName: node linkType: hard -"sanitize-html@npm:~2.7.3": - version: 2.7.3 - resolution: "sanitize-html@npm:2.7.3" +"sanitize-html@npm:~2.12.1": + version: 2.12.1 + resolution: "sanitize-html@npm:2.12.1" dependencies: deepmerge: ^4.2.2 escape-string-regexp: ^4.0.0 - htmlparser2: ^6.0.0 + htmlparser2: ^8.0.0 is-plain-object: ^5.0.0 parse-srcset: ^1.0.2 postcss: ^8.3.11 - checksum: 2399d1fdbbc3a263fb413c1fe1971b3dc2b51abc6cc5cb49490624539d1c57a8fe31e2b21408c118e2a957f4e673e3169b1f9a5807654408f17b130a9d78aed7 + checksum: fb96ea7170d51b5af2607f5cfd84464c78fc6f47e339407f55783e781c6a0288a8d40bbf97ea6a8758924ba9b2d33dcc4846bb94caacacd90d7f2de10ed8541a languageName: node linkType: hard diff --git a/jupyterlab/tests/mock_packages/extension/package.json b/jupyterlab/tests/mock_packages/extension/package.json index 9d4e12d77084..96763b5d1147 100644 --- a/jupyterlab/tests/mock_packages/extension/package.json +++ b/jupyterlab/tests/mock_packages/extension/package.json @@ -1,12 +1,12 @@ { "name": "@jupyterlab/mock-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "dependencies": { - "@jupyterlab/launcher": "^4.1.2" + "@jupyterlab/launcher": "^4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2" + "@jupyterlab/builder": "^4.2.0-alpha.0" }, "jupyterlab": { "extension": true, diff --git a/jupyterlab/tests/mock_packages/interop/consumer/package.json b/jupyterlab/tests/mock_packages/interop/consumer/package.json index 720f2edb6f7c..a7d46fea7908 100644 --- a/jupyterlab/tests/mock_packages/interop/consumer/package.json +++ b/jupyterlab/tests/mock_packages/interop/consumer/package.json @@ -1,12 +1,12 @@ { "name": "@jupyterlab/mock-consumer", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "dependencies": { - "@jupyterlab/mock-token": "^4.1.2" + "@jupyterlab/mock-token": "^4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2" + "@jupyterlab/builder": "^4.2.0-alpha.0" }, "jupyterlab": { "extension": true, diff --git a/jupyterlab/tests/mock_packages/interop/provider/package.json b/jupyterlab/tests/mock_packages/interop/provider/package.json index 61992396964c..9be9e368bf6e 100644 --- a/jupyterlab/tests/mock_packages/interop/provider/package.json +++ b/jupyterlab/tests/mock_packages/interop/provider/package.json @@ -1,12 +1,12 @@ { "name": "@jupyterlab/mock-provider", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "dependencies": { - "@jupyterlab/mock-token": "^4.1.2" + "@jupyterlab/mock-token": "^4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/builder": "^4.1.2" + "@jupyterlab/builder": "^4.2.0-alpha.0" }, "jupyterlab": { "extension": true diff --git a/jupyterlab/tests/mock_packages/interop/token/package.json b/jupyterlab/tests/mock_packages/interop/token/package.json index 17915f3b8d7f..a280dfe1786b 100644 --- a/jupyterlab/tests/mock_packages/interop/token/package.json +++ b/jupyterlab/tests/mock_packages/interop/token/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/mock-token", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "dependencies": { "@lumino/coreutils": "^2.1.2" diff --git a/packages/application-extension/package.json b/packages/application-extension/package.json index 151af53d12f4..1c5ffd0c64bd 100644 --- a/packages/application-extension/package.json +++ b/packages/application-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/application-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Application Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,15 +38,15 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/property-inspector": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/property-inspector": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", diff --git a/packages/application/package.json b/packages/application/package.json index c24fe40757a8..25afebe95587 100644 --- a/packages/application/package.json +++ b/packages/application/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/application", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Application", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -43,15 +43,15 @@ }, "dependencies": { "@fortawesome/fontawesome-free": "^5.12.0", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/application": "^2.3.0", "@lumino/commands": "^2.2.0", @@ -64,7 +64,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/application/src/lab.ts b/packages/application/src/lab.ts index 87b284494a17..d1e205819b67 100644 --- a/packages/application/src/lab.ts +++ b/packages/application/src/lab.ts @@ -199,72 +199,6 @@ export class JupyterLab extends JupyterFrontEnd { }); } - /** - * Override keydown handling to prevent command shortcuts from preventing user input. - * - * This introduces a slight delay to the command invocation, but no delay to user input. - */ - protected evtKeydown(event: KeyboardEvent): void { - // Process select keys which may call `preventDefault()` immediately - if ( - ['Tab', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'].includes( - event.key - ) - ) { - return this.commands.processKeydownEvent(event); - } - // Process remaining events conditionally, depending on whether they would lead to text insertion - const causesInputPromise = Promise.race([ - new Promise(resolve => { - if (!event.target) { - return resolve(false); - } - event.target.addEventListener( - 'beforeinput', - (inputEvent: InputEvent) => { - switch (inputEvent.inputType) { - case 'historyUndo': - case 'historyRedo': { - if ( - inputEvent.target instanceof Element && - inputEvent.target.closest('[data-jp-undoer]') - ) { - // Allow to use custom undo/redo bindings on `jpUndoer`s - inputEvent.preventDefault(); - return resolve(false); - } - break; - } - case 'insertLineBreak': { - if ( - inputEvent.target instanceof Element && - inputEvent.target.closest('.jp-Cell') - ) { - // Allow to override the default action of Shift + Enter on cells as this is used for cell execution - inputEvent.preventDefault(); - return resolve(false); - } - break; - } - } - return resolve(true); - }, - { once: true } - ); - }), - new Promise(resolve => { - setTimeout(() => resolve(false), Private.INPUT_GUARD_TIMEOUT); - }) - ]); - causesInputPromise - .then(willCauseInput => { - if (!willCauseInput) { - this.commands.processKeydownEvent(event); - } - }) - .catch(console.warn); - } - private _info: JupyterLab.IInfo = JupyterLab.defaultInfo; private _paths: JupyterFrontEnd.IPaths; private _allPluginsActivated = new PromiseDelegate(); @@ -439,18 +373,3 @@ export namespace JupyterLab { | JupyterFrontEndPlugin[]; } } - -/** - * A namespace for module-private functionality. - */ -namespace Private { - /** - * The delay for invoking a command introduced by user input guard. - * Decreasing this value may lead to commands incorrectly triggering - * on user input. Increasing this value will lead to longer delay for - * command invocation. Note that user input is never delayed. - * - * The value represents the number in milliseconds. - */ - export const INPUT_GUARD_TIMEOUT = 10; -} diff --git a/packages/apputils-extension/package.json b/packages/apputils-extension/package.json index c93367dc1826..30ed885d0cb5 100644 --- a/packages/apputils-extension/package.json +++ b/packages/apputils-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/apputils-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Application Utilities Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,19 +38,19 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", diff --git a/packages/apputils/package.json b/packages/apputils/package.json index e33ca950b9c4..f523febfb253 100644 --- a/packages/apputils/package.json +++ b/packages/apputils/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/apputils", - "version": "4.2.2", + "version": "4.3.0-alpha.0", "description": "JupyterLab - Application Utilities", "keywords": [ "jupyter", @@ -45,15 +45,15 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", @@ -68,7 +68,7 @@ "sanitize-html": "~2.12.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/sanitize-html": "^2.11.0", "jest": "^29.2.0", diff --git a/packages/attachments/package.json b/packages/attachments/package.json index 4c9872dd5d44..e244682a6693 100644 --- a/packages/attachments/package.json +++ b/packages/attachments/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/attachments", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Notebook Cell Attachments", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,10 +37,10 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", "@lumino/disposable": "^2.1.2", "@lumino/signaling": "^2.1.2" }, diff --git a/packages/cell-toolbar-extension/package.json b/packages/cell-toolbar-extension/package.json index 30d2451d5d21..dc639b12174c 100644 --- a/packages/cell-toolbar-extension/package.json +++ b/packages/cell-toolbar-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/cell-toolbar-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "Extension for cell toolbar adapted from jlab-enhanced-cell-toolbar", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -34,11 +34,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cell-toolbar": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cell-toolbar": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/cell-toolbar/package.json b/packages/cell-toolbar/package.json index 2b28f1cbaef5..920642aa488c 100644 --- a/packages/cell-toolbar/package.json +++ b/packages/cell-toolbar/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/cell-toolbar", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "Contextual cell toolbar adapted from jlab-enhanced-cell-toolbar", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -41,12 +41,12 @@ }, "dependencies": { "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/disposable": "^2.1.2", @@ -54,7 +54,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/cells/package.json b/packages/cells/package.json index bd31e8aad8d3..4ebfcab981df 100644 --- a/packages/cells/package.json +++ b/packages/cells/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/cells", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Notebook Cells", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -46,21 +46,21 @@ "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.9.6", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/attachments": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/outputarea": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/attachments": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/outputarea": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/domutils": "^2.0.1", @@ -73,7 +73,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/react": "^18.0.26", "jest": "^29.2.0", diff --git a/packages/celltags-extension/package.json b/packages/celltags-extension/package.json index c33b87f6cc2e..65befb7d2e7f 100644 --- a/packages/celltags-extension/package.json +++ b/packages/celltags-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/celltags-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "An extension for manipulating tags in cell metadata", "keywords": [ "jupyter", @@ -40,10 +40,10 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@rjsf/utils": "^5.13.4", "react": "^18.2.0" diff --git a/packages/codeeditor/package.json b/packages/codeeditor/package.json index f2a0f2be45af..d259d35e11d0 100644 --- a/packages/codeeditor/package.json +++ b/packages/codeeditor/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/codeeditor", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Abstract Code Editor", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -44,13 +44,13 @@ "dependencies": { "@codemirror/state": "^6.2.0", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/dragdrop": "^2.1.4", @@ -60,7 +60,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/codemirror-extension/package.json b/packages/codemirror-extension/package.json index 684f889bfdd6..ca0a38e737a8 100644 --- a/packages/codemirror-extension/package.json +++ b/packages/codemirror-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/codemirror-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - CodeMirror Provider Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,13 +42,13 @@ "@codemirror/language": "^6.6.0", "@codemirror/legacy-modes": "^6.3.2", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/widgets": "^2.3.1", "@rjsf/utils": "^5.13.4", diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index e7226b527561..af5e31bf44af 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/codemirror", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - CodeMirror Editor Provider", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -59,11 +59,11 @@ "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.9.6", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lezer/common": "^1.0.2", "@lezer/generator": "^1.2.2", "@lezer/highlight": "^1.1.4", @@ -74,7 +74,7 @@ "yjs": "^13.5.40" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@lezer/generator": "^1.2.2", "@lezer/lr": "^1.3.3", "@types/jest": "^29.2.0", diff --git a/packages/codemirror/src/commands.ts b/packages/codemirror/src/commands.ts index 9b30c4d556b8..56b5aaf99a7d 100644 --- a/packages/codemirror/src/commands.ts +++ b/packages/codemirror/src/commands.ts @@ -4,6 +4,7 @@ */ import { + indentLess, indentMore, insertNewlineAndIndent, insertTab @@ -19,6 +20,12 @@ import { */ const CODE_RUNNER_SELECTOR = '[data-jp-code-runner]'; +/** + * Selector for a widget that can open a tooltip. + */ +const TOOLTIP_OPENER_SELECTOR = + '.jp-CodeMirrorEditor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace):not(.jp-mod-completer-active)'; + /** * CodeMirror commands namespace */ @@ -76,4 +83,22 @@ export namespace StateCommands { } return false; } + + /** + * Prevent dedenting when launching inspection request (a.k.a tooltip). + * + * This function should be removed once a better way to prevent default + * CodeMirror commands is implemented, as tracked in + * https://github.com/jupyterlab/jupyterlab/issues/15897 + */ + export function dedentIfNotLaunchingTooltip(target: { + dom: HTMLElement; + state: EditorState; + dispatch: (transaction: Transaction) => void; + }): boolean { + if (target.dom.closest(TOOLTIP_OPENER_SELECTOR)) { + return true; + } + return indentLess(target); + } } diff --git a/packages/codemirror/src/extension.ts b/packages/codemirror/src/extension.ts index 3e0424368772..2c0b65078e67 100644 --- a/packages/codemirror/src/extension.ts +++ b/packages/codemirror/src/extension.ts @@ -2,7 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { closeBrackets, closeBracketsKeymap } from '@codemirror/autocomplete'; -import { defaultKeymap, indentLess } from '@codemirror/commands'; +import { defaultKeymap } from '@codemirror/commands'; import { bracketMatching, foldGutter, @@ -715,7 +715,7 @@ export namespace EditorExtensionRegistry { { key: 'Tab', run: StateCommands.indentMoreOrInsertTab, - shift: indentLess + shift: StateCommands.dedentIfNotLaunchingTooltip } ], factory: () => diff --git a/packages/completer-extension/package.json b/packages/completer-extension/package.json index 31ad166c3659..66aa9f0e68f7 100644 --- a/packages/completer-extension/package.json +++ b/packages/completer-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/completer-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Completer Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,11 +38,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", "@rjsf/utils": "^5.13.4", diff --git a/packages/completer-extension/schema/inline-completer.json b/packages/completer-extension/schema/inline-completer.json index 0655ff8b3ccd..c9105fc7dee2 100644 --- a/packages/completer-extension/schema/inline-completer.json +++ b/packages/completer-extension/schema/inline-completer.json @@ -29,7 +29,8 @@ "properties": { "providers": { "title": "Inline completion providers", - "type": "object" + "type": "object", + "default": {} }, "showWidget": { "title": "Show widget", diff --git a/packages/completer/package.json b/packages/completer/package.json index aa94c45b31c7..59165de40a26 100644 --- a/packages/completer/package.json +++ b/packages/completer/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/completer", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Completer", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -49,16 +49,16 @@ "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.9.6", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -68,7 +68,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/console-extension/package.json b/packages/console-extension/package.json index 03f0b5165de0..73d3f2801beb 100644 --- a/packages/console-extension/package.json +++ b/packages/console-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/console-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Code Console Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,18 +38,18 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", diff --git a/packages/console/package.json b/packages/console/package.json index 6530a97b8a25..bb8c06ddba1f 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/console", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Code Console", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -46,16 +46,16 @@ "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.9.6", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/dragdrop": "^2.1.4", @@ -64,8 +64,8 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/coreutils/package.json b/packages/coreutils/package.json index 99a5414d22db..350bf53fe7e7 100644 --- a/packages/coreutils/package.json +++ b/packages/coreutils/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/coreutils", - "version": "6.1.2", + "version": "6.2.0-alpha.0", "description": "JupyterLab - Core Utilities", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { diff --git a/packages/csvviewer-extension/package.json b/packages/csvviewer-extension/package.json index 30ecb31d9e3f..373a46f853ba 100644 --- a/packages/csvviewer-extension/package.json +++ b/packages/csvviewer-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/csvviewer-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - CSV Widget Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,15 +38,15 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/csvviewer": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/csvviewer": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/datagrid": "^2.3.0", "@lumino/widgets": "^2.3.1" }, diff --git a/packages/csvviewer/package.json b/packages/csvviewer/package.json index dea3003d3601..d17e77eeac92 100644 --- a/packages/csvviewer/package.json +++ b/packages/csvviewer/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/csvviewer", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - CSV Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,10 +42,10 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/datagrid": "^2.3.0", "@lumino/disposable": "^2.1.2", @@ -54,7 +54,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "canvas": "^2.11.2", "csv-spectrum": "^1.0.0", diff --git a/packages/debugger-extension/package.json b/packages/debugger-extension/package.json index 26af5acf654c..718342e9d764 100644 --- a/packages/debugger-extension/package.json +++ b/packages/debugger-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/debugger-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Debugger Extension", "keywords": [ "jupyter", @@ -44,24 +44,24 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/debugger": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/fileeditor": "^4.1.2", - "@jupyterlab/logconsole": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/debugger": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor": "^4.2.0-alpha.0", + "@jupyterlab/logconsole": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/react-dom": "^18.0.9", "rimraf": "~5.0.5", diff --git a/packages/debugger/package.json b/packages/debugger/package.json index c7f6d74d3bb3..c7196688ba93 100644 --- a/packages/debugger/package.json +++ b/packages/debugger/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/debugger", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Debugger Extension", "keywords": [ "jupyter", @@ -52,21 +52,21 @@ "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.9.6", "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/fileeditor": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", @@ -80,7 +80,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "canvas": "^2.11.2", "jest": "^29.2.0", diff --git a/packages/docmanager-extension/package.json b/packages/docmanager-extension/package.json index 6d378ce48991..6d0669a7bf13 100644 --- a/packages/docmanager-extension/package.json +++ b/packages/docmanager-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/docmanager-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Document Manager Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,16 +38,16 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", diff --git a/packages/docmanager/package.json b/packages/docmanager/package.json index 46a01a1ca6a7..b3397b3f70b7 100644 --- a/packages/docmanager/package.json +++ b/packages/docmanager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/docmanager", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Document Manager", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,13 +42,13 @@ "watch": "npm run test -- --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -59,7 +59,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/docregistry/package.json b/packages/docregistry/package.json index ac59471bf71a..e773091255da 100644 --- a/packages/docregistry/package.json +++ b/packages/docregistry/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/docregistry", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Document Registry", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -43,15 +43,15 @@ }, "dependencies": { "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -62,7 +62,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/documentsearch-extension/package.json b/packages/documentsearch-extension/package.json index bf41ad72fa06..435601b8448c 100644 --- a/packages/documentsearch-extension/package.json +++ b/packages/documentsearch-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/documentsearch-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Document Search Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -34,11 +34,11 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/widgets": "^2.3.1" }, diff --git a/packages/documentsearch/package.json b/packages/documentsearch/package.json index 496f41462e1d..8ef262250648 100644 --- a/packages/documentsearch/package.json +++ b/packages/documentsearch/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/documentsearch", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Document Search", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,9 +38,9 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -51,7 +51,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/extensionmanager-extension/package.json b/packages/extensionmanager-extension/package.json index e021ed0f4736..8d421bd142e6 100644 --- a/packages/extensionmanager-extension/package.json +++ b/packages/extensionmanager-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/extensionmanager-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Extension Manager Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -39,12 +39,12 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/extensionmanager": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/extensionmanager": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/extensionmanager/package.json b/packages/extensionmanager/package.json index 9af752f21089..ff58f8325088 100644 --- a/packages/extensionmanager/package.json +++ b/packages/extensionmanager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/extensionmanager", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Extension Manager", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,11 +37,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/messaging": "^2.0.1", "@lumino/polling": "^2.1.2", "@lumino/widgets": "^2.3.1", diff --git a/packages/filebrowser-extension/package.json b/packages/filebrowser-extension/package.json index d076dc8fb207..cc8afb6867d0 100644 --- a/packages/filebrowser-extension/package.json +++ b/packages/filebrowser-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/filebrowser-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Filebrowser Widget Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,18 +38,18 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/widgets": "^2.3.1" diff --git a/packages/filebrowser/package.json b/packages/filebrowser/package.json index 8714a40cabc3..c7e63960e196 100644 --- a/packages/filebrowser/package.json +++ b/packages/filebrowser/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/filebrowser", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - FileBrowser Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,15 +42,15 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -64,7 +64,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/filebrowser/src/browser.ts b/packages/filebrowser/src/browser.ts index cc280bd3133b..cc14df63cf94 100644 --- a/packages/filebrowser/src/browser.ts +++ b/packages/filebrowser/src/browser.ts @@ -2,6 +2,7 @@ // Distributed under the terms of the Modified BSD License. import { showErrorMessage } from '@jupyterlab/apputils'; +import { PathExt } from '@jupyterlab/coreutils'; import { IDocumentManager } from '@jupyterlab/docmanager'; import { Contents, ServerConnection } from '@jupyterlab/services'; import { ITranslator, nullTranslator } from '@jupyterlab/translation'; @@ -252,6 +253,11 @@ export class FileBrowser extends SidePanel { private async _createNew( options: Contents.ICreateOptions ): Promise { + // normalize the path if the file is created from a custom drive + if (options.path) { + const localPath = this._manager.services.contents.localPath(options.path); + options.path = this._toDrivePath(this.model.driveName, localPath); + } try { const model = await this._manager.newUntitled(options); await this.listing.selectItemByName(model.name, true); @@ -403,6 +409,23 @@ export class FileBrowser extends SidePanel { } } + /** + * Given a drive name and a local path, return the full + * drive path which includes the drive name and the local path. + * + * @param driveName: the name of the drive + * @param localPath: the local path on the drive. + * + * @returns the full drive path + */ + private _toDrivePath(driveName: string, localPath: string): string { + if (driveName === '') { + return localPath; + } else { + return `${driveName}:${PathExt.removeSlash(localPath)}`; + } + } + protected listing: DirListing; protected crumbs: BreadCrumbs; protected mainPanel: Panel; diff --git a/packages/filebrowser/test/browser.spec.ts b/packages/filebrowser/test/browser.spec.ts index eeb89e5bfa15..9e1244661aee 100644 --- a/packages/filebrowser/test/browser.spec.ts +++ b/packages/filebrowser/test/browser.spec.ts @@ -10,6 +10,7 @@ import { DocumentManager, IDocumentManager } from '@jupyterlab/docmanager'; import { DocumentRegistry, TextModelFactory } from '@jupyterlab/docregistry'; import { ServiceManager } from '@jupyterlab/services'; import { signalToPromise } from '@jupyterlab/testing'; +import { Drive } from '@jupyterlab/services'; import { ServiceManagerMock } from '@jupyterlab/services/lib/testutils'; import { DocumentWidgetOpenerMock } from '@jupyterlab/docregistry/lib/testutils'; import { simulate } from 'simulate-event'; @@ -130,3 +131,67 @@ describe('filebrowser/browser', () => { }); }); }); + +describe('FileBrowser with Drives', () => { + const DRIVE_NAME = 'TestDrive'; + let fileBrowser: TestFileBrowser; + let manager: IDocumentManager; + let serviceManager: ServiceManager.IManager; + let registry: DocumentRegistry; + let model: FilterFileBrowserModel; + + beforeAll(async () => { + const opener = new DocumentWidgetOpenerMock(); + + registry = new DocumentRegistry({ + textModelFactory: new TextModelFactory() + }); + serviceManager = new ServiceManagerMock(); + manager = new DocumentManager({ + registry, + opener, + manager: serviceManager + }); + + const drive = new Drive({ + name: DRIVE_NAME, + serverSettings: serviceManager.serverSettings + }); + serviceManager.contents.addDrive(drive); + model = new FilterFileBrowserModel({ manager, driveName: drive.name }); + }); + + beforeEach(() => { + const options: FileBrowser.IOptions = { + model, + id: '' + }; + fileBrowser = new TestFileBrowser(options); + Widget.attach(fileBrowser, document.body); + }); + + describe('#createNewFile', () => { + it('should create the file in the drive', async () => { + const created = fileBrowser.createNewFile({ ext: '.txt' }); + await signalToPromise(fileBrowser.renameCalled); + const editNode = document.querySelector(`.${EDITOR_CLASS}`); + if (!editNode) { + throw new Error('Edit node not found'); + } + const itemNode = Array.from( + document.querySelectorAll(`.${ITEM_CLASS}`) + ).find(el => { + return el.contains(editNode); + }); + if (!itemNode) { + throw new Error('Item node not found'); + } + simulate(editNode, 'keydown', { + keyCode: 13, + key: 'Enter' + }); + const fileModel = await created; + expect(fileModel.path).toContain(DRIVE_NAME); + }); + }); +}); diff --git a/packages/fileeditor-extension/package.json b/packages/fileeditor-extension/package.json index 833f08d11662..7d9773cb2bec 100644 --- a/packages/fileeditor-extension/package.json +++ b/packages/fileeditor-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/fileeditor-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Editor Widget Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -40,28 +40,28 @@ "dependencies": { "@codemirror/commands": "^6.2.3", "@codemirror/search": "^6.3.0", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/fileeditor": "^4.1.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/lsp": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor": "^4.2.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/lsp": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", diff --git a/packages/fileeditor/package.json b/packages/fileeditor/package.json index 747302a97c26..261846d01738 100644 --- a/packages/fileeditor/package.json +++ b/packages/fileeditor/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/fileeditor", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Editor Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -41,17 +41,17 @@ }, "dependencies": { "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/lsp": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/lsp": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", @@ -60,7 +60,7 @@ "regexp-match-indices": "^1.0.2" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/help-extension/package.json b/packages/help-extension/package.json index 5691952804e7..a19889101aec 100644 --- a/packages/help-extension/package.json +++ b/packages/help-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/help-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Help Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,13 +38,13 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/signaling": "^2.1.2", "@lumino/virtualdom": "^2.0.1", diff --git a/packages/htmlviewer-extension/package.json b/packages/htmlviewer-extension/package.json index d0ff363d9881..ebbfe2e9b73e 100644 --- a/packages/htmlviewer-extension/package.json +++ b/packages/htmlviewer-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/htmlviewer-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab extension to render HTML files", "keywords": [ "jupyter", @@ -35,14 +35,14 @@ "watch": "tsc -w" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/htmlviewer": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/htmlviewer": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/htmlviewer/package.json b/packages/htmlviewer/package.json index 4aeb53225a8c..9818097b6b49 100644 --- a/packages/htmlviewer/package.json +++ b/packages/htmlviewer/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/htmlviewer", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "A viewer for HTML documents.", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -33,11 +33,11 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/signaling": "^2.1.2", "@lumino/widgets": "^2.3.1", diff --git a/packages/hub-extension/package.json b/packages/hub-extension/package.json index 25121f5a1f7f..9b30ebbdb410 100644 --- a/packages/hub-extension/package.json +++ b/packages/hub-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/hub-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab integration for JupyterHub", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -34,11 +34,11 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/imageviewer-extension/package.json b/packages/imageviewer-extension/package.json index fd855db35e95..91eacc02f95a 100644 --- a/packages/imageviewer-extension/package.json +++ b/packages/imageviewer-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/imageviewer-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Image Widget Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,11 +38,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/imageviewer": "^4.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/imageviewer": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/imageviewer/package.json b/packages/imageviewer/package.json index 738344e471a3..1f456a0c2197 100644 --- a/packages/imageviewer/package.json +++ b/packages/imageviewer/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/imageviewer", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Image Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,15 +42,15 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/inspector-extension/package.json b/packages/inspector-extension/package.json index 169ad6ceeb38..8c088b852887 100644 --- a/packages/inspector-extension/package.json +++ b/packages/inspector-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/inspector-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Code Inspector Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,14 +38,14 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/inspector": "^4.1.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/inspector": "^4.2.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/widgets": "^2.3.1" }, "devDependencies": { diff --git a/packages/inspector/package.json b/packages/inspector/package.json index 0c6a095e5ba6..ec3e6cd58966 100644 --- a/packages/inspector/package.json +++ b/packages/inspector/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/inspector", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Code Inspector", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,13 +42,13 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/polling": "^2.1.2", @@ -56,7 +56,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/javascript-extension/package.json b/packages/javascript-extension/package.json index 6b1903dadecf..0cc88870dbd4 100644 --- a/packages/javascript-extension/package.json +++ b/packages/javascript-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/javascript-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Javascript Renderer", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -33,8 +33,8 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2" + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/json-extension/package.json b/packages/json-extension/package.json index 99231280dff7..3fc3adb4b531 100644 --- a/packages/json-extension/package.json +++ b/packages/json-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/json-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - JSON Renderer", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -33,11 +33,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lezer/highlight": "^1.1.4", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", diff --git a/packages/launcher-extension/package.json b/packages/launcher-extension/package.json index abb0087622c3..a6bcf00d6438 100644 --- a/packages/launcher-extension/package.json +++ b/packages/launcher-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/launcher-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Launcher Page Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,12 +38,12 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/widgets": "^2.3.1" diff --git a/packages/launcher/package.json b/packages/launcher/package.json index e5b2676a8b0a..3cb0ec7212bb 100644 --- a/packages/launcher/package.json +++ b/packages/launcher/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/launcher", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Launcher Panel", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,9 +37,9 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", diff --git a/packages/logconsole-extension/package.json b/packages/logconsole-extension/package.json index 18fc6f61507e..1f567ab51d5e 100644 --- a/packages/logconsole-extension/package.json +++ b/packages/logconsole-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/logconsole-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Log Console Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -34,15 +34,15 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/logconsole": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/logconsole": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/signaling": "^2.1.2", "@lumino/widgets": "^2.3.1", diff --git a/packages/logconsole/package.json b/packages/logconsole/package.json index e9e9018410e6..22e0fea8b091 100644 --- a/packages/logconsole/package.json +++ b/packages/logconsole/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/logconsole", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Log Console", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,12 +38,12 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/outputarea": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/outputarea": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/messaging": "^2.0.1", @@ -51,7 +51,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/lsp-extension/package.json b/packages/lsp-extension/package.json index b7dadc1ae31d..6c761b3abacc 100644 --- a/packages/lsp-extension/package.json +++ b/packages/lsp-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/lsp-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -36,13 +36,13 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/lsp": "^4.1.2", - "@jupyterlab/running": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/lsp": "^4.2.0-alpha.0", + "@jupyterlab/running": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/polling": "^2.1.2", "@lumino/signaling": "^2.1.2", diff --git a/packages/lsp/package.json b/packages/lsp/package.json index c267cf181cf9..067bb03a8b9f 100644 --- a/packages/lsp/package.json +++ b/packages/lsp/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/lsp", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -41,13 +41,13 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/signaling": "^2.1.2", @@ -58,7 +58,7 @@ "vscode-ws-jsonrpc": "~1.0.2" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/lodash.mergewith": "^4.6.1", "jest": "^29.2.0", diff --git a/packages/mainmenu-extension/package.json b/packages/mainmenu-extension/package.json index ee25beb4a2ff..f7b8bb52e22d 100644 --- a/packages/mainmenu-extension/package.json +++ b/packages/mainmenu-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/mainmenu-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Main Menu Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,14 +38,14 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", diff --git a/packages/mainmenu/package.json b/packages/mainmenu/package.json index 23a4c63ba6af..5432dd60081f 100644 --- a/packages/mainmenu/package.json +++ b/packages/mainmenu/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/mainmenu", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Main Menu", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,16 +42,16 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/markdownviewer-extension/package.json b/packages/markdownviewer-extension/package.json index 80aa905d00e0..9a355eb266e2 100644 --- a/packages/markdownviewer-extension/package.json +++ b/packages/markdownviewer-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/markdownviewer-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Markdown Renderer Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,14 +38,14 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/markdownviewer": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/markdownviewer": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/markdownviewer/package.json b/packages/markdownviewer/package.json index c0ed6e661a22..8b5f826321b9 100644 --- a/packages/markdownviewer/package.json +++ b/packages/markdownviewer/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/markdownviewer", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Markdown viewer Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,12 +37,12 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", "@lumino/signaling": "^2.1.2", diff --git a/packages/markedparser-extension/package.json b/packages/markedparser-extension/package.json index 2e49e9fe38bd..beeadad89179 100644 --- a/packages/markedparser-extension/package.json +++ b/packages/markedparser-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/markedparser-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Markdown parser provider", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -36,11 +36,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/mermaid": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/mermaid": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "marked": "^9.1.2", "marked-gfm-heading-id": "^3.1.0", diff --git a/packages/mathjax-extension/package.json b/packages/mathjax-extension/package.json index 6bbff962dae8..5cb4ba8f1ea1 100644 --- a/packages/mathjax-extension/package.json +++ b/packages/mathjax-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/mathjax-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "A JupyterLab extension providing MathJax Typesetting", "keywords": [ "jupyter", @@ -43,8 +43,8 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "mathjax-full": "^3.2.2" }, diff --git a/packages/mermaid-extension/package.json b/packages/mermaid-extension/package.json index c3ef300bd311..bf77939692eb 100644 --- a/packages/mermaid-extension/package.json +++ b/packages/mermaid-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/mermaid-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Mermaid Viewer", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,11 +37,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/mermaid": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/mermaid": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json index 397ee26270d0..59c904fb96fe 100644 --- a/packages/mermaid/package.json +++ b/packages/mermaid/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/mermaid", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Mermaid Renderer", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,9 +42,9 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/widgets": "^2.3.1", "mermaid": "^10.7.0" diff --git a/packages/metadataform-extension/package.json b/packages/metadataform-extension/package.json index 17df0c2b6c1d..d6628a0d3e00 100644 --- a/packages/metadataform-extension/package.json +++ b/packages/metadataform-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/metadataform-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "A helper to build form for metadata", "keywords": [ "jupyter", @@ -39,12 +39,12 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/metadataform": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/metadataform": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2" }, "devDependencies": { diff --git a/packages/metadataform/package.json b/packages/metadataform/package.json index d0db9e5ecbb1..0fc2b778760a 100644 --- a/packages/metadataform/package.json +++ b/packages/metadataform/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/metadataform", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "A helper to build form for metadata", "keywords": [ "jupyter", @@ -45,12 +45,12 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", "@lumino/widgets": "^2.3.1", @@ -60,7 +60,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/react": "^18.0.26", "jest": "^29.2.0", diff --git a/packages/metapackage/package.json b/packages/metapackage/package.json index e3e58fdbbb7c..ee85c49d12c7 100644 --- a/packages/metapackage/package.json +++ b/packages/metapackage/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/metapackage", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Meta Package. All of the packages used by the core JupyterLab application", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,103 +37,103 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/application-extension": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/apputils-extension": "^4.1.2", - "@jupyterlab/attachments": "^4.1.2", - "@jupyterlab/cell-toolbar": "^4.1.2", - "@jupyterlab/cell-toolbar-extension": "^4.1.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/celltags-extension": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/codemirror-extension": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/completer-extension": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/console-extension": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/csvviewer": "^4.1.2", - "@jupyterlab/csvviewer-extension": "^4.1.2", - "@jupyterlab/debugger": "^4.1.2", - "@jupyterlab/debugger-extension": "^4.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docmanager-extension": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/documentsearch-extension": "^4.1.2", - "@jupyterlab/extensionmanager": "^4.1.2", - "@jupyterlab/extensionmanager-extension": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/filebrowser-extension": "^4.1.2", - "@jupyterlab/fileeditor": "^4.1.2", - "@jupyterlab/fileeditor-extension": "^4.1.2", - "@jupyterlab/help-extension": "^4.1.2", - "@jupyterlab/htmlviewer": "^4.1.2", - "@jupyterlab/htmlviewer-extension": "^4.1.2", - "@jupyterlab/hub-extension": "^4.1.2", - "@jupyterlab/imageviewer": "^4.1.2", - "@jupyterlab/imageviewer-extension": "^4.1.2", - "@jupyterlab/inspector": "^4.1.2", - "@jupyterlab/inspector-extension": "^4.1.2", - "@jupyterlab/javascript-extension": "^4.1.2", - "@jupyterlab/json-extension": "^4.1.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/launcher-extension": "^4.1.2", - "@jupyterlab/logconsole": "^4.1.2", - "@jupyterlab/logconsole-extension": "^4.1.2", - "@jupyterlab/lsp": "^4.1.2", - "@jupyterlab/lsp-extension": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/mainmenu-extension": "^4.1.2", - "@jupyterlab/markdownviewer": "^4.1.2", - "@jupyterlab/markdownviewer-extension": "^4.1.2", - "@jupyterlab/markedparser-extension": "^4.1.2", - "@jupyterlab/mathjax-extension": "^4.1.2", - "@jupyterlab/mermaid": "^4.1.2", - "@jupyterlab/mermaid-extension": "^4.1.2", - "@jupyterlab/metadataform": "^4.1.2", - "@jupyterlab/metadataform-extension": "^4.1.2", - "@jupyterlab/nbconvert-css": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/notebook-extension": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/outputarea": "^4.1.2", - "@jupyterlab/pdf-extension": "^4.1.2", - "@jupyterlab/pluginmanager": "^4.1.2", - "@jupyterlab/pluginmanager-extension": "^4.1.2", - "@jupyterlab/property-inspector": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-extension": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/running": "^4.1.2", - "@jupyterlab/running-extension": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingeditor": "^4.1.2", - "@jupyterlab/settingeditor-extension": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/shortcuts-extension": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/statusbar-extension": "^4.1.2", - "@jupyterlab/terminal": "^4.1.2", - "@jupyterlab/terminal-extension": "^4.1.2", - "@jupyterlab/theme-dark-extension": "^4.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/toc-extension": "^6.1.2", - "@jupyterlab/tooltip": "^4.1.2", - "@jupyterlab/tooltip-extension": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/translation-extension": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", - "@jupyterlab/ui-components-extension": "^4.1.2", - "@jupyterlab/vega5-extension": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/application-extension": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/apputils-extension": "^4.2.0-alpha.0", + "@jupyterlab/attachments": "^4.2.0-alpha.0", + "@jupyterlab/cell-toolbar": "^4.2.0-alpha.0", + "@jupyterlab/cell-toolbar-extension": "^4.2.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/celltags-extension": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/codemirror-extension": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/completer-extension": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/console-extension": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/csvviewer": "^4.2.0-alpha.0", + "@jupyterlab/csvviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/debugger": "^4.2.0-alpha.0", + "@jupyterlab/debugger-extension": "^4.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch-extension": "^4.2.0-alpha.0", + "@jupyterlab/extensionmanager": "^4.2.0-alpha.0", + "@jupyterlab/extensionmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser-extension": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor": "^4.2.0-alpha.0", + "@jupyterlab/fileeditor-extension": "^4.2.0-alpha.0", + "@jupyterlab/help-extension": "^4.2.0-alpha.0", + "@jupyterlab/htmlviewer": "^4.2.0-alpha.0", + "@jupyterlab/htmlviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/hub-extension": "^4.2.0-alpha.0", + "@jupyterlab/imageviewer": "^4.2.0-alpha.0", + "@jupyterlab/imageviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/inspector": "^4.2.0-alpha.0", + "@jupyterlab/inspector-extension": "^4.2.0-alpha.0", + "@jupyterlab/javascript-extension": "^4.2.0-alpha.0", + "@jupyterlab/json-extension": "^4.2.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/launcher-extension": "^4.2.0-alpha.0", + "@jupyterlab/logconsole": "^4.2.0-alpha.0", + "@jupyterlab/logconsole-extension": "^4.2.0-alpha.0", + "@jupyterlab/lsp": "^4.2.0-alpha.0", + "@jupyterlab/lsp-extension": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu-extension": "^4.2.0-alpha.0", + "@jupyterlab/markdownviewer": "^4.2.0-alpha.0", + "@jupyterlab/markdownviewer-extension": "^4.2.0-alpha.0", + "@jupyterlab/markedparser-extension": "^4.2.0-alpha.0", + "@jupyterlab/mathjax-extension": "^4.2.0-alpha.0", + "@jupyterlab/mermaid": "^4.2.0-alpha.0", + "@jupyterlab/mermaid-extension": "^4.2.0-alpha.0", + "@jupyterlab/metadataform": "^4.2.0-alpha.0", + "@jupyterlab/metadataform-extension": "^4.2.0-alpha.0", + "@jupyterlab/nbconvert-css": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/notebook-extension": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/outputarea": "^4.2.0-alpha.0", + "@jupyterlab/pdf-extension": "^4.2.0-alpha.0", + "@jupyterlab/pluginmanager": "^4.2.0-alpha.0", + "@jupyterlab/pluginmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/property-inspector": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-extension": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/running": "^4.2.0-alpha.0", + "@jupyterlab/running-extension": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingeditor": "^4.2.0-alpha.0", + "@jupyterlab/settingeditor-extension": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/shortcuts-extension": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/statusbar-extension": "^4.2.0-alpha.0", + "@jupyterlab/terminal": "^4.2.0-alpha.0", + "@jupyterlab/terminal-extension": "^4.2.0-alpha.0", + "@jupyterlab/theme-dark-extension": "^4.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/toc-extension": "^6.2.0-alpha.0", + "@jupyterlab/tooltip": "^4.2.0-alpha.0", + "@jupyterlab/tooltip-extension": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/translation-extension": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", + "@jupyterlab/ui-components-extension": "^4.2.0-alpha.0", + "@jupyterlab/vega5-extension": "^4.2.0-alpha.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "fs-extra": "^10.1.0", "jest": "^29.2.0", diff --git a/packages/nbconvert-css/package.json b/packages/nbconvert-css/package.json index f99eb35f7967..4aa3d598bd9f 100644 --- a/packages/nbconvert-css/package.json +++ b/packages/nbconvert-css/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/nbconvert-css", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "CSS bundle for the JupyterLab nbconvert template", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -31,13 +31,13 @@ "watch": "webpack --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/outputarea": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/outputarea": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0" }, "devDependencies": { "css-loader": "^6.7.1", diff --git a/packages/nbformat/package.json b/packages/nbformat/package.json index 06d19ed5352b..4f758adbc659 100644 --- a/packages/nbformat/package.json +++ b/packages/nbformat/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/nbformat", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "Notebook format interfaces", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -41,7 +41,7 @@ "@lumino/coreutils": "^2.1.2" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/notebook-extension/package.json b/packages/notebook-extension/package.json index a8a142777525..f56da69c8e02 100644 --- a/packages/notebook-extension/package.json +++ b/packages/notebook-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/notebook-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Notebook Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,35 +38,35 @@ }, "dependencies": { "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/completer": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/docmanager-extension": "^4.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/filebrowser": "^4.1.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/logconsole": "^4.1.2", - "@jupyterlab/lsp": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/metadataform": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/property-inspector": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/completer": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/docmanager-extension": "^4.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/filebrowser": "^4.2.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/logconsole": "^4.2.0-alpha.0", + "@jupyterlab/lsp": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/metadataform": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/property-inspector": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index bf752f608bc9..8de9debe0c17 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -48,7 +48,10 @@ import { IDocumentManager } from '@jupyterlab/docmanager'; import { ToolbarItems as DocToolbarItems } from '@jupyterlab/docmanager-extension'; import { DocumentRegistry, IDocumentWidget } from '@jupyterlab/docregistry'; import { ISearchProviderRegistry } from '@jupyterlab/documentsearch'; -import { IDefaultFileBrowser } from '@jupyterlab/filebrowser'; +import { + IDefaultFileBrowser, + IFileBrowserFactory +} from '@jupyterlab/filebrowser'; import { ILauncher } from '@jupyterlab/launcher'; import { ILSPCodeExtractorsManager, @@ -363,7 +366,8 @@ const trackerPlugin: JupyterFrontEndPlugin = { ISettingRegistry, ISessionContextDialogs, ITranslator, - IFormRendererRegistry + IFormRendererRegistry, + IFileBrowserFactory ], activate: activateNotebookHandler, autoStart: true @@ -1594,7 +1598,8 @@ function activateNotebookHandler( settingRegistry: ISettingRegistry | null, sessionDialogs_: ISessionContextDialogs | null, translator_: ITranslator | null, - formRegistry: IFormRendererRegistry | null + formRegistry: IFormRendererRegistry | null, + filebrowserFactory: IFileBrowserFactory | null ): INotebookTracker { const translator = translator_ ?? nullTranslator; const sessionDialogs = @@ -1957,7 +1962,9 @@ function activateNotebookHandler( caption: trans.__('Create a new notebook'), icon: args => (args['isPalette'] ? undefined : notebookIcon), execute: args => { - const cwd = (args['cwd'] as string) || (defaultBrowser?.model.path ?? ''); + const currentBrowser = + filebrowserFactory?.tracker.currentWidget ?? defaultBrowser; + const cwd = (args['cwd'] as string) || (currentBrowser?.model.path ?? ''); const kernelId = (args['kernelId'] as string) || ''; const kernelName = (args['kernelName'] as string) || ''; return createNew(cwd, kernelId, kernelName); diff --git a/packages/notebook/package.json b/packages/notebook/package.json index db2ad5d28f49..90ebdd4bad8c 100644 --- a/packages/notebook/package.json +++ b/packages/notebook/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/notebook", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Notebook", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,23 +42,23 @@ }, "dependencies": { "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/cells": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/codemirror": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/documentsearch": "^4.1.2", - "@jupyterlab/lsp": "^4.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/cells": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/codemirror": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/documentsearch": "^4.2.0-alpha.0", + "@jupyterlab/lsp": "^4.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -72,7 +72,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/observables/package.json b/packages/observables/package.json index 92bf7d8b3f35..6c8bf9017a5b 100644 --- a/packages/observables/package.json +++ b/packages/observables/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/observables", - "version": "5.1.2", + "version": "5.2.0-alpha.0", "description": "Data structures which may be observed for changes.", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -44,7 +44,7 @@ "@lumino/signaling": "^2.1.2" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/outputarea/package.json b/packages/outputarea/package.json index ca5048234ee8..7f4ffd3932fc 100644 --- a/packages/outputarea/package.json +++ b/packages/outputarea/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/outputarea", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Notebook Output Area", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,13 +42,13 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -58,7 +58,7 @@ "@lumino/widgets": "^2.3.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/pdf-extension/package.json b/packages/pdf-extension/package.json index 3130f9a2ed34..41634ee1fc16 100644 --- a/packages/pdf-extension/package.json +++ b/packages/pdf-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/pdf-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - PDF Viewer", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,7 +37,7 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/rendermime-interfaces": "^3.9.2", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/widgets": "^2.3.1" diff --git a/packages/pluginmanager-extension/package.json b/packages/pluginmanager-extension/package.json index af857c353fb8..aadfb8d20163 100644 --- a/packages/pluginmanager-extension/package.json +++ b/packages/pluginmanager-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/pluginmanager-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "Enable/disable plugins from user interface", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -35,11 +35,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/pluginmanager": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/pluginmanager": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2" }, "devDependencies": { diff --git a/packages/pluginmanager/package.json b/packages/pluginmanager/package.json index f77cebfd6bb4..f8d4d4fe09b6 100644 --- a/packages/pluginmanager/package.json +++ b/packages/pluginmanager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/pluginmanager", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "List, enable or disable individual plugins.", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -39,19 +39,19 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/signaling": "^2.1.2", "@lumino/widgets": "^2.3.1", "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/property-inspector/package.json b/packages/property-inspector/package.json index fd1dbd5c1805..cdd092a7c0fa 100644 --- a/packages/property-inspector/package.json +++ b/packages/property-inspector/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/property-inspector", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "A property inspector display for widgets", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -34,9 +34,9 @@ "watch": "tsc -w --listEmittedFiles" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/signaling": "^2.1.2", diff --git a/packages/rendermime-extension/package.json b/packages/rendermime-extension/package.json index d96628f76067..1fda80cccafb 100644 --- a/packages/rendermime-extension/package.json +++ b/packages/rendermime-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/rendermime-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "A rendermime extension for JupyterLab", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -34,11 +34,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/docmanager": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/docmanager": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/rendermime-interfaces/package.json b/packages/rendermime-interfaces/package.json index 12868f27b478..a60ac0906cda 100644 --- a/packages/rendermime-interfaces/package.json +++ b/packages/rendermime-interfaces/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/rendermime-interfaces", - "version": "3.9.2", + "version": "3.10.0-alpha.0", "description": "JupyterLab - Interfaces for Mime Renderers", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { diff --git a/packages/rendermime/package.json b/packages/rendermime/package.json index 124eace3d9d1..7cf9fdd40707 100644 --- a/packages/rendermime/package.json +++ b/packages/rendermime/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/rendermime", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - RenderMime", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,13 +42,13 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", "@lumino/signaling": "^2.1.2", @@ -56,7 +56,7 @@ "lodash.escape": "^4.0.1" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/lodash.escape": "^4.0.6", "fs-extra": "^10.1.0", diff --git a/packages/running-extension/package.json b/packages/running-extension/package.json index 3d00b1d3b325..674a8ea50db5 100644 --- a/packages/running-extension/package.json +++ b/packages/running-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/running-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Running Sessions Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,14 +38,14 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/running": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/running": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/polling": "^2.1.2", "@lumino/signaling": "^2.1.2", diff --git a/packages/running/package.json b/packages/running/package.json index 94666ba454b2..e688cae461e4 100644 --- a/packages/running/package.json +++ b/packages/running/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/running", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Running Sessions Panel", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,9 +37,9 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/messaging": "^2.0.1", diff --git a/packages/services/examples/browser/package.json b/packages/services/examples/browser/package.json index 859287b1caa5..5df458c2c77c 100644 --- a/packages/services/examples/browser/package.json +++ b/packages/services/examples/browser/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-services-browser", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "files": [ "lib/*.{d.ts,js,js.map}" @@ -10,8 +10,8 @@ "clean": "rimraf lib && rimraf tsconfig.tsbuildinfo" }, "dependencies": { - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/services": "^7.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", "@lumino/coreutils": "^2.1.2" }, "devDependencies": { diff --git a/packages/services/examples/node/package.json b/packages/services/examples/node/package.json index 09a661310225..bc1276315165 100644 --- a/packages/services/examples/node/package.json +++ b/packages/services/examples/node/package.json @@ -1,13 +1,13 @@ { "name": "node-example", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "scripts": { "clean": "rimraf node_modules", "update": "rimraf node_modules/@jupyterlab/services && npm install" }, "dependencies": { - "@jupyterlab/services": "^7.1.2", + "@jupyterlab/services": "^7.2.0-alpha.0", "ws": "^8.11.0" }, "devDependencies": { diff --git a/packages/services/examples/typescript-browser-with-output/package.json b/packages/services/examples/typescript-browser-with-output/package.json index bf1876fffa32..a13b3849263b 100644 --- a/packages/services/examples/typescript-browser-with-output/package.json +++ b/packages/services/examples/typescript-browser-with-output/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-services-outputarea", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "sideEffects": [ "style/*" @@ -16,10 +16,10 @@ "clean": "rimraf lib && rimraf tsconfig.tsbuildinfo" }, "dependencies": { - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/outputarea": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2" + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/outputarea": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0" }, "devDependencies": { "css-loader": "^6.7.1", diff --git a/packages/services/package.json b/packages/services/package.json index 09521a4d1569..69abe115c456 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/services", - "version": "7.1.2", + "version": "7.2.0-alpha.0", "description": "Client APIs for the Jupyter services REST APIs", "keywords": [ "jupyter", @@ -47,10 +47,10 @@ }, "dependencies": { "@jupyter/ydoc": "^1.1.1", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/polling": "^2.1.2", @@ -59,7 +59,7 @@ "ws": "^8.11.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/ws": "^8.5.3", "jest": "^29.2.0", diff --git a/packages/services/src/testutils.ts b/packages/services/src/testutils.ts index eaa7d9aafcf5..229297fe9e07 100644 --- a/packages/services/src/testutils.ts +++ b/packages/services/src/testutils.ts @@ -307,31 +307,48 @@ export const SessionConnectionMock = jest.fn< * A mock contents manager. */ export const ContentsManagerMock = jest.fn(() => { - const files = new Map(); + const files = new Map>(); const dummy = new ContentsManager(); const checkpoints = new Map(); const checkPointContent = new Map(); const baseModel = Private.createFile({ type: 'directory' }); - files.set('', { ...baseModel, path: '', name: '' }); + // create the default drive + files.set( + '', + new Map([ + ['', { ...baseModel, path: '', name: '' }] + ]) + ); const thisObject: Contents.IManager = { ...jest.requireActual('@jupyterlab/services'), newUntitled: jest.fn(options => { - const model = Private.createFile(options || {}); - files.set(model.path, model); + const driveName = dummy.driveName(options?.path || ''); + const localPath = dummy.localPath(options?.path || ''); + // create the test file without the drive name + const createOptions = { ...options, path: localPath }; + const model = Private.createFile(createOptions || {}); + // re-add the drive name to the model + const drivePath = driveName ? `${driveName}:${model.path}` : model.path; + const driveModel = { + ...model, + path: drivePath + }; + files.get(driveName)!.set(model.path, driveModel); fileChangedSignal.emit({ type: 'new', oldValue: null, - newValue: model + newValue: driveModel }); - return Promise.resolve(model); + return Promise.resolve(driveModel); }), createCheckpoint: jest.fn(path => { const lastModified = new Date().toISOString(); const data = { id: UUID.uuid4(), last_modified: lastModified }; checkpoints.set(path, data); - checkPointContent.set(path, files.get(path)?.content); + // TODO: handle drives + checkPointContent.set(path, files.get('')!.get(path)?.content); return Promise.resolve(data); }), listCheckpoints: jest.fn(path => { @@ -352,7 +369,8 @@ export const ContentsManagerMock = jest.fn(() => { if (!checkpoints.has(path)) { return Private.makeResponseError(404); } - (files.get(path) as any).content = checkPointContent.get(path); + // TODO: handle drives + (files.get('')!.get(path) as any).content = checkPointContent.get(path); return Promise.resolve(); }), getSharedModelFactory: jest.fn(() => { @@ -368,11 +386,14 @@ export const ContentsManagerMock = jest.fn(() => { return dummy.resolvePath(root, path); }), get: jest.fn((path, options) => { - path = Private.fixSlash(path); - if (!files.has(path)) { + const driveName = dummy.driveName(path); + const localPath = dummy.localPath(path); + const drive = files.get(driveName)!; + path = Private.fixSlash(localPath); + if (!drive.has(path)) { return Private.makeResponseError(404); } - const model = files.get(path)!; + const model = drive.get(path)!; const overrides: { hash?: string; last_modified?: string } = {}; if (path == 'random-hash.txt') { overrides.hash = Math.random().toString(); @@ -385,10 +406,11 @@ export const ContentsManagerMock = jest.fn(() => { if (model.type === 'directory') { if (options?.content !== false) { const content: Contents.IModel[] = []; - files.forEach(fileModel => { + drive.forEach(fileModel => { + const localPath = dummy.localPath(fileModel.path); if ( // If file path is under this directory, add it to contents array. - PathExt.dirname(fileModel.path) == model.path && + PathExt.dirname(localPath) == model.path && // But the directory should exclude itself from the contents array. fileModel !== model ) { @@ -408,16 +430,20 @@ export const ContentsManagerMock = jest.fn(() => { return dummy.driveName(path); }), rename: jest.fn((oldPath, newPath) => { - oldPath = Private.fixSlash(oldPath); - newPath = Private.fixSlash(newPath); - if (!files.has(oldPath)) { + const driveName = dummy.driveName(oldPath); + const drive = files.get(driveName)!; + let oldLocalPath = dummy.localPath(oldPath); + let newLocalPath = dummy.localPath(newPath); + oldLocalPath = Private.fixSlash(oldLocalPath); + newLocalPath = Private.fixSlash(newLocalPath); + if (!drive.has(oldLocalPath)) { return Private.makeResponseError(404); } - const oldValue = files.get(oldPath)!; - files.delete(oldPath); - const name = PathExt.basename(newPath); - const newValue = { ...oldValue, name, path: newPath }; - files.set(newPath, newValue); + const oldValue = drive.get(oldPath)!; + drive.delete(oldPath); + const name = PathExt.basename(newLocalPath); + const newValue = { ...oldValue, name, path: newLocalPath }; + drive.set(newPath, newValue); fileChangedSignal.emit({ type: 'rename', oldValue, @@ -426,12 +452,15 @@ export const ContentsManagerMock = jest.fn(() => { return Promise.resolve(newValue); }), delete: jest.fn(path => { - path = Private.fixSlash(path); - if (!files.has(path)) { + const driveName = dummy.driveName(path); + const localPath = dummy.localPath(path); + const drive = files.get(driveName)!; + path = Private.fixSlash(localPath); + if (!drive.has(path)) { return Private.makeResponseError(404); } - const oldValue = files.get(path)!; - files.delete(path); + const oldValue = drive.get(path)!; + drive.delete(path); fileChangedSignal.emit({ type: 'delete', oldValue, @@ -445,7 +474,8 @@ export const ContentsManagerMock = jest.fn(() => { } path = Private.fixSlash(path); const timeStamp = new Date().toISOString(); - if (files.has(path)) { + const drive = files.get(dummy.driveName(path))!; + if (drive.has(path)) { const updates = path == 'frozen-time-and-hash.txt' ? {} @@ -453,13 +483,13 @@ export const ContentsManagerMock = jest.fn(() => { last_modified: timeStamp, hash: timeStamp }; - files.set(path, { - ...files.get(path)!, + drive.set(path, { + ...drive.get(path)!, ...options, ...updates }); } else { - files.set(path, { + drive.set(path, { path, name: PathExt.basename(path), content: '', @@ -477,15 +507,21 @@ export const ContentsManagerMock = jest.fn(() => { fileChangedSignal.emit({ type: 'save', oldValue: null, - newValue: files.get(path)! + newValue: drive.get(path)! }); - return Promise.resolve(files.get(path)!); + return Promise.resolve(drive.get(path)!); }), getDownloadUrl: jest.fn(path => { return dummy.getDownloadUrl(path); }), addDrive: jest.fn(drive => { dummy.addDrive(drive); + files.set( + drive.name, + new Map([ + ['', { ...baseModel, path: '', name: '' }] + ]) + ); }), dispose: jest.fn() }; diff --git a/packages/settingeditor-extension/package.json b/packages/settingeditor-extension/package.json index 2991679f4f37..6269148e339c 100644 --- a/packages/settingeditor-extension/package.json +++ b/packages/settingeditor-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/settingeditor-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Setting Editor Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,16 +38,16 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/pluginmanager": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/settingeditor": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/pluginmanager": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/settingeditor": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/disposable": "^2.1.2" }, "devDependencies": { diff --git a/packages/settingeditor/package.json b/packages/settingeditor/package.json index d8a974d51bb2..5d8e0b8e06fc 100644 --- a/packages/settingeditor/package.json +++ b/packages/settingeditor/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/settingeditor", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "The JupyterLab default setting editor interface", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,15 +42,15 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/inspector": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/inspector": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", @@ -66,7 +66,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/react": "^18.0.26", "@types/react-test-renderer": "^18.0.0", diff --git a/packages/settingregistry/package.json b/packages/settingregistry/package.json index dbdec062d770..ece62ecb5691 100644 --- a/packages/settingregistry/package.json +++ b/packages/settingregistry/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/settingregistry", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "Settings registry for Jupyterlab", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,8 +37,8 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/nbformat": "^4.1.2", - "@jupyterlab/statedb": "^4.1.2", + "@jupyterlab/nbformat": "^4.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -48,7 +48,7 @@ "json5": "^2.2.3" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/shortcuts-extension/package.json b/packages/shortcuts-extension/package.json index 83710d42f0af..5252b344108a 100644 --- a/packages/shortcuts-extension/package.json +++ b/packages/shortcuts-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/shortcuts-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Shortcuts Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -41,10 +41,10 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", @@ -55,7 +55,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/statedb/package.json b/packages/statedb/package.json index 30734e41f552..fbe36becffbc 100644 --- a/packages/statedb/package.json +++ b/packages/statedb/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/statedb", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "Package for managing state in Jupyterlab", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -43,7 +43,7 @@ "@lumino/signaling": "^2.1.2" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/statusbar-extension/package.json b/packages/statusbar-extension/package.json index 628e92f974e0..b6baa13478a6 100644 --- a/packages/statusbar-extension/package.json +++ b/packages/statusbar-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/statusbar-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Statusbar Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,11 +37,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/statusbar": "^4.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/statusbar": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "@types/react": "^18.0.26", diff --git a/packages/statusbar/package.json b/packages/statusbar/package.json index 53ce2fa12b85..5b8f1b58e1df 100644 --- a/packages/statusbar/package.json +++ b/packages/statusbar/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/statusbar", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab statusbar package.", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,7 +37,7 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", @@ -47,7 +47,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/terminal-extension/package.json b/packages/terminal-extension/package.json index b3b8ab6781c0..73907d9c53a1 100644 --- a/packages/terminal-extension/package.json +++ b/packages/terminal-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/terminal-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Terminal Emulator Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,16 +38,16 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/launcher": "^4.1.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/running": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/terminal": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/launcher": "^4.2.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/running": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/terminal": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/widgets": "^2.3.1" }, "devDependencies": { diff --git a/packages/terminal/package.json b/packages/terminal/package.json index 4bcef97adfaf..af29c01809c3 100644 --- a/packages/terminal/package.json +++ b/packages/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/terminal", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Terminal Emulator Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -42,9 +42,9 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/domutils": "^2.0.1", "@lumino/messaging": "^2.0.1", @@ -56,7 +56,7 @@ "xterm-addon-webgl": "~0.14.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "canvas": "^2.11.2", "jest": "^29.2.0", diff --git a/packages/testing/package.json b/packages/testing/package.json index 72185a0872e1..07ef169a6467 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/testing", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab basic testing utilities.", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -35,7 +35,7 @@ "dependencies": { "@babel/core": "^7.10.2", "@babel/preset-env": "^7.10.2", - "@jupyterlab/coreutils": "^6.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/signaling": "^2.1.2", "deepmerge": "^4.2.2", diff --git a/packages/theme-dark-extension/package.json b/packages/theme-dark-extension/package.json index 4218c4c3cb25..977f4113de92 100644 --- a/packages/theme-dark-extension/package.json +++ b/packages/theme-dark-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/theme-dark-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Default Dark Theme", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -32,9 +32,9 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/theme-light-extension/package.json b/packages/theme-light-extension/package.json index ac9036dc821c..c3d5cc061ca4 100644 --- a/packages/theme-light-extension/package.json +++ b/packages/theme-light-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/theme-light-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Default Light Theme", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -32,9 +32,9 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/toc-extension/package.json b/packages/toc-extension/package.json index f6d4b1b47d3b..1afd1a341202 100644 --- a/packages/toc-extension/package.json +++ b/packages/toc-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/toc-extension", - "version": "6.1.2", + "version": "6.2.0-alpha.0", "description": "JupyterLab - Table of Contents widget extension", "keywords": [ "jupyter", @@ -41,11 +41,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/toc": "^6.1.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/toc": "^6.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/toc/package.json b/packages/toc/package.json index 42fc18faa9e4..0a541d162555 100644 --- a/packages/toc/package.json +++ b/packages/toc/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/toc", - "version": "6.1.2", + "version": "6.2.0-alpha.0", "description": "JupyterLab - Table of Contents widget", "keywords": [ "jupyterlab" @@ -41,14 +41,14 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/docregistry": "^4.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/translation": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/docregistry": "^4.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/disposable": "^2.1.2", "@lumino/messaging": "^2.0.1", @@ -57,7 +57,7 @@ "react": "^18.2.0" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/react": "^18.0.26", "jest": "^29.2.0", diff --git a/packages/tooltip-extension/package.json b/packages/tooltip-extension/package.json index 3c557c82b6a6..77653ea274a9 100644 --- a/packages/tooltip-extension/package.json +++ b/packages/tooltip-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/tooltip-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Tooltip Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,16 +38,16 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/console": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/fileeditor": "^4.1.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/tooltip": "^4.1.2", - "@jupyterlab/translation": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/console": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/fileeditor": "^4.2.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/tooltip": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/coreutils": "^2.1.2", "@lumino/widgets": "^2.3.1" diff --git a/packages/tooltip/package.json b/packages/tooltip/package.json index 7f4f47d4fb33..34ab451aa255 100644 --- a/packages/tooltip/package.json +++ b/packages/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/tooltip", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Tooltip Widget", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -37,10 +37,10 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/codeeditor": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/codeeditor": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/messaging": "^2.0.1", "@lumino/widgets": "^2.3.1" diff --git a/packages/translation-extension/package.json b/packages/translation-extension/package.json index 252398b0d497..6e98e8f7bf87 100644 --- a/packages/translation-extension/package.json +++ b/packages/translation-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/translation-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Translation services", "keywords": [ "jupyter", @@ -37,11 +37,11 @@ "watch": "tsc -w" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/mainmenu": "^4.1.2", - "@jupyterlab/settingregistry": "^4.1.2", - "@jupyterlab/translation": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/mainmenu": "^4.2.0-alpha.0", + "@jupyterlab/settingregistry": "^4.2.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/translation/package.json b/packages/translation/package.json index 1955152011a0..3a1f5b1181d1 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/translation", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Translation services", "keywords": [ "jupyter", @@ -38,14 +38,14 @@ "watch": "tsc -w" }, "dependencies": { - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/rendermime-interfaces": "^3.9.2", - "@jupyterlab/services": "^7.1.2", - "@jupyterlab/statedb": "^4.1.2", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/services": "^7.2.0-alpha.0", + "@jupyterlab/statedb": "^4.2.0-alpha.0", "@lumino/coreutils": "^2.1.2" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "jest": "^29.2.0", "rimraf": "~5.0.5", diff --git a/packages/ui-components-extension/package.json b/packages/ui-components-extension/package.json index 40b57f8b60ab..7425a3b598bd 100644 --- a/packages/ui-components-extension/package.json +++ b/packages/ui-components-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/ui-components-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - UI component plugins", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -33,8 +33,8 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/packages/ui-components/examples/simple-windowed-list/package.json b/packages/ui-components/examples/simple-windowed-list/package.json index 4bb387aeee0b..f7e340ecda38 100644 --- a/packages/ui-components/examples/simple-windowed-list/package.json +++ b/packages/ui-components/examples/simple-windowed-list/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/example-simple-list", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "private": true, "style": "style/index.css", "scripts": { @@ -9,11 +9,11 @@ "watch": "webpack --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/coreutils": "^6.1.2", - "@jupyterlab/observables": "^5.1.2", - "@jupyterlab/theme-light-extension": "^4.1.2", - "@jupyterlab/ui-components": "^4.1.2", + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/theme-light-extension": "^4.2.0-alpha.0", + "@jupyterlab/ui-components": "^4.2.0-alpha.0", "@lumino/messaging": "^2.0.1", "@lumino/widgets": "^2.3.1" }, diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json index 837786207ca7..ab91ba4a511a 100644 --- a/packages/ui-components/package.json +++ b/packages/ui-components/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/ui-components", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - UI components written in React", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -43,10 +43,10 @@ "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", + "@jupyterlab/coreutils": "^6.2.0-alpha.0", + "@jupyterlab/observables": "^5.2.0-alpha.0", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", + "@jupyterlab/translation": "^4.2.0-alpha.0", "@lumino/algorithm": "^2.0.1", "@lumino/commands": "^2.2.0", "@lumino/coreutils": "^2.1.2", @@ -64,7 +64,7 @@ "typestyle": "^2.0.4" }, "devDependencies": { - "@jupyterlab/testing": "^4.1.2", + "@jupyterlab/testing": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/react": "^18.0.26", "jest": "^29.2.0", diff --git a/packages/ui-components/src/components/search.tsx b/packages/ui-components/src/components/search.tsx index f41c3bfb2922..1262e2761917 100644 --- a/packages/ui-components/src/components/search.tsx +++ b/packages/ui-components/src/components/search.tsx @@ -77,9 +77,8 @@ export function fuzzySearch(source: string, query: string): IScore | null { let score = Infinity; let indices: number[] | null = null; - // The regex for search word boundaries - const rgx = /\b\w/g; - + // Look for letters (including in Asian scripts), numbers, and diacritical marks. + const rgx = /[\p{L}\p{N}\p{M}]+/gu; let continueSearch = true; // Search the source by word boundary. diff --git a/packages/ui-components/src/components/toolbar.tsx b/packages/ui-components/src/components/toolbar.tsx index 964c897231b9..407a3ccac810 100644 --- a/packages/ui-components/src/components/toolbar.tsx +++ b/packages/ui-components/src/components/toolbar.tsx @@ -239,6 +239,7 @@ export class Toolbar extends Widget { layout.insertWidget(j, widget); Private.nameProperty.set(widget, name); + widget.node.dataset['jpItemName'] = name; return true; } @@ -486,7 +487,7 @@ export class ReactiveToolbar extends Toolbar { // Invokes resizing to ensure correct display of items after an addition, only // if the toolbar is rendered. if (this.isVisible) { - void this._onResize(); + void this._resizer.invoke(); } } return status; diff --git a/packages/ui-components/style/toolbar.css b/packages/ui-components/style/toolbar.css index 27b512f90d66..b9fc7f51402b 100644 --- a/packages/ui-components/style/toolbar.css +++ b/packages/ui-components/style/toolbar.css @@ -74,6 +74,10 @@ button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label { font-family: var(--jp-ui-font-family); } +jp-button.jp-Toolbar-kernelName { + color: var(--jp-ui-font-color1); +} + .jp-ToolbarButtonComponent::part(content) { display: flex; align-items: center; diff --git a/packages/ui-components/test/search.spec.tsx b/packages/ui-components/test/search.spec.tsx new file mode 100644 index 000000000000..572465bacf1a --- /dev/null +++ b/packages/ui-components/test/search.spec.tsx @@ -0,0 +1,46 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +import { fuzzySearch } from '@jupyterlab/ui-components'; + +describe('@jupyterlab/ui-components', () => { + describe('fuzzySearch()', () => { + // The search logic is in StringExt.matchSumOfDeltas, which is already + // tested in the lumino package. + it('should find an ASCII match in text', () => { + const result = fuzzySearch('food', 'foo'); + expect(result).not.toBeNull(); + }); + + it('should find an ASCII match in text with a space', () => { + const result = fuzzySearch('fast food', 'foo'); + expect(result).not.toBeNull(); + }); + + it('should fail to find an ASCII match in text', () => { + const result = fuzzySearch('fast food', 'bar'); + expect(result).toBeNull(); + }); + + it('should find a French match in text', () => { + const result = fuzzySearch('Liberté, égalité, fraternité', 'erté'); + expect(result).not.toBeNull(); + }); + + it('should fail to find a French match in text', () => { + const result = fuzzySearch('Liberté, égalité, fraternité', 'ègal'); + expect(result).toBeNull(); + }); + + // CJK = Chinese, Japanese, and Korean characters + it('should find a CJK match in ASCII+CJK text', () => { + const result = fuzzySearch('2测试', '测'); + expect(result).not.toBeNull(); + }); + + it('should find a ASCII match in ASCII+CJK text', () => { + const result = fuzzySearch('测试1.ipynb', '1'); + expect(result).not.toBeNull(); + }); + }); +}); diff --git a/packages/vega5-extension/package.json b/packages/vega5-extension/package.json index a6350131bb10..974ae06853cf 100644 --- a/packages/vega5-extension/package.json +++ b/packages/vega5-extension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/vega5-extension", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Vega 5 and Vega-Lite 5 Mime Renderer Extension", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -38,7 +38,7 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/rendermime-interfaces": "^3.9.2", + "@jupyterlab/rendermime-interfaces": "^3.10.0-alpha.0", "@lumino/coreutils": "^2.1.2", "@lumino/widgets": "^2.3.1", "vega": "^5.20.0", @@ -46,7 +46,7 @@ "vega-lite": "^5.6.1-next.1" }, "devDependencies": { - "@jupyterlab/testutils": "^4.1.2", + "@jupyterlab/testutils": "^4.2.0-alpha.0", "@types/jest": "^29.2.0", "@types/webpack-env": "^1.18.0", "jest": "^29.2.0", diff --git a/testutils/package.json b/testutils/package.json index f6c0ecce59d3..dfcca5eaf49b 100644 --- a/testutils/package.json +++ b/testutils/package.json @@ -1,6 +1,6 @@ { "name": "@jupyterlab/testutils", - "version": "4.1.2", + "version": "4.2.0-alpha.0", "description": "JupyterLab - Test Utilities", "homepage": "https://github.com/jupyterlab/jupyterlab", "bugs": { @@ -31,11 +31,11 @@ "watch": "tsc -b --watch" }, "dependencies": { - "@jupyterlab/application": "^4.1.2", - "@jupyterlab/apputils": "^4.2.2", - "@jupyterlab/notebook": "^4.1.2", - "@jupyterlab/rendermime": "^4.1.2", - "@jupyterlab/testing": "^4.1.2" + "@jupyterlab/application": "^4.2.0-alpha.0", + "@jupyterlab/apputils": "^4.3.0-alpha.0", + "@jupyterlab/notebook": "^4.2.0-alpha.0", + "@jupyterlab/rendermime": "^4.2.0-alpha.0", + "@jupyterlab/testing": "^4.2.0-alpha.0" }, "devDependencies": { "rimraf": "~5.0.5", diff --git a/yarn.lock b/yarn.lock index 101b5994dd6c..88ef232648b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2096,19 +2096,19 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/application-extension@^4.1.2, @jupyterlab/application-extension@workspace:packages/application-extension, @jupyterlab/application-extension@~4.1.2": +"@jupyterlab/application-extension@^4.2.0-alpha.0, @jupyterlab/application-extension@workspace:packages/application-extension, @jupyterlab/application-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/application-extension@workspace:packages/application-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/property-inspector": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/property-inspector": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2125,56 +2125,56 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/application-top@workspace:dev_mode" dependencies: - "@jupyterlab/application": ~4.1.2 - "@jupyterlab/application-extension": ~4.1.2 - "@jupyterlab/apputils-extension": ~4.1.2 - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/buildutils": ^4.1.2 - "@jupyterlab/cell-toolbar-extension": ~4.1.2 - "@jupyterlab/celltags-extension": ~4.1.2 - "@jupyterlab/codemirror-extension": ~4.1.2 - "@jupyterlab/completer-extension": ~4.1.2 - "@jupyterlab/console-extension": ~4.1.2 - "@jupyterlab/coreutils": ~6.1.2 - "@jupyterlab/csvviewer-extension": ~4.1.2 - "@jupyterlab/debugger-extension": ~4.1.2 - "@jupyterlab/docmanager-extension": ~4.1.2 - "@jupyterlab/documentsearch-extension": ~4.1.2 - "@jupyterlab/extensionmanager-extension": ~4.1.2 - "@jupyterlab/filebrowser-extension": ~4.1.2 - "@jupyterlab/fileeditor-extension": ~4.1.2 - "@jupyterlab/help-extension": ~4.1.2 - "@jupyterlab/htmlviewer-extension": ~4.1.2 - "@jupyterlab/hub-extension": ~4.1.2 - "@jupyterlab/imageviewer-extension": ~4.1.2 - "@jupyterlab/inspector-extension": ~4.1.2 - "@jupyterlab/javascript-extension": ~4.1.2 - "@jupyterlab/json-extension": ~4.1.2 - "@jupyterlab/launcher-extension": ~4.1.2 - "@jupyterlab/logconsole-extension": ~4.1.2 - "@jupyterlab/lsp-extension": ~4.1.2 - "@jupyterlab/mainmenu-extension": ~4.1.2 - "@jupyterlab/markdownviewer-extension": ~4.1.2 - "@jupyterlab/markedparser-extension": ~4.1.2 - "@jupyterlab/mathjax-extension": ~4.1.2 - "@jupyterlab/mermaid-extension": ~4.1.2 - "@jupyterlab/metadataform-extension": ~4.1.2 - "@jupyterlab/notebook-extension": ~4.1.2 - "@jupyterlab/pdf-extension": ~4.1.2 - "@jupyterlab/pluginmanager-extension": ~4.1.2 - "@jupyterlab/rendermime-extension": ~4.1.2 - "@jupyterlab/running-extension": ~4.1.2 - "@jupyterlab/settingeditor-extension": ~4.1.2 - "@jupyterlab/shortcuts-extension": ~4.1.2 - "@jupyterlab/statusbar-extension": ~4.1.2 - "@jupyterlab/terminal-extension": ~4.1.2 - "@jupyterlab/theme-dark-extension": ~4.1.2 - "@jupyterlab/theme-light-extension": ~4.1.2 - "@jupyterlab/toc-extension": ~6.1.2 - "@jupyterlab/tooltip-extension": ~4.1.2 - "@jupyterlab/translation-extension": ~4.1.2 - "@jupyterlab/ui-components-extension": ~4.1.2 - "@jupyterlab/vega5-extension": ~4.1.2 + "@jupyterlab/application": ~4.2.0-alpha.0 + "@jupyterlab/application-extension": ~4.2.0-alpha.0 + "@jupyterlab/apputils-extension": ~4.2.0-alpha.0 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/buildutils": ^4.2.0-alpha.0 + "@jupyterlab/cell-toolbar-extension": ~4.2.0-alpha.0 + "@jupyterlab/celltags-extension": ~4.2.0-alpha.0 + "@jupyterlab/codemirror-extension": ~4.2.0-alpha.0 + "@jupyterlab/completer-extension": ~4.2.0-alpha.0 + "@jupyterlab/console-extension": ~4.2.0-alpha.0 + "@jupyterlab/coreutils": ~6.2.0-alpha.0 + "@jupyterlab/csvviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/debugger-extension": ~4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ~4.2.0-alpha.0 + "@jupyterlab/documentsearch-extension": ~4.2.0-alpha.0 + "@jupyterlab/extensionmanager-extension": ~4.2.0-alpha.0 + "@jupyterlab/filebrowser-extension": ~4.2.0-alpha.0 + "@jupyterlab/fileeditor-extension": ~4.2.0-alpha.0 + "@jupyterlab/help-extension": ~4.2.0-alpha.0 + "@jupyterlab/htmlviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/hub-extension": ~4.2.0-alpha.0 + "@jupyterlab/imageviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/inspector-extension": ~4.2.0-alpha.0 + "@jupyterlab/javascript-extension": ~4.2.0-alpha.0 + "@jupyterlab/json-extension": ~4.2.0-alpha.0 + "@jupyterlab/launcher-extension": ~4.2.0-alpha.0 + "@jupyterlab/logconsole-extension": ~4.2.0-alpha.0 + "@jupyterlab/lsp-extension": ~4.2.0-alpha.0 + "@jupyterlab/mainmenu-extension": ~4.2.0-alpha.0 + "@jupyterlab/markdownviewer-extension": ~4.2.0-alpha.0 + "@jupyterlab/markedparser-extension": ~4.2.0-alpha.0 + "@jupyterlab/mathjax-extension": ~4.2.0-alpha.0 + "@jupyterlab/mermaid-extension": ~4.2.0-alpha.0 + "@jupyterlab/metadataform-extension": ~4.2.0-alpha.0 + "@jupyterlab/notebook-extension": ~4.2.0-alpha.0 + "@jupyterlab/pdf-extension": ~4.2.0-alpha.0 + "@jupyterlab/pluginmanager-extension": ~4.2.0-alpha.0 + "@jupyterlab/rendermime-extension": ~4.2.0-alpha.0 + "@jupyterlab/running-extension": ~4.2.0-alpha.0 + "@jupyterlab/settingeditor-extension": ~4.2.0-alpha.0 + "@jupyterlab/shortcuts-extension": ~4.2.0-alpha.0 + "@jupyterlab/statusbar-extension": ~4.2.0-alpha.0 + "@jupyterlab/terminal-extension": ~4.2.0-alpha.0 + "@jupyterlab/theme-dark-extension": ~4.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ~4.2.0-alpha.0 + "@jupyterlab/toc-extension": ~6.2.0-alpha.0 + "@jupyterlab/tooltip-extension": ~4.2.0-alpha.0 + "@jupyterlab/translation-extension": ~4.2.0-alpha.0 + "@jupyterlab/ui-components-extension": ~4.2.0-alpha.0 + "@jupyterlab/vega5-extension": ~4.2.0-alpha.0 chokidar: ^3.4.0 css-loader: ^6.7.1 duplicate-package-checker-webpack-plugin: ^3.0.0 @@ -2200,21 +2200,21 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/application@^4.1.2, @jupyterlab/application@workspace:packages/application, @jupyterlab/application@~4.1.2": +"@jupyterlab/application@^4.2.0-alpha.0, @jupyterlab/application@workspace:packages/application, @jupyterlab/application@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/application@workspace:packages/application" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/application": ^2.3.0 "@lumino/commands": ^2.2.0 @@ -2233,23 +2233,23 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/apputils-extension@^4.1.2, @jupyterlab/apputils-extension@workspace:packages/apputils-extension, @jupyterlab/apputils-extension@~4.1.2": +"@jupyterlab/apputils-extension@^4.2.0-alpha.0, @jupyterlab/apputils-extension@workspace:packages/apputils-extension, @jupyterlab/apputils-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/apputils-extension@workspace:packages/apputils-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2266,20 +2266,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/apputils@^4.2.2, @jupyterlab/apputils@workspace:packages/apputils": +"@jupyterlab/apputils@^4.3.0-alpha.0, @jupyterlab/apputils@workspace:packages/apputils": version: 0.0.0-use.local resolution: "@jupyterlab/apputils@workspace:packages/apputils" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2301,14 +2301,14 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/attachments@^4.1.2, @jupyterlab/attachments@workspace:packages/attachments": +"@jupyterlab/attachments@^4.2.0-alpha.0, @jupyterlab/attachments@workspace:packages/attachments": version: 0.0.0-use.local resolution: "@jupyterlab/attachments@workspace:packages/attachments" dependencies: - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 rimraf: ~5.0.5 @@ -2317,7 +2317,7 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/builder@^4.1.2, @jupyterlab/builder@workspace:builder": +"@jupyterlab/builder@^4.2.0-alpha.0, @jupyterlab/builder@workspace:builder": version: 0.0.0-use.local resolution: "@jupyterlab/builder@workspace:builder" dependencies: @@ -2363,7 +2363,7 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/buildutils@^4.1.2, @jupyterlab/buildutils@workspace:buildutils": +"@jupyterlab/buildutils@^4.2.0-alpha.0, @jupyterlab/buildutils@workspace:buildutils": version: 0.0.0-use.local resolution: "@jupyterlab/buildutils@workspace:buildutils" dependencies: @@ -2402,32 +2402,32 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/cell-toolbar-extension@^4.1.2, @jupyterlab/cell-toolbar-extension@workspace:packages/cell-toolbar-extension, @jupyterlab/cell-toolbar-extension@~4.1.2": +"@jupyterlab/cell-toolbar-extension@^4.2.0-alpha.0, @jupyterlab/cell-toolbar-extension@workspace:packages/cell-toolbar-extension, @jupyterlab/cell-toolbar-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/cell-toolbar-extension@workspace:packages/cell-toolbar-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cell-toolbar": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cell-toolbar": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/cell-toolbar@^4.1.2, @jupyterlab/cell-toolbar@workspace:packages/cell-toolbar": +"@jupyterlab/cell-toolbar@^4.2.0-alpha.0, @jupyterlab/cell-toolbar@workspace:packages/cell-toolbar": version: 0.0.0-use.local resolution: "@jupyterlab/cell-toolbar@workspace:packages/cell-toolbar" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/disposable": ^2.1.2 @@ -2440,29 +2440,29 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/cells@^4.1.2, @jupyterlab/cells@workspace:packages/cells": +"@jupyterlab/cells@^4.2.0-alpha.0, @jupyterlab/cells@workspace:packages/cells": version: 0.0.0-use.local resolution: "@jupyterlab/cells@workspace:packages/cells" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/attachments": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/attachments": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/domutils": ^2.0.1 @@ -2482,14 +2482,14 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/celltags-extension@^4.1.2, @jupyterlab/celltags-extension@workspace:packages/celltags-extension, @jupyterlab/celltags-extension@~4.1.2": +"@jupyterlab/celltags-extension@^4.2.0-alpha.0, @jupyterlab/celltags-extension@workspace:packages/celltags-extension, @jupyterlab/celltags-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/celltags-extension@workspace:packages/celltags-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@rjsf/utils": ^5.13.4 react: ^18.2.0 @@ -2498,20 +2498,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/codeeditor@^4.1.2, @jupyterlab/codeeditor@workspace:packages/codeeditor": +"@jupyterlab/codeeditor@^4.2.0-alpha.0, @jupyterlab/codeeditor@workspace:packages/codeeditor": version: 0.0.0-use.local resolution: "@jupyterlab/codeeditor@workspace:packages/codeeditor" dependencies: "@codemirror/state": ^6.2.0 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/dragdrop": ^2.1.4 @@ -2527,7 +2527,7 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/codemirror-extension@^4.1.2, @jupyterlab/codemirror-extension@workspace:packages/codemirror-extension, @jupyterlab/codemirror-extension@~4.1.2": +"@jupyterlab/codemirror-extension@^4.2.0-alpha.0, @jupyterlab/codemirror-extension@workspace:packages/codemirror-extension, @jupyterlab/codemirror-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/codemirror-extension@workspace:packages/codemirror-extension" dependencies: @@ -2535,13 +2535,13 @@ __metadata: "@codemirror/language": ^6.6.0 "@codemirror/legacy-modes": ^6.3.2 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 "@rjsf/utils": ^5.13.4 @@ -2554,7 +2554,7 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/codemirror@^4.1.2, @jupyterlab/codemirror@workspace:packages/codemirror": +"@jupyterlab/codemirror@^4.2.0-alpha.0, @jupyterlab/codemirror@workspace:packages/codemirror": version: 0.0.0-use.local resolution: "@jupyterlab/codemirror@workspace:packages/codemirror" dependencies: @@ -2579,12 +2579,12 @@ __metadata: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lezer/common": ^1.0.2 "@lezer/generator": ^1.2.2 "@lezer/highlight": ^1.1.4 @@ -2602,15 +2602,15 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/completer-extension@^4.1.2, @jupyterlab/completer-extension@workspace:packages/completer-extension, @jupyterlab/completer-extension@~4.1.2": +"@jupyterlab/completer-extension@^4.2.0-alpha.0, @jupyterlab/completer-extension@workspace:packages/completer-extension, @jupyterlab/completer-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/completer-extension@workspace:packages/completer-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@rjsf/utils": ^5.13.4 @@ -2621,24 +2621,24 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/completer@^4.1.2, @jupyterlab/completer@workspace:packages/completer": +"@jupyterlab/completer@^4.2.0-alpha.0, @jupyterlab/completer@workspace:packages/completer": version: 0.0.0-use.local resolution: "@jupyterlab/completer@workspace:packages/completer" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2654,22 +2654,22 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/console-extension@^4.1.2, @jupyterlab/console-extension@workspace:packages/console-extension, @jupyterlab/console-extension@~4.1.2": +"@jupyterlab/console-extension@^4.2.0-alpha.0, @jupyterlab/console-extension@workspace:packages/console-extension, @jupyterlab/console-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/console-extension@workspace:packages/console-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2681,25 +2681,25 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/console@^4.1.2, @jupyterlab/console@workspace:packages/console": +"@jupyterlab/console@^4.2.0-alpha.0, @jupyterlab/console@workspace:packages/console": version: 0.0.0-use.local resolution: "@jupyterlab/console@workspace:packages/console" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/dragdrop": ^2.1.4 @@ -2714,7 +2714,7 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/coreutils@^6.1.2, @jupyterlab/coreutils@workspace:packages/coreutils, @jupyterlab/coreutils@~6.1.2": +"@jupyterlab/coreutils@^6.2.0-alpha.0, @jupyterlab/coreutils@workspace:packages/coreutils, @jupyterlab/coreutils@~6.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/coreutils@workspace:packages/coreutils" dependencies: @@ -2739,19 +2739,19 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/csvviewer-extension@^4.1.2, @jupyterlab/csvviewer-extension@workspace:packages/csvviewer-extension, @jupyterlab/csvviewer-extension@~4.1.2": +"@jupyterlab/csvviewer-extension@^4.2.0-alpha.0, @jupyterlab/csvviewer-extension@workspace:packages/csvviewer-extension, @jupyterlab/csvviewer-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/csvviewer-extension@workspace:packages/csvviewer-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/csvviewer": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/csvviewer": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/datagrid": ^2.3.0 "@lumino/widgets": ^2.3.1 rimraf: ~5.0.5 @@ -2760,15 +2760,15 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/csvviewer@^4.1.2, @jupyterlab/csvviewer@workspace:packages/csvviewer": +"@jupyterlab/csvviewer@^4.2.0-alpha.0, @jupyterlab/csvviewer@workspace:packages/csvviewer": version: 0.0.0-use.local resolution: "@jupyterlab/csvviewer@workspace:packages/csvviewer" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/datagrid": ^2.3.0 "@lumino/disposable": ^2.1.2 @@ -2785,26 +2785,26 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/debugger-extension@^4.1.2, @jupyterlab/debugger-extension@workspace:packages/debugger-extension, @jupyterlab/debugger-extension@~4.1.2": +"@jupyterlab/debugger-extension@^4.2.0-alpha.0, @jupyterlab/debugger-extension@workspace:packages/debugger-extension, @jupyterlab/debugger-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/debugger-extension@workspace:packages/debugger-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/debugger": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/debugger": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@types/jest": ^29.2.0 "@types/react-dom": ^18.0.9 rimraf: ~5.0.5 @@ -2813,29 +2813,29 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/debugger@^4.1.2, @jupyterlab/debugger@workspace:packages/debugger": +"@jupyterlab/debugger@^4.2.0-alpha.0, @jupyterlab/debugger@workspace:packages/debugger": version: 0.0.0-use.local resolution: "@jupyterlab/debugger@workspace:packages/debugger" dependencies: "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.9.6 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2856,20 +2856,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/docmanager-extension@^4.1.2, @jupyterlab/docmanager-extension@workspace:packages/docmanager-extension, @jupyterlab/docmanager-extension@~4.1.2": +"@jupyterlab/docmanager-extension@^4.2.0-alpha.0, @jupyterlab/docmanager-extension@workspace:packages/docmanager-extension, @jupyterlab/docmanager-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/docmanager-extension@workspace:packages/docmanager-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -2883,18 +2883,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/docmanager@^4.1.2, @jupyterlab/docmanager@workspace:packages/docmanager": +"@jupyterlab/docmanager@^4.2.0-alpha.0, @jupyterlab/docmanager@workspace:packages/docmanager": version: 0.0.0-use.local resolution: "@jupyterlab/docmanager@workspace:packages/docmanager" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2911,21 +2911,21 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/docregistry@^4.1.2, @jupyterlab/docregistry@workspace:packages/docregistry": +"@jupyterlab/docregistry@^4.2.0-alpha.0, @jupyterlab/docregistry@workspace:packages/docregistry": version: 0.0.0-use.local resolution: "@jupyterlab/docregistry@workspace:packages/docregistry" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2942,15 +2942,15 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/documentsearch-extension@^4.1.2, @jupyterlab/documentsearch-extension@workspace:packages/documentsearch-extension, @jupyterlab/documentsearch-extension@~4.1.2": +"@jupyterlab/documentsearch-extension@^4.2.0-alpha.0, @jupyterlab/documentsearch-extension@workspace:packages/documentsearch-extension, @jupyterlab/documentsearch-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/documentsearch-extension@workspace:packages/documentsearch-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 rimraf: ~5.0.5 @@ -2958,14 +2958,14 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/documentsearch@^4.1.2, @jupyterlab/documentsearch@workspace:packages/documentsearch": +"@jupyterlab/documentsearch@^4.2.0-alpha.0, @jupyterlab/documentsearch@workspace:packages/documentsearch": version: 0.0.0-use.local resolution: "@jupyterlab/documentsearch@workspace:packages/documentsearch" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -2985,39 +2985,39 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/example-app@workspace:examples/app" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/application-extension": ^4.1.2 - "@jupyterlab/apputils-extension": ^4.1.2 - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/celltags-extension": ^4.1.2 - "@jupyterlab/codemirror-extension": ^4.1.2 - "@jupyterlab/completer-extension": ^4.1.2 - "@jupyterlab/console-extension": ^4.1.2 - "@jupyterlab/csvviewer-extension": ^4.1.2 - "@jupyterlab/docmanager-extension": ^4.1.2 - "@jupyterlab/filebrowser-extension": ^4.1.2 - "@jupyterlab/fileeditor-extension": ^4.1.2 - "@jupyterlab/help-extension": ^4.1.2 - "@jupyterlab/imageviewer-extension": ^4.1.2 - "@jupyterlab/inspector-extension": ^4.1.2 - "@jupyterlab/launcher-extension": ^4.1.2 - "@jupyterlab/mainmenu-extension": ^4.1.2 - "@jupyterlab/markdownviewer-extension": ^4.1.2 - "@jupyterlab/mathjax-extension": ^4.1.2 - "@jupyterlab/metadataform-extension": ^4.1.2 - "@jupyterlab/notebook-extension": ^4.1.2 - "@jupyterlab/rendermime-extension": ^4.1.2 - "@jupyterlab/running-extension": ^4.1.2 - "@jupyterlab/settingeditor-extension": ^4.1.2 - "@jupyterlab/shortcuts-extension": ^4.1.2 - "@jupyterlab/statusbar-extension": ^4.1.2 - "@jupyterlab/theme-dark-extension": ^4.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/toc-extension": ^6.1.2 - "@jupyterlab/tooltip-extension": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/translation-extension": ^4.1.2 - "@jupyterlab/ui-components-extension": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/application-extension": ^4.2.0-alpha.0 + "@jupyterlab/apputils-extension": ^4.2.0-alpha.0 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/celltags-extension": ^4.2.0-alpha.0 + "@jupyterlab/codemirror-extension": ^4.2.0-alpha.0 + "@jupyterlab/completer-extension": ^4.2.0-alpha.0 + "@jupyterlab/console-extension": ^4.2.0-alpha.0 + "@jupyterlab/csvviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser-extension": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor-extension": ^4.2.0-alpha.0 + "@jupyterlab/help-extension": ^4.2.0-alpha.0 + "@jupyterlab/imageviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/inspector-extension": ^4.2.0-alpha.0 + "@jupyterlab/launcher-extension": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu-extension": ^4.2.0-alpha.0 + "@jupyterlab/markdownviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/mathjax-extension": ^4.2.0-alpha.0 + "@jupyterlab/metadataform-extension": ^4.2.0-alpha.0 + "@jupyterlab/notebook-extension": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-extension": ^4.2.0-alpha.0 + "@jupyterlab/running-extension": ^4.2.0-alpha.0 + "@jupyterlab/settingeditor-extension": ^4.2.0-alpha.0 + "@jupyterlab/shortcuts-extension": ^4.2.0-alpha.0 + "@jupyterlab/statusbar-extension": ^4.2.0-alpha.0 + "@jupyterlab/theme-dark-extension": ^4.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/toc-extension": ^6.2.0-alpha.0 + "@jupyterlab/tooltip-extension": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/translation-extension": ^4.2.0-alpha.0 + "@jupyterlab/ui-components-extension": ^4.2.0-alpha.0 css-loader: ^6.7.1 fs-extra: ^10.1.0 glob: ~7.1.6 @@ -3039,16 +3039,16 @@ __metadata: dependencies: "@jupyter/web-components": ^0.15.2 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 css-loader: ^6.7.1 @@ -3069,14 +3069,14 @@ __metadata: dependencies: "@jupyter/web-components": ^0.15.2 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 css-loader: ^6.7.1 @@ -3094,48 +3094,48 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/example-federated-core@workspace:examples/federated/core_package" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/application-extension": ^4.1.2 - "@jupyterlab/apputils-extension": ^4.1.2 - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/celltags-extension": ^4.1.2 - "@jupyterlab/codemirror-extension": ^4.1.2 - "@jupyterlab/completer-extension": ^4.1.2 - "@jupyterlab/console-extension": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/csvviewer-extension": ^4.1.2 - "@jupyterlab/debugger-extension": ^4.1.2 - "@jupyterlab/docmanager-extension": ^4.1.2 - "@jupyterlab/documentsearch-extension": ^4.1.2 - "@jupyterlab/extensionmanager-extension": ^4.1.2 - "@jupyterlab/filebrowser-extension": ^4.1.2 - "@jupyterlab/fileeditor-extension": ^4.1.2 - "@jupyterlab/help-extension": ^4.1.2 - "@jupyterlab/htmlviewer-extension": ^4.1.2 - "@jupyterlab/hub-extension": ^4.1.2 - "@jupyterlab/imageviewer-extension": ^4.1.2 - "@jupyterlab/inspector-extension": ^4.1.2 - "@jupyterlab/javascript-extension": ^4.1.2 - "@jupyterlab/json-extension": ^4.1.2 - "@jupyterlab/launcher-extension": ^4.1.2 - "@jupyterlab/logconsole-extension": ^4.1.2 - "@jupyterlab/lsp-extension": ^4.1.2 - "@jupyterlab/mainmenu-extension": ^4.1.2 - "@jupyterlab/mathjax-extension": ^4.1.2 - "@jupyterlab/metadataform-extension": ^4.1.2 - "@jupyterlab/notebook-extension": ^4.1.2 - "@jupyterlab/pdf-extension": ^4.1.2 - "@jupyterlab/rendermime-extension": ^4.1.2 - "@jupyterlab/settingeditor-extension": ^4.1.2 - "@jupyterlab/shortcuts-extension": ^4.1.2 - "@jupyterlab/statusbar-extension": ^4.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/toc-extension": ^6.1.2 - "@jupyterlab/tooltip-extension": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/translation-extension": ^4.1.2 - "@jupyterlab/ui-components-extension": ^4.1.2 - "@jupyterlab/vega5-extension": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/application-extension": ^4.2.0-alpha.0 + "@jupyterlab/apputils-extension": ^4.2.0-alpha.0 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/celltags-extension": ^4.2.0-alpha.0 + "@jupyterlab/codemirror-extension": ^4.2.0-alpha.0 + "@jupyterlab/completer-extension": ^4.2.0-alpha.0 + "@jupyterlab/console-extension": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/csvviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/debugger-extension": ^4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch-extension": ^4.2.0-alpha.0 + "@jupyterlab/extensionmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser-extension": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor-extension": ^4.2.0-alpha.0 + "@jupyterlab/help-extension": ^4.2.0-alpha.0 + "@jupyterlab/htmlviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/hub-extension": ^4.2.0-alpha.0 + "@jupyterlab/imageviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/inspector-extension": ^4.2.0-alpha.0 + "@jupyterlab/javascript-extension": ^4.2.0-alpha.0 + "@jupyterlab/json-extension": ^4.2.0-alpha.0 + "@jupyterlab/launcher-extension": ^4.2.0-alpha.0 + "@jupyterlab/logconsole-extension": ^4.2.0-alpha.0 + "@jupyterlab/lsp-extension": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu-extension": ^4.2.0-alpha.0 + "@jupyterlab/mathjax-extension": ^4.2.0-alpha.0 + "@jupyterlab/metadataform-extension": ^4.2.0-alpha.0 + "@jupyterlab/notebook-extension": ^4.2.0-alpha.0 + "@jupyterlab/pdf-extension": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-extension": ^4.2.0-alpha.0 + "@jupyterlab/settingeditor-extension": ^4.2.0-alpha.0 + "@jupyterlab/shortcuts-extension": ^4.2.0-alpha.0 + "@jupyterlab/statusbar-extension": ^4.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/toc-extension": ^6.2.0-alpha.0 + "@jupyterlab/tooltip-extension": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/translation-extension": ^4.2.0-alpha.0 + "@jupyterlab/ui-components-extension": ^4.2.0-alpha.0 + "@jupyterlab/vega5-extension": ^4.2.0-alpha.0 copy-webpack-plugin: ^11.0.0 css-loader: ^6.7.1 fs-extra: ^10.1.0 @@ -3156,20 +3156,20 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/example-federated-md@workspace:examples/federated/md_package" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/example-federated-middle": ^3.0.5 - "@jupyterlab/markdownviewer-extension": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/example-federated-middle": ^3.1.0-alpha.0 + "@jupyterlab/markdownviewer-extension": ^4.2.0-alpha.0 "@lumino/widgets": ^2.3.1 rimraf: ~5.0.5 languageName: unknown linkType: soft -"@jupyterlab/example-federated-middle@^3.0.5, @jupyterlab/example-federated-middle@workspace:examples/federated/middle_package": +"@jupyterlab/example-federated-middle@^3.1.0-alpha.0, @jupyterlab/example-federated-middle@workspace:examples/federated/middle_package": version: 0.0.0-use.local resolution: "@jupyterlab/example-federated-middle@workspace:examples/federated/middle_package" dependencies: - "@jupyterlab/builder": ^4.1.2 + "@jupyterlab/builder": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 rimraf: ~5.0.5 languageName: unknown @@ -3186,18 +3186,18 @@ __metadata: resolution: "@jupyterlab/example-filebrowser@workspace:examples/filebrowser" dependencies: "@jupyter/web-components": ^0.15.2 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 css-loader: ^6.7.1 @@ -3218,22 +3218,22 @@ __metadata: dependencies: "@jupyter/web-components": ^0.15.2 "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/markedparser-extension": ^4.1.2 - "@jupyterlab/mathjax-extension": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/markedparser-extension": ^4.2.0-alpha.0 + "@jupyterlab/mathjax-extension": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 css-loader: ^6.7.1 @@ -3252,8 +3252,8 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/example-services-browser@workspace:packages/services/examples/browser" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 rimraf: ~5.0.5 typescript: ~5.1.6 @@ -3266,10 +3266,10 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/example-services-outputarea@workspace:packages/services/examples/typescript-browser-with-output" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 css-loader: ^6.7.1 rimraf: ~5.0.5 style-loader: ~3.3.1 @@ -3283,11 +3283,11 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/example-simple-list@workspace:packages/ui-components/examples/simple-windowed-list" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 css-loader: ^6.7.1 @@ -3306,11 +3306,11 @@ __metadata: resolution: "@jupyterlab/example-terminal@workspace:examples/terminal" dependencies: "@jupyter/web-components": ^0.15.2 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/terminal": ^4.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/terminal": ^4.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 "@lumino/widgets": ^2.3.1 css-loader: ^6.7.1 mini-css-extract-plugin: ^2.7.0 @@ -3324,31 +3324,31 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/extensionmanager-extension@^4.1.2, @jupyterlab/extensionmanager-extension@workspace:packages/extensionmanager-extension, @jupyterlab/extensionmanager-extension@~4.1.2": +"@jupyterlab/extensionmanager-extension@^4.2.0-alpha.0, @jupyterlab/extensionmanager-extension@workspace:packages/extensionmanager-extension, @jupyterlab/extensionmanager-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/extensionmanager-extension@workspace:packages/extensionmanager-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/extensionmanager": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/extensionmanager": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/extensionmanager@^4.1.2, @jupyterlab/extensionmanager@workspace:packages/extensionmanager": +"@jupyterlab/extensionmanager@^4.2.0-alpha.0, @jupyterlab/extensionmanager@workspace:packages/extensionmanager": version: 0.0.0-use.local resolution: "@jupyterlab/extensionmanager@workspace:packages/extensionmanager" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/messaging": ^2.0.1 "@lumino/polling": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -3365,22 +3365,22 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/filebrowser-extension@^4.1.2, @jupyterlab/filebrowser-extension@workspace:packages/filebrowser-extension, @jupyterlab/filebrowser-extension@~4.1.2": +"@jupyterlab/filebrowser-extension@^4.2.0-alpha.0, @jupyterlab/filebrowser-extension@workspace:packages/filebrowser-extension, @jupyterlab/filebrowser-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/filebrowser-extension@workspace:packages/filebrowser-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/widgets": ^2.3.1 @@ -3390,20 +3390,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/filebrowser@^4.1.2, @jupyterlab/filebrowser@workspace:packages/filebrowser": +"@jupyterlab/filebrowser@^4.2.0-alpha.0, @jupyterlab/filebrowser@workspace:packages/filebrowser": version: 0.0.0-use.local resolution: "@jupyterlab/filebrowser@workspace:packages/filebrowser" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -3423,34 +3423,34 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/fileeditor-extension@^4.1.2, @jupyterlab/fileeditor-extension@workspace:packages/fileeditor-extension, @jupyterlab/fileeditor-extension@~4.1.2": +"@jupyterlab/fileeditor-extension@^4.2.0-alpha.0, @jupyterlab/fileeditor-extension@workspace:packages/fileeditor-extension, @jupyterlab/fileeditor-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/fileeditor-extension@workspace:packages/fileeditor-extension" dependencies: "@codemirror/commands": ^6.2.3 "@codemirror/search": ^6.3.0 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -3461,23 +3461,23 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/fileeditor@^4.1.2, @jupyterlab/fileeditor@workspace:packages/fileeditor": +"@jupyterlab/fileeditor@^4.2.0-alpha.0, @jupyterlab/fileeditor@workspace:packages/fileeditor": version: 0.0.0-use.local resolution: "@jupyterlab/fileeditor@workspace:packages/fileeditor" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 @@ -3496,15 +3496,15 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/galata-extension@workspace:galata/extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/debugger": ^4.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/debugger": ^4.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 @@ -3517,15 +3517,15 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/galata@workspace:galata" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/debugger": ^4.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/debugger": ^4.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@playwright/test": ^1.32.2 "@stdlib/stats": ~0.0.13 @@ -3541,17 +3541,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/help-extension@^4.1.2, @jupyterlab/help-extension@workspace:packages/help-extension, @jupyterlab/help-extension@~4.1.2": +"@jupyterlab/help-extension@^4.2.0-alpha.0, @jupyterlab/help-extension@workspace:packages/help-extension, @jupyterlab/help-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/help-extension@workspace:packages/help-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/virtualdom": ^2.0.1 @@ -3563,32 +3563,32 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/htmlviewer-extension@^4.1.2, @jupyterlab/htmlviewer-extension@workspace:packages/htmlviewer-extension, @jupyterlab/htmlviewer-extension@~4.1.2": +"@jupyterlab/htmlviewer-extension@^4.2.0-alpha.0, @jupyterlab/htmlviewer-extension@workspace:packages/htmlviewer-extension, @jupyterlab/htmlviewer-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/htmlviewer-extension@workspace:packages/htmlviewer-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/htmlviewer": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/htmlviewer": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/htmlviewer@^4.1.2, @jupyterlab/htmlviewer@workspace:packages/htmlviewer": +"@jupyterlab/htmlviewer@^4.2.0-alpha.0, @jupyterlab/htmlviewer@workspace:packages/htmlviewer": version: 0.0.0-use.local resolution: "@jupyterlab/htmlviewer@workspace:packages/htmlviewer" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -3598,43 +3598,43 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/hub-extension@^4.1.2, @jupyterlab/hub-extension@workspace:packages/hub-extension, @jupyterlab/hub-extension@~4.1.2": +"@jupyterlab/hub-extension@^4.2.0-alpha.0, @jupyterlab/hub-extension@workspace:packages/hub-extension, @jupyterlab/hub-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/hub-extension@workspace:packages/hub-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/imageviewer-extension@^4.1.2, @jupyterlab/imageviewer-extension@workspace:packages/imageviewer-extension, @jupyterlab/imageviewer-extension@~4.1.2": +"@jupyterlab/imageviewer-extension@^4.2.0-alpha.0, @jupyterlab/imageviewer-extension@workspace:packages/imageviewer-extension, @jupyterlab/imageviewer-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/imageviewer-extension@workspace:packages/imageviewer-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/imageviewer": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/imageviewer": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/imageviewer@^4.1.2, @jupyterlab/imageviewer@workspace:packages/imageviewer": +"@jupyterlab/imageviewer@^4.2.0-alpha.0, @jupyterlab/imageviewer@workspace:packages/imageviewer": version: 0.0.0-use.local resolution: "@jupyterlab/imageviewer@workspace:packages/imageviewer" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 @@ -3646,18 +3646,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/inspector-extension@^4.1.2, @jupyterlab/inspector-extension@workspace:packages/inspector-extension, @jupyterlab/inspector-extension@~4.1.2": +"@jupyterlab/inspector-extension@^4.2.0-alpha.0, @jupyterlab/inspector-extension@workspace:packages/inspector-extension, @jupyterlab/inspector-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/inspector-extension@workspace:packages/inspector-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/inspector": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/inspector": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/widgets": ^2.3.1 rimraf: ~5.0.5 typedoc: ~0.24.7 @@ -3665,18 +3665,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/inspector@^4.1.2, @jupyterlab/inspector@workspace:packages/inspector": +"@jupyterlab/inspector@^4.2.0-alpha.0, @jupyterlab/inspector@workspace:packages/inspector": version: 0.0.0-use.local resolution: "@jupyterlab/inspector@workspace:packages/inspector" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/polling": ^2.1.2 @@ -3690,27 +3690,27 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/javascript-extension@^4.1.2, @jupyterlab/javascript-extension@workspace:packages/javascript-extension, @jupyterlab/javascript-extension@~4.1.2": +"@jupyterlab/javascript-extension@^4.2.0-alpha.0, @jupyterlab/javascript-extension@workspace:packages/javascript-extension, @jupyterlab/javascript-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/javascript-extension@workspace:packages/javascript-extension" dependencies: - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/json-extension@^4.1.2, @jupyterlab/json-extension@workspace:packages/json-extension, @jupyterlab/json-extension@~4.1.2": +"@jupyterlab/json-extension@^4.2.0-alpha.0, @jupyterlab/json-extension@workspace:packages/json-extension, @jupyterlab/json-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/json-extension@workspace:packages/json-extension" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lezer/highlight": ^1.1.4 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 @@ -3729,16 +3729,16 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/launcher-extension@^4.1.2, @jupyterlab/launcher-extension@workspace:packages/launcher-extension, @jupyterlab/launcher-extension@~4.1.2": +"@jupyterlab/launcher-extension@^4.2.0-alpha.0, @jupyterlab/launcher-extension@workspace:packages/launcher-extension, @jupyterlab/launcher-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/launcher-extension@workspace:packages/launcher-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -3748,13 +3748,13 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/launcher@^4.1.2, @jupyterlab/launcher@workspace:packages/launcher": +"@jupyterlab/launcher@^4.2.0-alpha.0, @jupyterlab/launcher@workspace:packages/launcher": version: 0.0.0-use.local resolution: "@jupyterlab/launcher@workspace:packages/launcher" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -3769,19 +3769,19 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/logconsole-extension@^4.1.2, @jupyterlab/logconsole-extension@workspace:packages/logconsole-extension, @jupyterlab/logconsole-extension@~4.1.2": +"@jupyterlab/logconsole-extension@^4.2.0-alpha.0, @jupyterlab/logconsole-extension@workspace:packages/logconsole-extension, @jupyterlab/logconsole-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/logconsole-extension@workspace:packages/logconsole-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -3791,17 +3791,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/logconsole@^4.1.2, @jupyterlab/logconsole@workspace:packages/logconsole": +"@jupyterlab/logconsole@^4.2.0-alpha.0, @jupyterlab/logconsole@workspace:packages/logconsole": version: 0.0.0-use.local resolution: "@jupyterlab/logconsole@workspace:packages/logconsole" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 @@ -3814,17 +3814,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/lsp-extension@^4.1.2, @jupyterlab/lsp-extension@workspace:packages/lsp-extension, @jupyterlab/lsp-extension@~4.1.2": +"@jupyterlab/lsp-extension@^4.2.0-alpha.0, @jupyterlab/lsp-extension@workspace:packages/lsp-extension, @jupyterlab/lsp-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/lsp-extension@workspace:packages/lsp-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/polling": ^2.1.2 "@lumino/signaling": ^2.1.2 @@ -3835,18 +3835,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/lsp@^4.1.2, @jupyterlab/lsp@workspace:packages/lsp": +"@jupyterlab/lsp@^4.2.0-alpha.0, @jupyterlab/lsp@workspace:packages/lsp": version: 0.0.0-use.local resolution: "@jupyterlab/lsp@workspace:packages/lsp" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 @@ -3864,18 +3864,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/mainmenu-extension@^4.1.2, @jupyterlab/mainmenu-extension@workspace:packages/mainmenu-extension, @jupyterlab/mainmenu-extension@~4.1.2": +"@jupyterlab/mainmenu-extension@^4.2.0-alpha.0, @jupyterlab/mainmenu-extension@workspace:packages/mainmenu-extension, @jupyterlab/mainmenu-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/mainmenu-extension@workspace:packages/mainmenu-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -3886,14 +3886,14 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/mainmenu@^4.1.2, @jupyterlab/mainmenu@workspace:packages/mainmenu": +"@jupyterlab/mainmenu@^4.2.0-alpha.0, @jupyterlab/mainmenu@workspace:packages/mainmenu": version: 0.0.0-use.local resolution: "@jupyterlab/mainmenu@workspace:packages/mainmenu" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -3906,34 +3906,34 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/markdownviewer-extension@^4.1.2, @jupyterlab/markdownviewer-extension@workspace:packages/markdownviewer-extension, @jupyterlab/markdownviewer-extension@~4.1.2": +"@jupyterlab/markdownviewer-extension@^4.2.0-alpha.0, @jupyterlab/markdownviewer-extension@workspace:packages/markdownviewer-extension, @jupyterlab/markdownviewer-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/markdownviewer-extension@workspace:packages/markdownviewer-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/markdownviewer": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/markdownviewer": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/markdownviewer@^4.1.2, @jupyterlab/markdownviewer@workspace:packages/markdownviewer": +"@jupyterlab/markdownviewer@^4.2.0-alpha.0, @jupyterlab/markdownviewer@workspace:packages/markdownviewer": version: 0.0.0-use.local resolution: "@jupyterlab/markdownviewer@workspace:packages/markdownviewer" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 @@ -3944,15 +3944,15 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/markedparser-extension@^4.1.2, @jupyterlab/markedparser-extension@workspace:packages/markedparser-extension, @jupyterlab/markedparser-extension@~4.1.2": +"@jupyterlab/markedparser-extension@^4.2.0-alpha.0, @jupyterlab/markedparser-extension@workspace:packages/markedparser-extension, @jupyterlab/markedparser-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/markedparser-extension@workspace:packages/markedparser-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/mermaid": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/mermaid": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@types/d3": ^7.4.0 "@types/dompurify": ^2.4.0 @@ -3965,12 +3965,12 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/mathjax-extension@^4.1.2, @jupyterlab/mathjax-extension@workspace:packages/mathjax-extension, @jupyterlab/mathjax-extension@~4.1.2": +"@jupyterlab/mathjax-extension@^4.2.0-alpha.0, @jupyterlab/mathjax-extension@workspace:packages/mathjax-extension, @jupyterlab/mathjax-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/mathjax-extension@workspace:packages/mathjax-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 mathjax-full: ^3.2.2 rimraf: ~5.0.5 @@ -3979,28 +3979,28 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/mermaid-extension@^4.1.2, @jupyterlab/mermaid-extension@workspace:packages/mermaid-extension, @jupyterlab/mermaid-extension@~4.1.2": +"@jupyterlab/mermaid-extension@^4.2.0-alpha.0, @jupyterlab/mermaid-extension@workspace:packages/mermaid-extension, @jupyterlab/mermaid-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/mermaid-extension@workspace:packages/mermaid-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/mermaid": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/mermaid": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/mermaid@^4.1.2, @jupyterlab/mermaid@workspace:packages/mermaid": +"@jupyterlab/mermaid@^4.2.0-alpha.0, @jupyterlab/mermaid@workspace:packages/mermaid": version: 0.0.0-use.local resolution: "@jupyterlab/mermaid@workspace:packages/mermaid" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 "@types/jest": ^29.2.0 @@ -4012,33 +4012,33 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/metadataform-extension@^4.1.2, @jupyterlab/metadataform-extension@workspace:packages/metadataform-extension, @jupyterlab/metadataform-extension@~4.1.2": +"@jupyterlab/metadataform-extension@^4.2.0-alpha.0, @jupyterlab/metadataform-extension@workspace:packages/metadataform-extension, @jupyterlab/metadataform-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/metadataform-extension@workspace:packages/metadataform-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/metadataform": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/metadataform": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/metadataform@^4.1.2, @jupyterlab/metadataform@workspace:packages/metadataform": +"@jupyterlab/metadataform@^4.2.0-alpha.0, @jupyterlab/metadataform@workspace:packages/metadataform": version: 0.0.0-use.local resolution: "@jupyterlab/metadataform@workspace:packages/metadataform" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 @@ -4059,101 +4059,101 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/metapackage@workspace:packages/metapackage" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/application-extension": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/apputils-extension": ^4.1.2 - "@jupyterlab/attachments": ^4.1.2 - "@jupyterlab/cell-toolbar": ^4.1.2 - "@jupyterlab/cell-toolbar-extension": ^4.1.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/celltags-extension": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/codemirror-extension": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/completer-extension": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/console-extension": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/csvviewer": ^4.1.2 - "@jupyterlab/csvviewer-extension": ^4.1.2 - "@jupyterlab/debugger": ^4.1.2 - "@jupyterlab/debugger-extension": ^4.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docmanager-extension": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/documentsearch-extension": ^4.1.2 - "@jupyterlab/extensionmanager": ^4.1.2 - "@jupyterlab/extensionmanager-extension": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/filebrowser-extension": ^4.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/fileeditor-extension": ^4.1.2 - "@jupyterlab/help-extension": ^4.1.2 - "@jupyterlab/htmlviewer": ^4.1.2 - "@jupyterlab/htmlviewer-extension": ^4.1.2 - "@jupyterlab/hub-extension": ^4.1.2 - "@jupyterlab/imageviewer": ^4.1.2 - "@jupyterlab/imageviewer-extension": ^4.1.2 - "@jupyterlab/inspector": ^4.1.2 - "@jupyterlab/inspector-extension": ^4.1.2 - "@jupyterlab/javascript-extension": ^4.1.2 - "@jupyterlab/json-extension": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/launcher-extension": ^4.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/logconsole-extension": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/lsp-extension": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/mainmenu-extension": ^4.1.2 - "@jupyterlab/markdownviewer": ^4.1.2 - "@jupyterlab/markdownviewer-extension": ^4.1.2 - "@jupyterlab/markedparser-extension": ^4.1.2 - "@jupyterlab/mathjax-extension": ^4.1.2 - "@jupyterlab/mermaid": ^4.1.2 - "@jupyterlab/mermaid-extension": ^4.1.2 - "@jupyterlab/metadataform": ^4.1.2 - "@jupyterlab/metadataform-extension": ^4.1.2 - "@jupyterlab/nbconvert-css": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/notebook-extension": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/pdf-extension": ^4.1.2 - "@jupyterlab/pluginmanager": ^4.1.2 - "@jupyterlab/pluginmanager-extension": ^4.1.2 - "@jupyterlab/property-inspector": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-extension": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/running-extension": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingeditor": ^4.1.2 - "@jupyterlab/settingeditor-extension": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/shortcuts-extension": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/statusbar-extension": ^4.1.2 - "@jupyterlab/terminal": ^4.1.2 - "@jupyterlab/terminal-extension": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/theme-dark-extension": ^4.1.2 - "@jupyterlab/theme-light-extension": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/toc-extension": ^6.1.2 - "@jupyterlab/tooltip": ^4.1.2 - "@jupyterlab/tooltip-extension": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/translation-extension": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 - "@jupyterlab/ui-components-extension": ^4.1.2 - "@jupyterlab/vega5-extension": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/application-extension": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/apputils-extension": ^4.2.0-alpha.0 + "@jupyterlab/attachments": ^4.2.0-alpha.0 + "@jupyterlab/cell-toolbar": ^4.2.0-alpha.0 + "@jupyterlab/cell-toolbar-extension": ^4.2.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/celltags-extension": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/codemirror-extension": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/completer-extension": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/console-extension": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/csvviewer": ^4.2.0-alpha.0 + "@jupyterlab/csvviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/debugger": ^4.2.0-alpha.0 + "@jupyterlab/debugger-extension": ^4.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch-extension": ^4.2.0-alpha.0 + "@jupyterlab/extensionmanager": ^4.2.0-alpha.0 + "@jupyterlab/extensionmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser-extension": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/fileeditor-extension": ^4.2.0-alpha.0 + "@jupyterlab/help-extension": ^4.2.0-alpha.0 + "@jupyterlab/htmlviewer": ^4.2.0-alpha.0 + "@jupyterlab/htmlviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/hub-extension": ^4.2.0-alpha.0 + "@jupyterlab/imageviewer": ^4.2.0-alpha.0 + "@jupyterlab/imageviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/inspector": ^4.2.0-alpha.0 + "@jupyterlab/inspector-extension": ^4.2.0-alpha.0 + "@jupyterlab/javascript-extension": ^4.2.0-alpha.0 + "@jupyterlab/json-extension": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/launcher-extension": ^4.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/logconsole-extension": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/lsp-extension": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu-extension": ^4.2.0-alpha.0 + "@jupyterlab/markdownviewer": ^4.2.0-alpha.0 + "@jupyterlab/markdownviewer-extension": ^4.2.0-alpha.0 + "@jupyterlab/markedparser-extension": ^4.2.0-alpha.0 + "@jupyterlab/mathjax-extension": ^4.2.0-alpha.0 + "@jupyterlab/mermaid": ^4.2.0-alpha.0 + "@jupyterlab/mermaid-extension": ^4.2.0-alpha.0 + "@jupyterlab/metadataform": ^4.2.0-alpha.0 + "@jupyterlab/metadataform-extension": ^4.2.0-alpha.0 + "@jupyterlab/nbconvert-css": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/notebook-extension": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/pdf-extension": ^4.2.0-alpha.0 + "@jupyterlab/pluginmanager": ^4.2.0-alpha.0 + "@jupyterlab/pluginmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/property-inspector": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-extension": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/running-extension": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingeditor": ^4.2.0-alpha.0 + "@jupyterlab/settingeditor-extension": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/shortcuts-extension": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/statusbar-extension": ^4.2.0-alpha.0 + "@jupyterlab/terminal": ^4.2.0-alpha.0 + "@jupyterlab/terminal-extension": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/theme-dark-extension": ^4.2.0-alpha.0 + "@jupyterlab/theme-light-extension": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/toc-extension": ^6.2.0-alpha.0 + "@jupyterlab/tooltip": ^4.2.0-alpha.0 + "@jupyterlab/tooltip-extension": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/translation-extension": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 + "@jupyterlab/ui-components-extension": ^4.2.0-alpha.0 + "@jupyterlab/vega5-extension": ^4.2.0-alpha.0 "@types/jest": ^29.2.0 fs-extra: ^10.1.0 jest: ^29.2.0 @@ -4168,8 +4168,8 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/mock-consumer@workspace:jupyterlab/tests/mock_packages/interop/consumer" dependencies: - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/mock-token": ^4.1.2 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/mock-token": ^4.2.0-alpha.0 languageName: unknown linkType: soft @@ -4177,8 +4177,8 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/mock-extension@workspace:jupyterlab/tests/mock_packages/extension" dependencies: - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 languageName: unknown linkType: soft @@ -4186,12 +4186,12 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/mock-provider@workspace:jupyterlab/tests/mock_packages/interop/provider" dependencies: - "@jupyterlab/builder": ^4.1.2 - "@jupyterlab/mock-token": ^4.1.2 + "@jupyterlab/builder": ^4.2.0-alpha.0 + "@jupyterlab/mock-token": ^4.2.0-alpha.0 languageName: unknown linkType: soft -"@jupyterlab/mock-token@^4.1.2, @jupyterlab/mock-token@workspace:jupyterlab/tests/mock_packages/interop/token": +"@jupyterlab/mock-token@^4.2.0-alpha.0, @jupyterlab/mock-token@workspace:jupyterlab/tests/mock_packages/interop/token": version: 0.0.0-use.local resolution: "@jupyterlab/mock-token@workspace:jupyterlab/tests/mock_packages/interop/token" dependencies: @@ -4199,17 +4199,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/nbconvert-css@^4.1.2, @jupyterlab/nbconvert-css@workspace:packages/nbconvert-css": +"@jupyterlab/nbconvert-css@^4.2.0-alpha.0, @jupyterlab/nbconvert-css@workspace:packages/nbconvert-css": version: 0.0.0-use.local resolution: "@jupyterlab/nbconvert-css@workspace:packages/nbconvert-css" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/outputarea": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/outputarea": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 css-loader: ^6.7.1 mini-css-extract-plugin: ^2.7.0 null-loader: ^4.0.0 @@ -4219,11 +4219,11 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/nbformat@^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@^4.1.2, @jupyterlab/nbformat@workspace:packages/nbformat": +"@jupyterlab/nbformat@^4.2.0-alpha.0, @jupyterlab/nbformat@workspace:packages/nbformat": version: 0.0.0-use.local resolution: "@jupyterlab/nbformat@workspace:packages/nbformat" dependencies: - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@types/jest": ^29.2.0 jest: ^29.2.0 @@ -4232,40 +4232,49 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/notebook-extension@^4.1.2, @jupyterlab/notebook-extension@workspace:packages/notebook-extension, @jupyterlab/notebook-extension@~4.1.2": +"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0": + version: 4.1.3 + resolution: "@jupyterlab/nbformat@npm:4.1.3" + dependencies: + "@lumino/coreutils": ^2.1.2 + checksum: db323f225fea8204407a069745aff80687cafbb2c2ec663bf2e820fb41ebf7cb1f9d03ba9c0480a4d54a6e64bb0cd1833541e36b5314e9f8e16bd4a321316d40 + languageName: node + linkType: hard + +"@jupyterlab/notebook-extension@^4.2.0-alpha.0, @jupyterlab/notebook-extension@workspace:packages/notebook-extension, @jupyterlab/notebook-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/notebook-extension@workspace:packages/notebook-extension" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/completer": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/docmanager-extension": ^4.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/filebrowser": ^4.1.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/logconsole": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/metadataform": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/property-inspector": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/completer": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/docmanager-extension": ^4.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/filebrowser": ^4.2.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/logconsole": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/metadataform": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/property-inspector": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -4281,29 +4290,29 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/notebook@^4.1.2, @jupyterlab/notebook@workspace:packages/notebook": +"@jupyterlab/notebook@^4.2.0-alpha.0, @jupyterlab/notebook@workspace:packages/notebook": version: 0.0.0-use.local resolution: "@jupyterlab/notebook@workspace:packages/notebook" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/cells": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/codemirror": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/documentsearch": ^4.1.2 - "@jupyterlab/lsp": ^4.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/cells": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/codemirror": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/documentsearch": ^4.2.0-alpha.0 + "@jupyterlab/lsp": ^4.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -4323,11 +4332,11 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/observables@^5.1.2, @jupyterlab/observables@workspace:packages/observables": +"@jupyterlab/observables@^5.2.0-alpha.0, @jupyterlab/observables@workspace:packages/observables": version: 0.0.0-use.local resolution: "@jupyterlab/observables@workspace:packages/observables" dependencies: - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -4341,18 +4350,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/outputarea@^4.1.2, @jupyterlab/outputarea@workspace:packages/outputarea": +"@jupyterlab/outputarea@^4.2.0-alpha.0, @jupyterlab/outputarea@workspace:packages/outputarea": version: 0.0.0-use.local resolution: "@jupyterlab/outputarea@workspace:packages/outputarea" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -4368,11 +4377,11 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/pdf-extension@^4.1.2, @jupyterlab/pdf-extension@workspace:packages/pdf-extension, @jupyterlab/pdf-extension@~4.1.2": +"@jupyterlab/pdf-extension@^4.2.0-alpha.0, @jupyterlab/pdf-extension@workspace:packages/pdf-extension, @jupyterlab/pdf-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/pdf-extension@workspace:packages/pdf-extension" dependencies: - "@jupyterlab/rendermime-interfaces": ^3.9.2 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -4382,32 +4391,32 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/pluginmanager-extension@^4.1.2, @jupyterlab/pluginmanager-extension@workspace:packages/pluginmanager-extension, @jupyterlab/pluginmanager-extension@~4.1.2": +"@jupyterlab/pluginmanager-extension@^4.2.0-alpha.0, @jupyterlab/pluginmanager-extension@workspace:packages/pluginmanager-extension, @jupyterlab/pluginmanager-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/pluginmanager-extension@workspace:packages/pluginmanager-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/pluginmanager": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/pluginmanager": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/pluginmanager@^4.1.2, @jupyterlab/pluginmanager@workspace:packages/pluginmanager": +"@jupyterlab/pluginmanager@^4.2.0-alpha.0, @jupyterlab/pluginmanager@workspace:packages/pluginmanager": version: 0.0.0-use.local resolution: "@jupyterlab/pluginmanager@workspace:packages/pluginmanager" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -4419,13 +4428,13 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/property-inspector@^4.1.2, @jupyterlab/property-inspector@workspace:packages/property-inspector": +"@jupyterlab/property-inspector@^4.2.0-alpha.0, @jupyterlab/property-inspector@workspace:packages/property-inspector": version: 0.0.0-use.local resolution: "@jupyterlab/property-inspector@workspace:packages/property-inspector" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/signaling": ^2.1.2 @@ -4437,22 +4446,22 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/rendermime-extension@^4.1.2, @jupyterlab/rendermime-extension@workspace:packages/rendermime-extension, @jupyterlab/rendermime-extension@~4.1.2": +"@jupyterlab/rendermime-extension@^4.2.0-alpha.0, @jupyterlab/rendermime-extension@workspace:packages/rendermime-extension, @jupyterlab/rendermime-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/rendermime-extension@workspace:packages/rendermime-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/docmanager": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/docmanager": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/rendermime-interfaces@^3.9.2, @jupyterlab/rendermime-interfaces@workspace:packages/rendermime-interfaces": +"@jupyterlab/rendermime-interfaces@^3.10.0-alpha.0, @jupyterlab/rendermime-interfaces@workspace:packages/rendermime-interfaces": version: 0.0.0-use.local resolution: "@jupyterlab/rendermime-interfaces@workspace:packages/rendermime-interfaces" dependencies: @@ -4464,18 +4473,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/rendermime@^4.1.2, @jupyterlab/rendermime@workspace:packages/rendermime": +"@jupyterlab/rendermime@^4.2.0-alpha.0, @jupyterlab/rendermime@workspace:packages/rendermime": version: 0.0.0-use.local resolution: "@jupyterlab/rendermime@workspace:packages/rendermime" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/signaling": ^2.1.2 @@ -4515,18 +4524,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/running-extension@^4.1.2, @jupyterlab/running-extension@workspace:packages/running-extension, @jupyterlab/running-extension@~4.1.2": +"@jupyterlab/running-extension@^4.2.0-alpha.0, @jupyterlab/running-extension@workspace:packages/running-extension, @jupyterlab/running-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/running-extension@workspace:packages/running-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/polling": ^2.1.2 "@lumino/signaling": ^2.1.2 @@ -4537,13 +4546,13 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/running@^4.1.2, @jupyterlab/running@workspace:packages/running": +"@jupyterlab/running@^4.2.0-alpha.0, @jupyterlab/running@workspace:packages/running": version: 0.0.0-use.local resolution: "@jupyterlab/running@workspace:packages/running" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 @@ -4556,16 +4565,16 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/services@^7.1.2, @jupyterlab/services@workspace:packages/services": +"@jupyterlab/services@^7.2.0-alpha.0, @jupyterlab/services@workspace:packages/services": version: 0.0.0-use.local resolution: "@jupyterlab/services@workspace:packages/services" dependencies: "@jupyter/ydoc": ^1.1.1 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/polling": ^2.1.2 @@ -4583,20 +4592,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/settingeditor-extension@^4.1.2, @jupyterlab/settingeditor-extension@workspace:packages/settingeditor-extension, @jupyterlab/settingeditor-extension@~4.1.2": +"@jupyterlab/settingeditor-extension@^4.2.0-alpha.0, @jupyterlab/settingeditor-extension@workspace:packages/settingeditor-extension, @jupyterlab/settingeditor-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/settingeditor-extension@workspace:packages/settingeditor-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/pluginmanager": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingeditor": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/pluginmanager": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingeditor": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/disposable": ^2.1.2 rimraf: ~5.0.5 typedoc: ~0.24.7 @@ -4604,20 +4613,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/settingeditor@^4.1.2, @jupyterlab/settingeditor@workspace:packages/settingeditor": +"@jupyterlab/settingeditor@^4.2.0-alpha.0, @jupyterlab/settingeditor@workspace:packages/settingeditor": version: 0.0.0-use.local resolution: "@jupyterlab/settingeditor@workspace:packages/settingeditor" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/inspector": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/inspector": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -4643,13 +4652,13 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/settingregistry@^4.1.2, @jupyterlab/settingregistry@workspace:packages/settingregistry": +"@jupyterlab/settingregistry@^4.2.0-alpha.0, @jupyterlab/settingregistry@workspace:packages/settingregistry": version: 0.0.0-use.local resolution: "@jupyterlab/settingregistry@workspace:packages/settingregistry" dependencies: - "@jupyterlab/nbformat": ^4.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/nbformat": ^4.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -4666,15 +4675,15 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/shortcuts-extension@^4.1.2, @jupyterlab/shortcuts-extension@workspace:packages/shortcuts-extension, @jupyterlab/shortcuts-extension@~4.1.2": +"@jupyterlab/shortcuts-extension@^4.2.0-alpha.0, @jupyterlab/shortcuts-extension@workspace:packages/shortcuts-extension, @jupyterlab/shortcuts-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/shortcuts-extension@workspace:packages/shortcuts-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -4691,11 +4700,11 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/statedb@^4.1.2, @jupyterlab/statedb@workspace:packages/statedb": +"@jupyterlab/statedb@^4.2.0-alpha.0, @jupyterlab/statedb@workspace:packages/statedb": version: 0.0.0-use.local resolution: "@jupyterlab/statedb@workspace:packages/statedb" dependencies: - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -4709,15 +4718,15 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/statusbar-extension@^4.1.2, @jupyterlab/statusbar-extension@workspace:packages/statusbar-extension, @jupyterlab/statusbar-extension@~4.1.2": +"@jupyterlab/statusbar-extension@^4.2.0-alpha.0, @jupyterlab/statusbar-extension@workspace:packages/statusbar-extension, @jupyterlab/statusbar-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/statusbar-extension@workspace:packages/statusbar-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/statusbar": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/statusbar": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@types/react": ^18.0.26 "@types/react-dom": ^18.0.9 rimraf: ~5.0.5 @@ -4726,12 +4735,12 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/statusbar@^4.1.2, @jupyterlab/statusbar@workspace:packages/statusbar": +"@jupyterlab/statusbar@^4.2.0-alpha.0, @jupyterlab/statusbar@workspace:packages/statusbar": version: 0.0.0-use.local resolution: "@jupyterlab/statusbar@workspace:packages/statusbar" dependencies: - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -4750,27 +4759,27 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyterlab/template@workspace:buildutils/template" dependencies: - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@types/jest": ^29.2.0 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/terminal-extension@^4.1.2, @jupyterlab/terminal-extension@workspace:packages/terminal-extension, @jupyterlab/terminal-extension@~4.1.2": +"@jupyterlab/terminal-extension@^4.2.0-alpha.0, @jupyterlab/terminal-extension@workspace:packages/terminal-extension, @jupyterlab/terminal-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/terminal-extension@workspace:packages/terminal-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/launcher": ^4.1.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/running": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/terminal": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/launcher": ^4.2.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/running": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/terminal": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/widgets": ^2.3.1 "@types/webpack-env": ^1.18.0 rimraf: ~5.0.5 @@ -4779,14 +4788,14 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/terminal@^4.1.2, @jupyterlab/terminal@workspace:packages/terminal": +"@jupyterlab/terminal@^4.2.0-alpha.0, @jupyterlab/terminal@workspace:packages/terminal": version: 0.0.0-use.local resolution: "@jupyterlab/terminal@workspace:packages/terminal" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/domutils": ^2.0.1 "@lumino/messaging": ^2.0.1 @@ -4805,13 +4814,13 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/testing@^4.1.2, @jupyterlab/testing@workspace:packages/testing": +"@jupyterlab/testing@^4.2.0-alpha.0, @jupyterlab/testing@workspace:packages/testing": version: 0.0.0-use.local resolution: "@jupyterlab/testing@workspace:packages/testing" dependencies: "@babel/core": ^7.10.2 "@babel/preset-env": ^7.10.2 - "@jupyterlab/coreutils": ^6.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/signaling": ^2.1.2 "@types/jest": ^29.2.0 @@ -4833,74 +4842,74 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/testutils@^4.1.2, @jupyterlab/testutils@workspace:testutils": +"@jupyterlab/testutils@^4.2.0-alpha.0, @jupyterlab/testutils@workspace:testutils": version: 0.0.0-use.local resolution: "@jupyterlab/testutils@workspace:testutils" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/theme-dark-extension@^4.1.2, @jupyterlab/theme-dark-extension@workspace:packages/theme-dark-extension, @jupyterlab/theme-dark-extension@~4.1.2": +"@jupyterlab/theme-dark-extension@^4.2.0-alpha.0, @jupyterlab/theme-dark-extension@workspace:packages/theme-dark-extension, @jupyterlab/theme-dark-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/theme-dark-extension@workspace:packages/theme-dark-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/theme-light-extension@^4.1.2, @jupyterlab/theme-light-extension@workspace:packages/theme-light-extension, @jupyterlab/theme-light-extension@~4.1.2": +"@jupyterlab/theme-light-extension@^4.2.0-alpha.0, @jupyterlab/theme-light-extension@workspace:packages/theme-light-extension, @jupyterlab/theme-light-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/theme-light-extension@workspace:packages/theme-light-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/toc-extension@^6.1.2, @jupyterlab/toc-extension@workspace:packages/toc-extension, @jupyterlab/toc-extension@~6.1.2": +"@jupyterlab/toc-extension@^6.2.0-alpha.0, @jupyterlab/toc-extension@workspace:packages/toc-extension, @jupyterlab/toc-extension@~6.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/toc-extension@workspace:packages/toc-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/toc": ^6.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/toc": ^6.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/toc@^6.1.2, @jupyterlab/toc@workspace:packages/toc": +"@jupyterlab/toc@^6.2.0-alpha.0, @jupyterlab/toc@workspace:packages/toc": version: 0.0.0-use.local resolution: "@jupyterlab/toc@workspace:packages/toc" dependencies: - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/docregistry": ^4.1.2 - "@jupyterlab/observables": ^5.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/docregistry": ^4.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/messaging": ^2.0.1 @@ -4916,20 +4925,20 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/tooltip-extension@^4.1.2, @jupyterlab/tooltip-extension@workspace:packages/tooltip-extension, @jupyterlab/tooltip-extension@~4.1.2": +"@jupyterlab/tooltip-extension@^4.2.0-alpha.0, @jupyterlab/tooltip-extension@workspace:packages/tooltip-extension, @jupyterlab/tooltip-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/tooltip-extension@workspace:packages/tooltip-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/console": ^4.1.2 - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/fileeditor": ^4.1.2 - "@jupyterlab/notebook": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/tooltip": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/console": ^4.2.0-alpha.0 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/fileeditor": ^4.2.0-alpha.0 + "@jupyterlab/notebook": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/tooltip": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 @@ -4939,14 +4948,14 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/tooltip@^4.1.2, @jupyterlab/tooltip@workspace:packages/tooltip": +"@jupyterlab/tooltip@^4.2.0-alpha.0, @jupyterlab/tooltip@workspace:packages/tooltip": version: 0.0.0-use.local resolution: "@jupyterlab/tooltip@workspace:packages/tooltip" dependencies: - "@jupyterlab/codeeditor": ^4.1.2 - "@jupyterlab/rendermime": ^4.1.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/codeeditor": ^4.2.0-alpha.0 + "@jupyterlab/rendermime": ^4.2.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/messaging": ^2.0.1 "@lumino/widgets": ^2.3.1 @@ -4956,29 +4965,29 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/translation-extension@^4.1.2, @jupyterlab/translation-extension@workspace:packages/translation-extension, @jupyterlab/translation-extension@~4.1.2": +"@jupyterlab/translation-extension@^4.2.0-alpha.0, @jupyterlab/translation-extension@workspace:packages/translation-extension, @jupyterlab/translation-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/translation-extension@workspace:packages/translation-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/apputils": ^4.2.2 - "@jupyterlab/mainmenu": ^4.1.2 - "@jupyterlab/settingregistry": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/apputils": ^4.3.0-alpha.0 + "@jupyterlab/mainmenu": ^4.2.0-alpha.0 + "@jupyterlab/settingregistry": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 rimraf: ~5.0.5 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/translation@^4.1.2, @jupyterlab/translation@workspace:packages/translation": +"@jupyterlab/translation@^4.2.0-alpha.0, @jupyterlab/translation@workspace:packages/translation": version: 0.0.0-use.local resolution: "@jupyterlab/translation@workspace:packages/translation" dependencies: - "@jupyterlab/coreutils": ^6.1.2 - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/services": ^7.1.2 - "@jupyterlab/statedb": ^4.1.2 - "@jupyterlab/testing": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/services": ^7.2.0-alpha.0 + "@jupyterlab/statedb": ^4.2.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@types/jest": ^29.2.0 jest: ^29.2.0 @@ -4987,29 +4996,29 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/ui-components-extension@^4.1.2, @jupyterlab/ui-components-extension@workspace:packages/ui-components-extension, @jupyterlab/ui-components-extension@~4.1.2": +"@jupyterlab/ui-components-extension@^4.2.0-alpha.0, @jupyterlab/ui-components-extension@workspace:packages/ui-components-extension, @jupyterlab/ui-components-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/ui-components-extension@workspace:packages/ui-components-extension" dependencies: - "@jupyterlab/application": ^4.1.2 - "@jupyterlab/ui-components": ^4.1.2 + "@jupyterlab/application": ^4.2.0-alpha.0 + "@jupyterlab/ui-components": ^4.2.0-alpha.0 rimraf: ~5.0.5 typedoc: ~0.24.7 typescript: ~5.1.6 languageName: unknown linkType: soft -"@jupyterlab/ui-components@^4.1.2, @jupyterlab/ui-components@workspace:packages/ui-components": +"@jupyterlab/ui-components@^4.2.0-alpha.0, @jupyterlab/ui-components@workspace:packages/ui-components": version: 0.0.0-use.local resolution: "@jupyterlab/ui-components@workspace:packages/ui-components" 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/testing": ^4.1.2 - "@jupyterlab/translation": ^4.1.2 + "@jupyterlab/coreutils": ^6.2.0-alpha.0 + "@jupyterlab/observables": ^5.2.0-alpha.0 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/testing": ^4.2.0-alpha.0 + "@jupyterlab/translation": ^4.2.0-alpha.0 "@lumino/algorithm": ^2.0.1 "@lumino/commands": ^2.2.0 "@lumino/coreutils": ^2.1.2 @@ -5037,12 +5046,12 @@ __metadata: languageName: unknown linkType: soft -"@jupyterlab/vega5-extension@^4.1.2, @jupyterlab/vega5-extension@workspace:packages/vega5-extension, @jupyterlab/vega5-extension@~4.1.2": +"@jupyterlab/vega5-extension@^4.2.0-alpha.0, @jupyterlab/vega5-extension@workspace:packages/vega5-extension, @jupyterlab/vega5-extension@~4.2.0-alpha.0": version: 0.0.0-use.local resolution: "@jupyterlab/vega5-extension@workspace:packages/vega5-extension" dependencies: - "@jupyterlab/rendermime-interfaces": ^3.9.2 - "@jupyterlab/testutils": ^4.1.2 + "@jupyterlab/rendermime-interfaces": ^3.10.0-alpha.0 + "@jupyterlab/testutils": ^4.2.0-alpha.0 "@lumino/coreutils": ^2.1.2 "@lumino/widgets": ^2.3.1 "@types/jest": ^29.2.0 @@ -16276,7 +16285,7 @@ __metadata: version: 0.0.0-use.local resolution: "node-example@workspace:packages/services/examples/node" dependencies: - "@jupyterlab/services": ^7.1.2 + "@jupyterlab/services": ^7.2.0-alpha.0 rimraf: ~5.0.5 ws: ^8.11.0 languageName: unknown