Merge pull request #319 from jtpio/lab-4

Update to JupyterLab 4.0 alpha
pull/6294/head
Jeremy Tuloup 4 years ago committed by GitHub
commit 879e644e17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -67,11 +67,11 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu, macos, windows]
python: ['3.6', '3.9']
python: ['3.7', '3.10']
include:
- python: '3.6'
- python: '3.7'
dist: 'retrolab*.tar.gz'
- python: '3.9'
- python: '3.10'
dist: 'retrolab*.whl'
- os: windows
py_cmd: python

@ -22,7 +22,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install -U jupyterlab~=3.0 jupyter_packaging~=0.10
python -m pip install -U "jupyterlab>=4.0.0a18,<5" jupyter_packaging~=0.10
jlpm
jlpm run build
@ -75,6 +75,6 @@ jobs:
- name: Install dependencies
run: |
python -m pip install -U jupyterlab~=3.0 jupyter_packaging~=0.10 pip
python -m pip install -U "jupyterlab>=4.0.0a18,<5" jupyter_packaging~=0.10 pip
jlpm
jlpm run build

@ -84,7 +84,9 @@ async function main() {
'@jupyterlab/apputils-extension:settings',
'@jupyterlab/apputils-extension:state',
'@jupyterlab/apputils-extension:themes',
'@jupyterlab/apputils-extension:themes-palette-menu'
'@jupyterlab/apputils-extension:themes-palette-menu',
// TODO: rename to @jupyterlab/ when fixed and released upstream
'@jupyter/apputils-extension:toolbar-registry'
].includes(id)
),
require('@jupyterlab/codemirror-extension').default.filter(({ id }) =>
@ -131,6 +133,7 @@ async function main() {
require('@jupyterlab/theme-dark-extension'),
require('@jupyterlab/translation-extension'),
// Add the "Hub Control Panel" menu option when running in JupyterHub
require('@jupyterlab/user-extension'),
require('@jupyterlab/hub-extension')
];

@ -11,71 +11,73 @@
"watch": "webpack --config ./webpack.config.watch.js"
},
"resolutions": {
"@jupyterlab/application": "~3.2.6",
"@jupyterlab/application-extension": "~3.2.6",
"@jupyterlab/apputils": "~3.2.6",
"@jupyterlab/apputils-extension": "~3.2.6",
"@jupyterlab/celltags": "~3.2.6",
"@jupyterlab/codeeditor": "~3.2.6",
"@jupyterlab/codemirror-extension": "~3.2.6",
"@jupyterlab/completer": "~3.2.6",
"@jupyterlab/completer-extension": "~3.2.6",
"@jupyterlab/console": "~3.2.6",
"@jupyterlab/console-extension": "~3.2.6",
"@jupyterlab/coreutils": "~5.2.6",
"@jupyterlab/docmanager": "~3.2.6",
"@jupyterlab/docmanager-extension": "~3.2.6",
"@jupyterlab/docprovider": "~3.2.6",
"@jupyterlab/docprovider-extension": "~3.2.6",
"@jupyterlab/documentsearch": "~3.2.6",
"@jupyterlab/documentsearch-extension": "~3.2.6",
"@jupyterlab/filebrowser": "~3.2.6",
"@jupyterlab/filebrowser-extension": "~3.2.6",
"@jupyterlab/fileeditor": "~3.2.6",
"@jupyterlab/fileeditor-extension": "~3.2.6",
"@jupyterlab/hub-extension": "~3.2.6",
"@jupyterlab/javascript-extension": "~3.2.6",
"@jupyterlab/json-extension": "~3.2.6",
"@jupyterlab/mainmenu": "~3.2.6",
"@jupyterlab/mainmenu-extension": "~3.2.6",
"@jupyterlab/mathjax2-extension": "~3.2.6",
"@jupyterlab/notebook": "~3.2.6",
"@jupyterlab/notebook-extension": "~3.2.6",
"@jupyterlab/observables": "~4.2.6",
"@jupyterlab/outputarea": "~3.2.6",
"@jupyterlab/pdf-extension": "~3.2.6",
"@jupyterlab/rendermime": "~3.2.6",
"@jupyterlab/rendermime-extension": "~3.2.6",
"@jupyterlab/rendermime-interfaces": "~3.2.6",
"@jupyterlab/running-extension": "~3.2.6",
"@jupyterlab/services": "~6.2.6",
"@jupyterlab/settingregistry": "~3.2.6",
"@jupyterlab/shared-models": "~3.2.6",
"@jupyterlab/shortcuts-extension": "~3.2.6",
"@jupyterlab/statedb": "~3.2.6",
"@jupyterlab/statusbar": "~3.2.6",
"@jupyterlab/terminal": "~3.2.6",
"@jupyterlab/terminal-extension": "~3.2.6",
"@jupyterlab/theme-dark-extension": "~3.2.6",
"@jupyterlab/theme-light-extension": "~3.2.6",
"@jupyterlab/tooltip": "~3.2.6",
"@jupyterlab/tooltip-extension": "~3.2.6",
"@jupyterlab/translation": "~3.2.6",
"@jupyterlab/translation-extension": "~3.2.6",
"@jupyterlab/ui-components": "~3.2.6",
"@jupyterlab/vega5-extension": "~3.2.6",
"@lumino/algorithm": "~1.6.0",
"@lumino/application": "~1.20.0",
"@lumino/commands": "~1.15.0",
"@lumino/coreutils": "~1.8.0",
"@lumino/disposable": "~1.7.0",
"@lumino/domutils": "~1.5.0",
"@lumino/dragdrop": "~1.10.0",
"@lumino/messaging": "~1.7.0",
"@lumino/properties": "~1.5.0",
"@lumino/signaling": "~1.7.0",
"@lumino/virtualdom": "~1.11.0",
"@lumino/widgets": "~1.23.0",
"@jupyterlab/application": "~4.0.0-alpha.4",
"@jupyterlab/application-extension": "~4.0.0-alpha.4",
"@jupyterlab/apputils": "~4.0.0-alpha.4",
"@jupyterlab/apputils-extension": "~4.0.0-alpha.4",
"@jupyterlab/celltags": "~4.0.0-alpha.4",
"@jupyterlab/codeeditor": "~4.0.0-alpha.4",
"@jupyterlab/codemirror-extension": "~4.0.0-alpha.4",
"@jupyterlab/completer": "~4.0.0-alpha.4",
"@jupyterlab/completer-extension": "~4.0.0-alpha.4",
"@jupyterlab/console": "~4.0.0-alpha.4",
"@jupyterlab/console-extension": "~4.0.0-alpha.4",
"@jupyterlab/coreutils": "~6.0.0-alpha.4",
"@jupyterlab/docmanager": "~4.0.0-alpha.4",
"@jupyterlab/docmanager-extension": "~4.0.0-alpha.4",
"@jupyterlab/docprovider": "~4.0.0-alpha.4",
"@jupyterlab/docprovider-extension": "~4.0.0-alpha.4",
"@jupyterlab/documentsearch": "~4.0.0-alpha.4",
"@jupyterlab/documentsearch-extension": "~4.0.0-alpha.4",
"@jupyterlab/filebrowser": "~4.0.0-alpha.4",
"@jupyterlab/filebrowser-extension": "~4.0.0-alpha.4",
"@jupyterlab/fileeditor": "~4.0.0-alpha.4",
"@jupyterlab/fileeditor-extension": "~4.0.0-alpha.4",
"@jupyterlab/hub-extension": "~4.0.0-alpha.4",
"@jupyterlab/javascript-extension": "~4.0.0-alpha.4",
"@jupyterlab/json-extension": "~4.0.0-alpha.4",
"@jupyterlab/mainmenu": "~4.0.0-alpha.4",
"@jupyterlab/mainmenu-extension": "~4.0.0-alpha.4",
"@jupyterlab/mathjax2-extension": "~4.0.0-alpha.4",
"@jupyterlab/notebook": "~4.0.0-alpha.4",
"@jupyterlab/notebook-extension": "~4.0.0-alpha.4",
"@jupyterlab/observables": "~5.0.0-alpha.4",
"@jupyterlab/outputarea": "~4.0.0-alpha.4",
"@jupyterlab/pdf-extension": "~4.0.0-alpha.4",
"@jupyterlab/rendermime": "~4.0.0-alpha.4",
"@jupyterlab/rendermime-extension": "~4.0.0-alpha.4",
"@jupyterlab/rendermime-interfaces": "~4.0.0-alpha.4",
"@jupyterlab/running-extension": "~4.0.0-alpha.4",
"@jupyterlab/services": "~7.0.0-alpha.4",
"@jupyterlab/settingregistry": "~4.0.0-alpha.4",
"@jupyterlab/shared-models": "~4.0.0-alpha.4",
"@jupyterlab/shortcuts-extension": "~4.0.0-alpha.4",
"@jupyterlab/statedb": "~4.0.0-alpha.4",
"@jupyterlab/statusbar": "~4.0.0-alpha.4",
"@jupyterlab/terminal": "~4.0.0-alpha.4",
"@jupyterlab/terminal-extension": "~4.0.0-alpha.4",
"@jupyterlab/theme-dark-extension": "~4.0.0-alpha.4",
"@jupyterlab/theme-light-extension": "~4.0.0-alpha.4",
"@jupyterlab/tooltip": "~4.0.0-alpha.4",
"@jupyterlab/tooltip-extension": "~4.0.0-alpha.4",
"@jupyterlab/translation": "~4.0.0-alpha.4",
"@jupyterlab/translation-extension": "~4.0.0-alpha.4",
"@jupyterlab/ui-components": "~4.0.0-alpha.19",
"@jupyterlab/user": "~4.0.0-alpha.4",
"@jupyterlab/user-extension": "~4.0.0-alpha.4",
"@jupyterlab/vega5-extension": "~4.0.0-alpha.4",
"@lumino/algorithm": "~1.9.1",
"@lumino/application": "~1.27.1",
"@lumino/commands": "~1.19.1",
"@lumino/coreutils": "~1.11.1",
"@lumino/disposable": "~1.10.1",
"@lumino/domutils": "~1.8.1",
"@lumino/dragdrop": "~1.13.1",
"@lumino/messaging": "~1.10.1",
"@lumino/properties": "~1.8.1",
"@lumino/signaling": "~1.10.1",
"@lumino/virtualdom": "~1.14.1",
"@lumino/widgets": "~1.30.1",
"@retrolab/application": "~0.3.16",
"@retrolab/application-extension": "~0.3.16",
"@retrolab/console-extension": "~0.3.16",
@ -91,48 +93,49 @@
"yjs": "~13.5.23"
},
"dependencies": {
"@jupyterlab/application-extension": "^3.2.6",
"@jupyterlab/apputils-extension": "^3.2.6",
"@jupyterlab/celltags": "^3.2.6",
"@jupyterlab/codemirror-extension": "^3.2.6",
"@jupyterlab/completer-extension": "^3.2.6",
"@jupyterlab/console-extension": "^3.2.6",
"@jupyterlab/coreutils": "~5.2.6",
"@jupyterlab/docmanager-extension": "^3.2.6",
"@jupyterlab/docprovider-extension": "^3.2.6",
"@jupyterlab/documentsearch-extension": "^3.2.6",
"@jupyterlab/filebrowser-extension": "^3.2.6",
"@jupyterlab/fileeditor-extension": "^3.2.6",
"@jupyterlab/hub-extension": "^3.2.6",
"@jupyterlab/javascript-extension": "^3.2.6",
"@jupyterlab/json-extension": "^3.2.6",
"@jupyterlab/mainmenu-extension": "^3.2.6",
"@jupyterlab/mathjax2-extension": "^3.2.6",
"@jupyterlab/notebook-extension": "^3.2.6",
"@jupyterlab/pdf-extension": "^3.2.6",
"@jupyterlab/rendermime-extension": "^3.2.6",
"@jupyterlab/running-extension": "^3.2.6",
"@jupyterlab/shortcuts-extension": "^3.2.6",
"@jupyterlab/terminal-extension": "^3.2.6",
"@jupyterlab/theme-dark-extension": "^3.2.6",
"@jupyterlab/theme-light-extension": "^3.2.6",
"@jupyterlab/tooltip-extension": "^3.2.6",
"@jupyterlab/translation-extension": "^3.2.6",
"@jupyterlab/vega5-extension": "^3.2.6",
"@retrolab/application": "^0.3.16",
"@retrolab/application-extension": "^0.3.16",
"@retrolab/console-extension": "^0.3.16",
"@retrolab/docmanager-extension": "^0.3.16",
"@retrolab/documentsearch-extension": "^0.3.16",
"@retrolab/help-extension": "^0.3.16",
"@retrolab/notebook-extension": "^0.3.16",
"@retrolab/terminal-extension": "^0.3.16",
"@retrolab/tree-extension": "^0.3.16",
"@retrolab/ui-components": "^0.3.16"
"@jupyterlab/application-extension": "^4.0.0-alpha.4",
"@jupyterlab/apputils-extension": "^4.0.0-alpha.4",
"@jupyterlab/celltags": "^4.0.0-alpha.4",
"@jupyterlab/codemirror-extension": "^4.0.0-alpha.4",
"@jupyterlab/completer-extension": "^4.0.0-alpha.4",
"@jupyterlab/console-extension": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "~6.0.0-alpha.4",
"@jupyterlab/docmanager-extension": "^4.0.0-alpha.4",
"@jupyterlab/docprovider-extension": "^4.0.0-alpha.4",
"@jupyterlab/documentsearch-extension": "^4.0.0-alpha.4",
"@jupyterlab/filebrowser-extension": "^4.0.0-alpha.4",
"@jupyterlab/fileeditor-extension": "^4.0.0-alpha.4",
"@jupyterlab/hub-extension": "^4.0.0-alpha.4",
"@jupyterlab/javascript-extension": "^4.0.0-alpha.4",
"@jupyterlab/json-extension": "^4.0.0-alpha.4",
"@jupyterlab/mainmenu-extension": "^4.0.0-alpha.4",
"@jupyterlab/mathjax2-extension": "^4.0.0-alpha.4",
"@jupyterlab/notebook-extension": "^4.0.0-alpha.4",
"@jupyterlab/pdf-extension": "^4.0.0-alpha.4",
"@jupyterlab/rendermime-extension": "^4.0.0-alpha.4",
"@jupyterlab/running-extension": "^4.0.0-alpha.4",
"@jupyterlab/shortcuts-extension": "^4.0.0-alpha.4",
"@jupyterlab/terminal-extension": "^4.0.0-alpha.4",
"@jupyterlab/theme-dark-extension": "^4.0.0-alpha.4",
"@jupyterlab/theme-light-extension": "^4.0.0-alpha.4",
"@jupyterlab/tooltip-extension": "^4.0.0-alpha.4",
"@jupyterlab/translation-extension": "^4.0.0-alpha.4",
"@jupyterlab/user-extension": "^4.0.0-alpha.4",
"@jupyterlab/vega5-extension": "^4.0.0-alpha.4",
"@retrolab/application": "^0.3.15",
"@retrolab/application-extension": "^0.3.15",
"@retrolab/console-extension": "^0.3.15",
"@retrolab/docmanager-extension": "^0.3.15",
"@retrolab/documentsearch-extension": "^0.3.15",
"@retrolab/help-extension": "^0.3.15",
"@retrolab/notebook-extension": "^0.3.15",
"@retrolab/terminal-extension": "^0.3.15",
"@retrolab/tree-extension": "^0.3.15",
"@retrolab/ui-components": "^0.3.15"
},
"devDependencies": {
"@jupyterlab/builder": "^3.2.6",
"@jupyterlab/buildutils": "^3.2.6",
"@jupyterlab/builder": "^4.0.0-alpha.4",
"@jupyterlab/buildutils": "^4.0.0-alpha.4",
"@types/rimraf": "^3.0.0",
"css-loader": "~5.0.1",
"file-loader": "~5.0.2",
@ -183,7 +186,8 @@
"@jupyterlab/theme-dark-extension",
"@jupyterlab/theme-light-extension",
"@jupyterlab/tooltip-extension",
"@jupyterlab/translation-extension"
"@jupyterlab/translation-extension",
"@jupyterlab/user-extension"
],
"singletonPackages": [
"@jupyterlab/application",
@ -212,6 +216,7 @@
"@jupyterlab/terminal",
"@jupyterlab/tooltip",
"@jupyterlab/translation",
"@jupyterlab/user",
"@jupyterlab/ui-components",
"@lumino/algorithm",
"@lumino/application",

@ -1,8 +1,8 @@
#!/bin/bash
set -euo pipefail
jlpm && jlpm run build
python -m pip install -e .
jlpm && jlpm run build
jlpm run develop
jupyter server extension enable retrolab
jupyter serverextension enable retrolab

@ -30,7 +30,7 @@
"watch": "tsc -w --listEmittedFiles"
},
"dependencies": {
"@jupyterlab/buildutils": "^3.2.6",
"@jupyterlab/buildutils": "^4.0.0-alpha.4",
"commander": "^6.2.0",
"fs-extra": "^9.1.0",
"typescript": "~4.1.3"

@ -1,4 +1,4 @@
{
"RetroApp": { "collaborative": true },
"RetroApp": { "collaborative": true, "expose_app_in_browser": true },
"LabApp": { "collaborative": true, "expose_app_in_browser": true }
}

@ -45,7 +45,7 @@
}
},
"devDependencies": {
"@jupyterlab/buildutils": "^3.2.6",
"@jupyterlab/buildutils": "^4.0.0-alpha.4",
"@typescript-eslint/eslint-plugin": "^4.2.0",
"@typescript-eslint/parser": "^4.2.0",
"eslint": "^7.10.0",

@ -39,23 +39,23 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/apputils": "^3.2.6",
"@jupyterlab/celltags": "^3.2.6",
"@jupyterlab/codeeditor": "^3.2.6",
"@jupyterlab/codemirror": "^3.2.6",
"@jupyterlab/console": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@jupyterlab/docmanager": "^3.2.6",
"@jupyterlab/docregistry": "^3.2.6",
"@jupyterlab/mainmenu": "^3.2.6",
"@jupyterlab/settingregistry": "^3.2.6",
"@jupyterlab/translation": "^3.2.6",
"@lumino/coreutils": "^1.8.0",
"@lumino/disposable": "^1.7.0",
"@lumino/widgets": "^1.23.0",
"@retrolab/application": "^0.3.16",
"@retrolab/ui-components": "^0.3.16"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/apputils": "^4.0.0-alpha.4",
"@jupyterlab/celltags": "^4.0.0-alpha.4",
"@jupyterlab/codeeditor": "^4.0.0-alpha.4",
"@jupyterlab/codemirror": "^4.0.0-alpha.4",
"@jupyterlab/console": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@jupyterlab/docmanager": "^4.0.0-alpha.4",
"@jupyterlab/docregistry": "^4.0.0-alpha.4",
"@jupyterlab/mainmenu": "^4.0.0-alpha.4",
"@jupyterlab/settingregistry": "^4.0.0-alpha.4",
"@jupyterlab/translation": "^4.0.0-alpha.4",
"@lumino/coreutils": "^1.11.1",
"@lumino/disposable": "^1.10.1",
"@lumino/widgets": "^1.30.1",
"@retrolab/application": "^0.3.15",
"@retrolab/ui-components": "^0.3.15"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -157,10 +157,12 @@ const opener: JupyterFrontEndPlugin<void> = {
id: '@retrolab/application-extension:opener',
autoStart: true,
requires: [IRouter, IDocumentManager],
optional: [ISettingRegistry],
activate: (
app: JupyterFrontEnd,
router: IRouter,
docManager: IDocumentManager
docManager: IDocumentManager,
settingRegistry: ISettingRegistry | null
): void => {
const { commands } = app;
@ -176,9 +178,12 @@ const opener: JupyterFrontEndPlugin<void> = {
const file = decodeURIComponent(path);
const ext = PathExt.extname(file);
app.restored.then(() => {
app.restored.then(async () => {
// TODO: get factory from file type instead?
if (ext === '.ipynb') {
// TODO: fix upstream?
await settingRegistry?.load('@jupyterlab/notebook-extension:panel');
await Promise.resolve();
docManager.open(file, NOTEBOOK_FACTORY, undefined, {
ref: '_noref'
});
@ -339,7 +344,9 @@ const shell: JupyterFrontEndPlugin<IRetroShell> = {
};
/**
* A plugin to provide a spacer at rank 10000 for flex panels
* A plugin to provide a spacer at rank 900 for flex panels
* TODO: reuse upstream @jupyterlab/application-extension:top-spacer plugin when fixed
* in https://github.com/jupyterlab/jupyterlab/pull/11900
*/
const spacer: JupyterFrontEndPlugin<void> = {
id: '@retrolab/application-extension:spacer',
@ -348,12 +355,12 @@ const spacer: JupyterFrontEndPlugin<void> = {
const top = new Widget();
top.id = DOMUtils.createDomID();
top.addClass('jp-RetroSpacer');
app.shell.add(top, 'top', { rank: 10000 });
app.shell.add(top, 'top', { rank: 900 });
const menu = new Widget();
menu.id = DOMUtils.createDomID();
menu.addClass('jp-RetroSpacer');
app.shell.add(menu, 'menu', { rank: 10000 });
app.shell.add(menu, 'menu', { rank: 900 });
}
};

@ -43,22 +43,22 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@jupyterlab/docregistry": "^3.2.6",
"@jupyterlab/rendermime-interfaces": "^3.2.6",
"@jupyterlab/ui-components": "^3.2.6",
"@lumino/algorithm": "^1.6.0",
"@lumino/coreutils": "^1.8.0",
"@lumino/messaging": "^1.7.0",
"@lumino/polling": "^1.6.0",
"@lumino/signaling": "^1.7.0",
"@lumino/widgets": "^1.23.0"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@jupyterlab/docregistry": "^4.0.0-alpha.4",
"@jupyterlab/rendermime-interfaces": "^4.0.0-alpha.4",
"@jupyterlab/ui-components": "^4.0.0-alpha.19",
"@lumino/algorithm": "^1.9.1",
"@lumino/coreutils": "^1.11.1",
"@lumino/messaging": "^1.10.1",
"@lumino/polling": "^1.9.1",
"@lumino/signaling": "^1.10.1",
"@lumino/widgets": "^1.30.1"
},
"devDependencies": {
"@babel/core": "^7.11.6",
"@babel/preset-env": "^7.12.1",
"@jupyterlab/testutils": "^3.2.6",
"@jupyterlab/testutils": "^4.0.0-alpha.4",
"@types/jest": "^26.0.10",
"jest": "^26.4.2",
"rimraf": "~3.0.0",

@ -39,10 +39,10 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/console": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@lumino/algorithm": "^1.6.0"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/console": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@lumino/algorithm": "^1.9.1"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -39,12 +39,12 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@jupyterlab/docmanager": "^3.2.6",
"@jupyterlab/docregistry": "^3.2.6",
"@jupyterlab/services": "^6.2.6",
"@lumino/algorithm": "^1.6.0"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@jupyterlab/docmanager": "^4.0.0-alpha.4",
"@jupyterlab/docregistry": "^4.0.0-alpha.4",
"@jupyterlab/services": "^7.0.0-alpha.4",
"@lumino/algorithm": "^1.9.1"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -39,10 +39,10 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/documentsearch": "^3.2.6",
"@lumino/widgets": "^1.23.0",
"@retrolab/application": "^0.3.16"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/documentsearch": "^4.0.0-alpha.4",
"@lumino/widgets": "^1.30.1",
"@retrolab/application": "^0.3.15"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -39,11 +39,11 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/apputils": "^3.2.6",
"@jupyterlab/mainmenu": "^3.2.6",
"@jupyterlab/translation": "^3.2.6",
"@retrolab/ui-components": "^0.3.16"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/apputils": "^4.0.0-alpha.4",
"@jupyterlab/mainmenu": "^4.0.0-alpha.4",
"@jupyterlab/translation": "^4.0.0-alpha.4",
"@retrolab/ui-components": "^0.3.15"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -43,19 +43,19 @@
"watch:src": "tsc -w"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/apputils": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@jupyterlab/docregistry": "^3.2.6",
"@jupyterlab/mainmenu": "^3.2.6",
"@jupyterlab/notebook": "^3.2.6",
"@jupyterlab/translation": "^3.2.6",
"@lumino/commands": "^1.15.0",
"@lumino/disposable": "^1.7.0",
"@retrolab/application": "^0.3.16"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/apputils": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@jupyterlab/docregistry": "^4.0.0-alpha.4",
"@jupyterlab/mainmenu": "^4.0.0-alpha.4",
"@jupyterlab/notebook": "^4.0.0-alpha.4",
"@jupyterlab/translation": "^4.0.0-alpha.4",
"@lumino/commands": "^1.19.1",
"@lumino/disposable": "^1.10.1",
"@retrolab/application": "^0.3.15"
},
"devDependencies": {
"@jupyterlab/builder": "^3.2.6",
"@jupyterlab/builder": "^4.0.0-alpha.4",
"rimraf": "~3.0.0",
"typescript": "~4.1.3"
},

@ -39,16 +39,16 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/apputils": "^3.2.6",
"@jupyterlab/cells": "^3.2.6",
"@jupyterlab/docmanager": "^3.2.6",
"@jupyterlab/notebook": "^3.2.6",
"@jupyterlab/settingregistry": "^3.2.6",
"@jupyterlab/translation": "^3.2.6",
"@lumino/polling": "^1.6.0",
"@lumino/widgets": "^1.23.0",
"@retrolab/application": "^0.3.16"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/apputils": "^4.0.0-alpha.4",
"@jupyterlab/cells": "^4.0.0-alpha.4",
"@jupyterlab/docmanager": "^4.0.0-alpha.4",
"@jupyterlab/notebook": "^4.0.0-alpha.4",
"@jupyterlab/settingregistry": "^4.0.0-alpha.4",
"@jupyterlab/translation": "^4.0.0-alpha.4",
"@lumino/polling": "^1.9.1",
"@lumino/widgets": "^1.30.1",
"@retrolab/application": "^0.3.15"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -39,10 +39,10 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@jupyterlab/terminal": "^3.2.6",
"@lumino/algorithm": "^1.6.0"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@jupyterlab/terminal": "^4.0.0-alpha.4",
"@lumino/algorithm": "^1.9.1"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -18,9 +18,13 @@ import { find } from '@lumino/algorithm';
*/
const opener: JupyterFrontEndPlugin<void> = {
id: '@retrolab/terminal-extension:opener',
requires: [IRouter],
requires: [IRouter, ITerminalTracker],
autoStart: true,
activate: (app: JupyterFrontEnd, router: IRouter) => {
activate: (
app: JupyterFrontEnd,
router: IRouter,
tracker: ITerminalTracker
) => {
const { commands } = app;
const terminalPattern = new RegExp('/terminals/(.*)');
@ -37,6 +41,9 @@ const opener: JupyterFrontEndPlugin<void> = {
return;
}
tracker.widgetAdded.connect((send, terminal) => {
terminal.content.setOption('closeOnExit', false);
});
commands.execute('terminal:open', { name });
}
});

@ -39,21 +39,21 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^3.2.6",
"@jupyterlab/apputils": "^3.2.6",
"@jupyterlab/coreutils": "^5.2.6",
"@jupyterlab/docmanager": "^3.2.6",
"@jupyterlab/filebrowser": "^3.2.6",
"@jupyterlab/mainmenu": "^3.2.6",
"@jupyterlab/services": "^6.2.6",
"@jupyterlab/settingregistry": "^3.2.6",
"@jupyterlab/statedb": "^3.2.6",
"@jupyterlab/translation": "^3.2.6",
"@jupyterlab/ui-components": "^3.2.6",
"@lumino/algorithm": "^1.6.0",
"@lumino/commands": "^1.15.0",
"@lumino/widgets": "^1.23.0",
"@retrolab/application": "^0.3.16"
"@jupyterlab/application": "^4.0.0-alpha.4",
"@jupyterlab/apputils": "^4.0.0-alpha.4",
"@jupyterlab/coreutils": "^6.0.0-alpha.4",
"@jupyterlab/docmanager": "^4.0.0-alpha.4",
"@jupyterlab/filebrowser": "^4.0.0-alpha.4",
"@jupyterlab/mainmenu": "^4.0.0-alpha.4",
"@jupyterlab/services": "^7.0.0-alpha.4",
"@jupyterlab/settingregistry": "^4.0.0-alpha.4",
"@jupyterlab/statedb": "^4.0.0-alpha.4",
"@jupyterlab/translation": "^4.0.0-alpha.4",
"@jupyterlab/ui-components": "^4.0.0-alpha.19",
"@lumino/algorithm": "^1.9.1",
"@lumino/commands": "^1.19.1",
"@lumino/widgets": "^1.30.1",
"@retrolab/application": "^0.3.15"
},
"devDependencies": {
"rimraf": "~3.0.0",

@ -43,14 +43,14 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/ui-components": "^3.2.6",
"@jupyterlab/ui-components": "^4.0.0-alpha.19",
"react": "^17.0.1",
"react-dom": "^17.0.1"
},
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"@jupyterlab/testutils": "^3.2.6",
"@jupyterlab/testutils": "^4.0.0-alpha.4",
"@types/jest": "^26.0.10",
"babel-loader": "^8.0.6",
"jest": "^26.4.2",

@ -1,5 +1,5 @@
[build-system]
requires = ["jupyter_packaging~=0.10", "jupyterlab~=3.2"]
requires = ["jupyter_packaging~=0.10", "jupyterlab>=4.0.0a19,<5"]
build-backend = "jupyter_packaging.build_api"
[license]

@ -16,19 +16,19 @@ classifiers =
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: Python
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Framework :: Jupyter
[options]
zip_safe = False
include_package_data = True
packages = find:
python_requires = >=3.6
python_requires = >=3.7
install_requires =
jupyterlab~=3.2
jupyterlab>=4.0.0a19,<5
jupyterlab_server~=2.3
jupyter_server~=1.4
nbclassic~=0.2

@ -14,6 +14,6 @@
"test:update": "playwright test --update-snapshots"
},
"dependencies": {
"@jupyterlab/galata": "~4.0.2"
"@jupyterlab/galata": "~5.0.0-alpha.4"
}
}

@ -31,6 +31,10 @@ test.describe('Notebook Menus', () => {
);
});
test.afterEach(async ({ page, tmpPath }) => {
await page.kernel.shutdownAll();
});
MENU_PATHS.forEach(menuPath => {
test(`Open menu item ${menuPath}`, async ({ page, tmpPath }) => {
await page.goto(`notebooks/${tmpPath}/${NOTEBOOK}`);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 25 KiB

@ -1,6 +1,8 @@
import { expect } from '@playwright/test';
import { test } from './fixtures';
import { expect } from '@playwright/test';
import { runAndAdvance } from './utils';
test.use({ autoGoto: false });
@ -27,10 +29,6 @@ test.describe('Smoke', () => {
page.click('text="New Notebook"')
]);
// Choose the kernel
await notebook.click('text="Select"');
await notebook.click('pre[role="presentation"]');
// Enter code in the first cell
await notebook.fill('//textarea', 'import math');
await notebook.press('//textarea', 'Enter');
@ -38,9 +36,7 @@ test.describe('Smoke', () => {
await notebook.fill('//textarea', 'math.pi');
// Run the cell
await notebook.click(
"//button[normalize-space(@title)='Run the selected cells and advance']"
);
runAndAdvance(notebook);
// Enter code in the next cell
await notebook.fill(
@ -49,9 +45,7 @@ test.describe('Smoke', () => {
);
// Run the cell
await notebook.click(
'//button[normalize-space(@title)=\'Run the selected cells and advance\']/span/span/*[local-name()="svg"]'
);
runAndAdvance(notebook);
// Save the notebook
// TODO: re-enable after fixing the name on save dialog?

@ -1,14 +1,14 @@
import { IJupyterLabPageFixture } from '@jupyterlab/galata';
import { Page } from '@playwright/test';
/**
* Run the selected cell and advance.
*/
export async function runAndAdvance(
page: IJupyterLabPageFixture
page: IJupyterLabPageFixture | Page
): Promise<void> {
await page.click(
"//button[normalize-space(@title)='Run the selected cells and advance']"
);
await page.click(".jp-Toolbar-item [data-icon='ui-components:run']");
}
/**

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save