jupyterlab-unianalytics-dashboard 4.0.6__tar.gz → 4.0.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/.copier-answers.yml +6 -6
- jupyterlab_unianalytics_dashboard-4.0.8/.yarnrc.yml +1 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/CHANGELOG.md +13 -2
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/LICENSE +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/PKG-INFO +52 -6
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/README.md +41 -3
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/RELEASE.md +35 -1
- jupyterlab_unianalytics_dashboard-4.0.8/conftest.py +8 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/junit.xml +3 -3
- jupyterlab_unianalytics_dashboard-4.0.8/jupyter-config/server-config/jupyterlab_unianalytics_dashboard.json +7 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/__init__.py +36 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/_version.py +1 -1
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/handlers.py +53 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/package.json +49 -28
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/schemas/jupyterlab_unianalytics_dashboard/package.json.orig +48 -27
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/120.f9ab87c96623964d015f.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/18.759fbf2374edc42b5c3e.js +2 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/308.d9da4ce35f354c6f12e1.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/426.a7015f9dfda310972c1b.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/546.a8f5ba1be2a764c64287.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/638.d37271636c4d956096de.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/708.323c3614d31a5918cfaf.js +2 -0
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/708.8d6156d603ddfa7e363d.js.LICENSE.txt → jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/708.323c3614d31a5918cfaf.js.LICENSE.txt +1 -1
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/remoteEntry.8cd70c149b116f11f59e.js +1 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/third-party-licenses.json +18 -18
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/tests/__init__.py +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/tests/test_handlers.py +7 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/package.json +48 -27
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/pyproject.toml +13 -1
- jupyterlab_unianalytics_dashboard-4.0.8/setup.py +1 -0
- jupyterlab_unianalytics_dashboard-4.0.8/src/__tests__/jupyterlab_unianalytics_dashboard.spec.ts +9 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/dashboard-widgets/PanelManager.ts +80 -71
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/dashboard-widgets/WebsocketManager.ts +9 -5
- jupyterlab_unianalytics_dashboard-4.0.8/src/handler.ts +31 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/index.ts +25 -13
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/plugins/dashboards.ts +1 -3
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/plugins/uploadNotebook.tsx +10 -6
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/pages/Cell.tsx +114 -59
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/TocReactComponent.tsx +2 -2
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/generator/render.tsx +2 -2
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/tocDashboardTree.tsx +3 -3
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/constants.ts +10 -3
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/interactionRecorder.ts +4 -3
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/utils.ts +2 -49
- jupyterlab_unianalytics_dashboard-4.0.8/style/index.css +5 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/reactVisu.css +11 -8
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/tocDashboard.css +3 -2
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/tsconfig.json +1 -2
- jupyterlab_unianalytics_dashboard-4.0.8/tsconfig.test.json +6 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/ui-tests/README.md +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/ui-tests/package.json +2 -2
- jupyterlab_unianalytics_dashboard-4.0.8/ui-tests/yarn.lock +4124 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/yarn.lock +1777 -1896
- jupyterlab_unianalytics_dashboard-4.0.6/.yarnrc.yml +0 -3
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/__init__.py +0 -8
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/18.7ff03b96ce4c1ba53ee1.js +0 -2
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/308.52850e2a1110e4767a49.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/426.3f483e930d772b4f379a.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/546.8d39a8d86318c82a94bc.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/638.707471a39fb6c87b1554.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/694.d59084cb175b38ecc1a9.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/708.8d6156d603ddfa7e363d.js +0 -2
- jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/remoteEntry.27b69645f536048bd908.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/setup.py +0 -1
- jupyterlab_unianalytics_dashboard-4.0.6/src/__tests__/jupyterlab_unianalytics_dashboard.spec.ts +0 -7
- jupyterlab_unianalytics_dashboard-4.0.6/style/index.css +0 -5
- jupyterlab_unianalytics_dashboard-4.0.6/tsconfig.test.json +0 -3
- jupyterlab_unianalytics_dashboard-4.0.6/ui-tests/yarn.lock +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/.gitignore +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/.prettierignore +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/babel.config.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/install.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jest.config.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/schemas/jupyterlab_unianalytics_dashboard/plugin.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/10.1e5c908a94fc4b83c2e5.js +0 -0
- /jupyterlab_unianalytics_dashboard-4.0.6/jupyterlab_unianalytics_dashboard/labextension/static/18.7ff03b96ce4c1ba53ee1.js.LICENSE.txt → /jupyterlab_unianalytics_dashboard-4.0.8/jupyterlab_unianalytics_dashboard/labextension/static/18.759fbf2374edc42b5c3e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/39.5a3b28a79ba693a9b627.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/563.b613f734176cb51510ef.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/744.329dc4d1ed2f5c918266.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/798.33a8f0893a66574e9259.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/981.ebb9e1d6122980b5ff0e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/981.ebb9e1d6122980b5ff0e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/jupyterlab_unianalytics_dashboard/labextension/static/style.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/schema/plugin.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/chat-dashboard/ChatContainer.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/chat-dashboard/ConnectionComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/dashboard-widgets/ChatDashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/dashboard-widgets/DashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/dashboard-widgets/TocDashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/dashboard-widgets/VisuDashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/icons/index.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/icons/react-app-env.d.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/redux/reducers/CommonDashboardReducer.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/redux/reducers/SideDashboardReducer.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/redux/reducers/ToCDashboardReducer.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/redux/store.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/redux/types.d.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/PageRouter.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/buttons/SortDropDown.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/buttons/TimeDropDown.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/cell/CellInput.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/cell/CellOutput.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/cell/MarkdownComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/layout/GridSystem.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/layout/TopBreadcrumb.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/notebook/ChartContainer.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/notebook/CodeExecComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/notebook/TimeSpentComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/placeholder/Loader.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/placeholder/NoData.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/components/placeholder/SidebarPlaceholder.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/side-dashboard/pages/Notebook.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/ExportCSVButton.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/generator/index.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/generator/options_manager.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/generator/toolbar_generator.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/generator/utils.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/toc-dashboard/tocDashboardItem.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/chartOptions.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/compatibility.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/headings.d.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/utils/interfaces.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/widget-extensions/CellButton.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/widget-extensions/NotebookButton.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/src/widget-extensions/index.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/base.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/icons/analytics.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/icons/eyeFill.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/icons/eyeSlash.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/icons/folder.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/icons/notebook.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/index.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/tocDashboardEditor.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/style/upload.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/ui-tests/jupyter_server_test_config.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/ui-tests/playwright.config.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/ui-tests/tests/jupyterlab_unianalytics_dashboard.spec.ts +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
|
|
2
|
-
_commit: v4.
|
|
2
|
+
_commit: v4.2.5
|
|
3
3
|
_src_path: https://github.com/jupyterlab/extension-template
|
|
4
|
-
author_email:
|
|
4
|
+
author_email: raphael.marietan@hotmail.com
|
|
5
5
|
author_name: Raphael Marietan
|
|
6
6
|
data_format: string
|
|
7
7
|
file_extension: ''
|
|
8
8
|
has_binder: true
|
|
9
9
|
has_settings: true
|
|
10
|
-
kind:
|
|
10
|
+
kind: server
|
|
11
11
|
labextension_name: jupyterlab_unianalytics_dashboard
|
|
12
12
|
mimetype: ''
|
|
13
13
|
mimetype_name: ''
|
|
14
|
-
project_short_description:
|
|
15
|
-
|
|
16
|
-
students.
|
|
14
|
+
project_short_description: A JupyterLab dashboard extension to visualize data from
|
|
15
|
+
students.
|
|
17
16
|
python_name: jupyterlab_unianalytics_dashboard
|
|
18
17
|
repository: https://github.com/chili-epfl/jupyter-dashboard-visu-extension
|
|
19
18
|
test: true
|
|
20
19
|
viewer_name: ''
|
|
20
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
nodeLinker: node-modules
|
{jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/CHANGELOG.md
RENAMED
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- <START NEW CHANGELOG ENTRY> -->
|
|
4
4
|
|
|
5
|
-
## 4.0.
|
|
5
|
+
## 4.0.8
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
No merged PRs
|
|
8
8
|
|
|
9
9
|
<!-- <END NEW CHANGELOG ENTRY> -->
|
|
10
10
|
|
|
11
|
+
## 4.0.7
|
|
12
|
+
|
|
13
|
+
- Feature: adding text-based filtering in Cell dashboard
|
|
14
|
+
- Adding server extension component
|
|
15
|
+
- Generating or retrieving persistent user identifier
|
|
16
|
+
- Small bug fixes
|
|
17
|
+
|
|
18
|
+
## 4.0.6
|
|
19
|
+
|
|
20
|
+
Fixed incompatibility with JupyterLab 3.
|
|
21
|
+
|
|
11
22
|
## 4.0.5
|
|
12
23
|
|
|
13
24
|
Changes since last release:
|
{jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/PKG-INFO
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: jupyterlab_unianalytics_dashboard
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.8
|
|
4
4
|
Summary: A JupyterLab dashboard extension to visualize data from students.
|
|
5
5
|
Project-URL: Homepage, https://github.com/chili-epfl/jupyter-dashboard-visu-extension
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/chili-epfl/jupyter-dashboard-visu-extension/issues
|
|
7
7
|
Project-URL: Repository, https://github.com/chili-epfl/jupyter-dashboard-visu-extension.git
|
|
8
|
-
Author-email: Raphael Marietan <
|
|
8
|
+
Author-email: Raphael Marietan <raphael.marietan@hotmail.com>
|
|
9
9
|
License: BSD 3-Clause License
|
|
10
10
|
|
|
11
|
-
Copyright (c)
|
|
11
|
+
Copyright (c) 2024, Raphael Marietan
|
|
12
12
|
All rights reserved.
|
|
13
13
|
|
|
14
14
|
Redistribution and use in source and binary forms, with or without
|
|
@@ -48,7 +48,15 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
48
48
|
Classifier: Programming Language :: Python :: 3.9
|
|
49
49
|
Classifier: Programming Language :: Python :: 3.10
|
|
50
50
|
Classifier: Programming Language :: Python :: 3.11
|
|
51
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
51
52
|
Requires-Python: >=3.8
|
|
53
|
+
Requires-Dist: jupyter-server<3,>=1.12
|
|
54
|
+
Provides-Extra: test
|
|
55
|
+
Requires-Dist: coverage; extra == 'test'
|
|
56
|
+
Requires-Dist: pytest; extra == 'test'
|
|
57
|
+
Requires-Dist: pytest-asyncio; extra == 'test'
|
|
58
|
+
Requires-Dist: pytest-cov; extra == 'test'
|
|
59
|
+
Requires-Dist: pytest-jupyter[server]>=0.6.0; extra == 'test'
|
|
52
60
|
Description-Content-Type: text/markdown
|
|
53
61
|
|
|
54
62
|
# Unianalytics Dashboard JupyterLab Extension
|
|
@@ -79,6 +87,22 @@ To remove the extension, execute:
|
|
|
79
87
|
pip uninstall jupyterlab-unianalytics_dashboard
|
|
80
88
|
```
|
|
81
89
|
|
|
90
|
+
## Troubleshoot
|
|
91
|
+
|
|
92
|
+
If you are seeing the frontend extension, but it is not working, check
|
|
93
|
+
that the server extension is enabled:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
jupyter server extension list
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
If the server extension is installed and enabled, but you are not seeing
|
|
100
|
+
the frontend extension, check the frontend extension is installed:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
jupyter labextension list
|
|
104
|
+
```
|
|
105
|
+
|
|
82
106
|
## Contributing
|
|
83
107
|
|
|
84
108
|
### Development install
|
|
@@ -91,11 +115,13 @@ The `jlpm` command is JupyterLab's pinned version of
|
|
|
91
115
|
|
|
92
116
|
```bash
|
|
93
117
|
# Clone the repo to your local environment
|
|
94
|
-
# Change directory to the
|
|
118
|
+
# Change directory to the jupyterlab_unianalytics_dashboard directory
|
|
95
119
|
# Install package in development mode
|
|
96
|
-
pip install -e "."
|
|
120
|
+
pip install -e ".[test]"
|
|
97
121
|
# Link your development version of the extension with JupyterLab
|
|
98
122
|
jupyter labextension develop . --overwrite
|
|
123
|
+
# Server extension must be manually installed in develop mode
|
|
124
|
+
jupyter server extension enable jupyterlab_unianalytics_dashboard
|
|
99
125
|
# Rebuild extension Typescript source after making changes
|
|
100
126
|
jlpm build
|
|
101
127
|
```
|
|
@@ -120,6 +146,8 @@ jupyter lab build --minimize=False
|
|
|
120
146
|
### Development uninstall
|
|
121
147
|
|
|
122
148
|
```bash
|
|
149
|
+
# Server extension must be manually disabled in develop mode
|
|
150
|
+
jupyter server extension disable jupyterlab_unianalytics_dashboard
|
|
123
151
|
pip uninstall jupyterlab_unianalytics_dashboard
|
|
124
152
|
```
|
|
125
153
|
|
|
@@ -129,6 +157,24 @@ folder is located. Then you can remove the symlink named `jupyterlab_unianalytic
|
|
|
129
157
|
|
|
130
158
|
### Testing the extension
|
|
131
159
|
|
|
160
|
+
#### Server tests
|
|
161
|
+
|
|
162
|
+
This extension is using [Pytest](https://docs.pytest.org/) for Python code testing.
|
|
163
|
+
|
|
164
|
+
Install test dependencies (needed only once):
|
|
165
|
+
|
|
166
|
+
```sh
|
|
167
|
+
pip install -e ".[test]"
|
|
168
|
+
# Each time you install the Python package, you need to restore the front-end extension link
|
|
169
|
+
jupyter labextension develop . --overwrite
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
To execute them, run:
|
|
173
|
+
|
|
174
|
+
```sh
|
|
175
|
+
pytest -vv -r ap --cov jupyterlab_unianalytics_dashboard
|
|
176
|
+
```
|
|
177
|
+
|
|
132
178
|
#### Frontend tests
|
|
133
179
|
|
|
134
180
|
This extension is using [Jest](https://jestjs.io/) for JavaScript code testing.
|
|
@@ -142,7 +188,7 @@ jlpm test
|
|
|
142
188
|
|
|
143
189
|
#### Integration tests
|
|
144
190
|
|
|
145
|
-
This extension uses [Playwright](https://playwright.dev/docs/intro
|
|
191
|
+
This extension uses [Playwright](https://playwright.dev/docs/intro) for the integration tests (aka user level tests).
|
|
146
192
|
More precisely, the JupyterLab helper [Galata](https://github.com/jupyterlab/jupyterlab/tree/master/galata) is used to handle testing the extension in JupyterLab.
|
|
147
193
|
|
|
148
194
|
More information are provided within the [ui-tests](./ui-tests/README.md) README.
|
{jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/README.md
RENAMED
|
@@ -26,6 +26,22 @@ To remove the extension, execute:
|
|
|
26
26
|
pip uninstall jupyterlab-unianalytics_dashboard
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
## Troubleshoot
|
|
30
|
+
|
|
31
|
+
If you are seeing the frontend extension, but it is not working, check
|
|
32
|
+
that the server extension is enabled:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
jupyter server extension list
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
If the server extension is installed and enabled, but you are not seeing
|
|
39
|
+
the frontend extension, check the frontend extension is installed:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
jupyter labextension list
|
|
43
|
+
```
|
|
44
|
+
|
|
29
45
|
## Contributing
|
|
30
46
|
|
|
31
47
|
### Development install
|
|
@@ -38,11 +54,13 @@ The `jlpm` command is JupyterLab's pinned version of
|
|
|
38
54
|
|
|
39
55
|
```bash
|
|
40
56
|
# Clone the repo to your local environment
|
|
41
|
-
# Change directory to the
|
|
57
|
+
# Change directory to the jupyterlab_unianalytics_dashboard directory
|
|
42
58
|
# Install package in development mode
|
|
43
|
-
pip install -e "."
|
|
59
|
+
pip install -e ".[test]"
|
|
44
60
|
# Link your development version of the extension with JupyterLab
|
|
45
61
|
jupyter labextension develop . --overwrite
|
|
62
|
+
# Server extension must be manually installed in develop mode
|
|
63
|
+
jupyter server extension enable jupyterlab_unianalytics_dashboard
|
|
46
64
|
# Rebuild extension Typescript source after making changes
|
|
47
65
|
jlpm build
|
|
48
66
|
```
|
|
@@ -67,6 +85,8 @@ jupyter lab build --minimize=False
|
|
|
67
85
|
### Development uninstall
|
|
68
86
|
|
|
69
87
|
```bash
|
|
88
|
+
# Server extension must be manually disabled in develop mode
|
|
89
|
+
jupyter server extension disable jupyterlab_unianalytics_dashboard
|
|
70
90
|
pip uninstall jupyterlab_unianalytics_dashboard
|
|
71
91
|
```
|
|
72
92
|
|
|
@@ -76,6 +96,24 @@ folder is located. Then you can remove the symlink named `jupyterlab_unianalytic
|
|
|
76
96
|
|
|
77
97
|
### Testing the extension
|
|
78
98
|
|
|
99
|
+
#### Server tests
|
|
100
|
+
|
|
101
|
+
This extension is using [Pytest](https://docs.pytest.org/) for Python code testing.
|
|
102
|
+
|
|
103
|
+
Install test dependencies (needed only once):
|
|
104
|
+
|
|
105
|
+
```sh
|
|
106
|
+
pip install -e ".[test]"
|
|
107
|
+
# Each time you install the Python package, you need to restore the front-end extension link
|
|
108
|
+
jupyter labextension develop . --overwrite
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
To execute them, run:
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
pytest -vv -r ap --cov jupyterlab_unianalytics_dashboard
|
|
115
|
+
```
|
|
116
|
+
|
|
79
117
|
#### Frontend tests
|
|
80
118
|
|
|
81
119
|
This extension is using [Jest](https://jestjs.io/) for JavaScript code testing.
|
|
@@ -89,7 +127,7 @@ jlpm test
|
|
|
89
127
|
|
|
90
128
|
#### Integration tests
|
|
91
129
|
|
|
92
|
-
This extension uses [Playwright](https://playwright.dev/docs/intro
|
|
130
|
+
This extension uses [Playwright](https://playwright.dev/docs/intro) for the integration tests (aka user level tests).
|
|
93
131
|
More precisely, the JupyterLab helper [Galata](https://github.com/jupyterlab/jupyterlab/tree/master/galata) is used to handle testing the extension in JupyterLab.
|
|
94
132
|
|
|
95
133
|
More information are provided within the [ui-tests](./ui-tests/README.md) README.
|
{jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/RELEASE.md
RENAMED
|
@@ -64,7 +64,41 @@ Check out the [workflow documentation](https://jupyter-releaser.readthedocs.io/e
|
|
|
64
64
|
|
|
65
65
|
Here is a summary of the steps to cut a new release:
|
|
66
66
|
|
|
67
|
-
- Add
|
|
67
|
+
- Add tokens to the [Github Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) in the repository:
|
|
68
|
+
- `ADMIN_GITHUB_TOKEN` (with "public_repo" and "repo:status" permissions); see the [documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
|
|
69
|
+
- `NPM_TOKEN` (with "automation" permission); see the [documentation](https://docs.npmjs.com/creating-and-viewing-access-tokens)
|
|
70
|
+
- Set up PyPI
|
|
71
|
+
|
|
72
|
+
<details><summary>Using PyPI trusted publisher (modern way)</summary>
|
|
73
|
+
|
|
74
|
+
- Set up your PyPI project by [adding a trusted publisher](https://docs.pypi.org/trusted-publishers/adding-a-publisher/)
|
|
75
|
+
- The _workflow name_ is `publish-release.yml` and the _environment_ should be left blank.
|
|
76
|
+
- Ensure the publish release job as `permissions`: `id-token : write` (see the [documentation](https://docs.pypi.org/trusted-publishers/using-a-publisher/))
|
|
77
|
+
|
|
78
|
+
</details>
|
|
79
|
+
|
|
80
|
+
<details><summary>Using PyPI token (legacy way)</summary>
|
|
81
|
+
|
|
82
|
+
- If the repo generates PyPI release(s), create a scoped PyPI [token](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/#saving-credentials-on-github). We recommend using a scoped token for security reasons.
|
|
83
|
+
|
|
84
|
+
- You can store the token as `PYPI_TOKEN` in your fork's `Secrets`.
|
|
85
|
+
|
|
86
|
+
- Advanced usage: if you are releasing multiple repos, you can create a secret named `PYPI_TOKEN_MAP` instead of `PYPI_TOKEN` that is formatted as follows:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
owner1/repo1,token1
|
|
90
|
+
owner2/repo2,token2
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
If you have multiple Python packages in the same repository, you can point to them as follows:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
owner1/repo1/path/to/package1,token1
|
|
97
|
+
owner1/repo1/path/to/package2,token2
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
</details>
|
|
101
|
+
|
|
68
102
|
- Go to the Actions panel
|
|
69
103
|
- Run the "Step 1: Prep Release" workflow
|
|
70
104
|
- Check the draft changelog
|
{jupyterlab_unianalytics_dashboard-4.0.6 → jupyterlab_unianalytics_dashboard-4.0.8}/junit.xml
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<testsuites name="jest tests" tests="1" failures="0" errors="0" time="
|
|
3
|
-
<testsuite name="jupyterlab_unianalytics_dashboard" errors="0" failures="0" skipped="0" timestamp="
|
|
4
|
-
<testcase classname="jupyterlab_unianalytics_dashboard should be tested" name="jupyterlab_unianalytics_dashboard should be tested" time="0.
|
|
2
|
+
<testsuites name="jest tests" tests="1" failures="0" errors="0" time="25.156">
|
|
3
|
+
<testsuite name="jupyterlab_unianalytics_dashboard" errors="0" failures="0" skipped="0" timestamp="2024-01-26T16:04:36" time="13.286" tests="1">
|
|
4
|
+
<testcase classname="jupyterlab_unianalytics_dashboard should be tested" name="jupyterlab_unianalytics_dashboard should be tested" time="0.005">
|
|
5
5
|
</testcase>
|
|
6
6
|
</testsuite>
|
|
7
7
|
</testsuites>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
try:
|
|
2
|
+
from ._version import __version__
|
|
3
|
+
except ImportError:
|
|
4
|
+
# Fallback when using the package in dev mode without installing
|
|
5
|
+
# in editable mode with pip. It is highly recommended to install
|
|
6
|
+
# the package from a stable release or in editable mode: https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs
|
|
7
|
+
import warnings
|
|
8
|
+
warnings.warn("Importing 'jupyterlab_unianalytics_dashboard' outside a proper installation.")
|
|
9
|
+
__version__ = "dev"
|
|
10
|
+
from .handlers import setup_handlers
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _jupyter_labextension_paths():
|
|
14
|
+
return [{
|
|
15
|
+
"src": "labextension",
|
|
16
|
+
"dest": "jupyterlab_unianalytics_dashboard"
|
|
17
|
+
}]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def _jupyter_server_extension_points():
|
|
21
|
+
return [{
|
|
22
|
+
"module": "jupyterlab_unianalytics_dashboard"
|
|
23
|
+
}]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _load_jupyter_server_extension(server_app):
|
|
27
|
+
"""Registers the API handler to receive HTTP requests from the frontend extension.
|
|
28
|
+
|
|
29
|
+
Parameters
|
|
30
|
+
----------
|
|
31
|
+
server_app: jupyterlab.labapp.LabApp
|
|
32
|
+
JupyterLab application instance
|
|
33
|
+
"""
|
|
34
|
+
setup_handlers(server_app.web_app)
|
|
35
|
+
name = "jupyterlab_unianalytics_dashboard"
|
|
36
|
+
server_app.log.info(f"Registered {name} server extension")
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import uuid
|
|
3
|
+
from hashlib import sha256
|
|
4
|
+
from jupyter_server.config_manager import BaseJSONConfigManager
|
|
5
|
+
|
|
6
|
+
from jupyter_server.base.handlers import APIHandler
|
|
7
|
+
from jupyter_server.utils import url_path_join
|
|
8
|
+
import tornado
|
|
9
|
+
|
|
10
|
+
SECRET_SALT = '5ea06c48dbb6a90cdee78f88b8a08e673efda3d28c8019e62e326ce817ee8900'
|
|
11
|
+
def hash_user_id_with_salt(prehashed_id):
|
|
12
|
+
return sha256(prehashed_id.encode('utf-8') + SECRET_SALT.encode('utf-8')).hexdigest()
|
|
13
|
+
|
|
14
|
+
class RouteHandler(APIHandler):
|
|
15
|
+
# the following decorator should be present on all verb methods (head, get, post,
|
|
16
|
+
# patch, put, delete, options) to ensure only authorized user can request the
|
|
17
|
+
# Jupyter server
|
|
18
|
+
@tornado.web.authenticated
|
|
19
|
+
def get(self):
|
|
20
|
+
# return the anonymized user identifier
|
|
21
|
+
self.finish(self.anonymized_user_id)
|
|
22
|
+
|
|
23
|
+
def __init__(self, *args, **kwargs):
|
|
24
|
+
super().__init__(*args, **kwargs)
|
|
25
|
+
|
|
26
|
+
# get the SCIPER identifier if available
|
|
27
|
+
user_id = os.getenv('JUPYTERHUB_USER')
|
|
28
|
+
|
|
29
|
+
if not user_id :
|
|
30
|
+
|
|
31
|
+
# get randomly generated user_id from persisting config, and create one if not found
|
|
32
|
+
config_dir_path = os.path.join(os.path.expanduser('~'), '.jupyter/lab/user-settings/jupyterlab_unianalytics')
|
|
33
|
+
json_filename = 'unianalytics_user_info'
|
|
34
|
+
|
|
35
|
+
cm = BaseJSONConfigManager(config_dir=config_dir_path)
|
|
36
|
+
cm.ensure_config_dir_exists()
|
|
37
|
+
|
|
38
|
+
user_id = cm.get(json_filename).get('user_id')
|
|
39
|
+
|
|
40
|
+
if not user_id :
|
|
41
|
+
user_id = str(uuid.uuid4())
|
|
42
|
+
cm.set(json_filename, { 'user_id': user_id })
|
|
43
|
+
|
|
44
|
+
# anonymize the user_id
|
|
45
|
+
self.anonymized_user_id = hash_user_id_with_salt(user_id)
|
|
46
|
+
|
|
47
|
+
def setup_handlers(web_app):
|
|
48
|
+
host_pattern = ".*$"
|
|
49
|
+
|
|
50
|
+
base_url = web_app.settings["base_url"]
|
|
51
|
+
route_pattern = url_path_join(base_url, "jupyterlab-unianalytics-dashboard", "get_anonymized_user_id")
|
|
52
|
+
handlers = [(route_pattern, RouteHandler)]
|
|
53
|
+
web_app.add_handlers(host_pattern, handlers)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_unianalytics_dashboard",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.8",
|
|
4
4
|
"description": "A JupyterLab dashboard extension to visualize data from students.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -14,11 +14,12 @@
|
|
|
14
14
|
"license": "BSD-3-Clause",
|
|
15
15
|
"author": {
|
|
16
16
|
"name": "Raphael Marietan",
|
|
17
|
-
"email": "
|
|
17
|
+
"email": "raphael.marietan@hotmail.com"
|
|
18
18
|
},
|
|
19
19
|
"files": [
|
|
20
20
|
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
21
21
|
"style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
|
|
22
|
+
"src/**/*.{ts,tsx}",
|
|
22
23
|
"schema/*.json"
|
|
23
24
|
],
|
|
24
25
|
"main": "lib/index.js",
|
|
@@ -58,16 +59,14 @@
|
|
|
58
59
|
"dependencies": {
|
|
59
60
|
"@juggle/resize-observer": "^3.4.0",
|
|
60
61
|
"@jupyterlab/application": "^4.0.0",
|
|
61
|
-
"@jupyterlab/
|
|
62
|
+
"@jupyterlab/coreutils": "^6.0.0",
|
|
63
|
+
"@jupyterlab/services": "^7.0.0",
|
|
62
64
|
"@jupyterlab/settingregistry": "^4.0.0",
|
|
63
|
-
"@jupyterlab/toc": "^6.0.2",
|
|
64
65
|
"@reduxjs/toolkit": "^1.9.5",
|
|
65
|
-
"bootstrap": "^5.2
|
|
66
|
-
"chart.js": "^4.
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"marked": "^9.1.6",
|
|
70
|
-
"react-bootstrap": "^2.7.4",
|
|
66
|
+
"bootstrap": "^5.3.2",
|
|
67
|
+
"chart.js": "^4.4.1",
|
|
68
|
+
"marked": "^11.1.1",
|
|
69
|
+
"react-bootstrap": "^2.10.0",
|
|
71
70
|
"react-bootstrap-icons": "^1.10.3",
|
|
72
71
|
"react-chartjs-2": "^5.2.0",
|
|
73
72
|
"react-redux": "^8.0.5"
|
|
@@ -75,29 +74,29 @@
|
|
|
75
74
|
"devDependencies": {
|
|
76
75
|
"@jupyterlab/builder": "^4.0.0",
|
|
77
76
|
"@jupyterlab/testutils": "^4.0.0",
|
|
78
|
-
"@types/crypto-js": "^4.1.1",
|
|
79
77
|
"@types/jest": "^29.2.0",
|
|
80
78
|
"@types/json-schema": "^7.0.11",
|
|
81
79
|
"@types/react": "^18.0.26",
|
|
82
|
-
"@types/react-
|
|
83
|
-
"@types/
|
|
84
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
85
|
-
"@typescript-eslint/parser": "^
|
|
80
|
+
"@types/react-addons-linked-state-mixin": "^0.14.22",
|
|
81
|
+
"@types/react-dom": "^18.2.18",
|
|
82
|
+
"@typescript-eslint/eslint-plugin": "^6.1.0",
|
|
83
|
+
"@typescript-eslint/parser": "^6.1.0",
|
|
86
84
|
"css-loader": "^6.7.1",
|
|
87
85
|
"eslint": "^8.36.0",
|
|
88
|
-
"eslint-config-prettier": "^8.
|
|
89
|
-
"eslint-plugin-prettier": "^
|
|
86
|
+
"eslint-config-prettier": "^8.8.0",
|
|
87
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
90
88
|
"jest": "^29.2.0",
|
|
89
|
+
"mkdirp": "^1.0.3",
|
|
91
90
|
"npm-run-all": "^4.1.5",
|
|
92
|
-
"prettier": "^
|
|
93
|
-
"rimraf": "^
|
|
91
|
+
"prettier": "^3.0.0",
|
|
92
|
+
"rimraf": "^5.0.1",
|
|
94
93
|
"source-map-loader": "^1.0.2",
|
|
95
94
|
"style-loader": "^3.3.1",
|
|
96
|
-
"stylelint": "^
|
|
97
|
-
"stylelint-config-
|
|
98
|
-
"stylelint-config-
|
|
99
|
-
"stylelint-
|
|
100
|
-
"stylelint-prettier": "^
|
|
95
|
+
"stylelint": "^15.10.1",
|
|
96
|
+
"stylelint-config-recommended": "^13.0.0",
|
|
97
|
+
"stylelint-config-standard": "^34.0.0",
|
|
98
|
+
"stylelint-csstree-validator": "^3.0.0",
|
|
99
|
+
"stylelint-prettier": "^4.0.0",
|
|
101
100
|
"typescript": "~5.0.2",
|
|
102
101
|
"yjs": "^13.5.0"
|
|
103
102
|
},
|
|
@@ -110,11 +109,21 @@
|
|
|
110
109
|
"access": "public"
|
|
111
110
|
},
|
|
112
111
|
"jupyterlab": {
|
|
112
|
+
"discovery": {
|
|
113
|
+
"server": {
|
|
114
|
+
"managers": [
|
|
115
|
+
"pip"
|
|
116
|
+
],
|
|
117
|
+
"base": {
|
|
118
|
+
"name": "jupyterlab_unianalytics_dashboard"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
113
122
|
"extension": true,
|
|
114
123
|
"outputDir": "jupyterlab_unianalytics_dashboard/labextension",
|
|
115
124
|
"schemaDir": "schema",
|
|
116
125
|
"_build": {
|
|
117
|
-
"load": "static/remoteEntry.
|
|
126
|
+
"load": "static/remoteEntry.8cd70c149b116f11f59e.js",
|
|
118
127
|
"extension": "./extension",
|
|
119
128
|
"style": "./style"
|
|
120
129
|
}
|
|
@@ -186,7 +195,15 @@
|
|
|
186
195
|
"singleQuote": true,
|
|
187
196
|
"trailingComma": "none",
|
|
188
197
|
"arrowParens": "avoid",
|
|
189
|
-
"endOfLine": "auto"
|
|
198
|
+
"endOfLine": "auto",
|
|
199
|
+
"overrides": [
|
|
200
|
+
{
|
|
201
|
+
"files": "package.json",
|
|
202
|
+
"options": {
|
|
203
|
+
"tabWidth": 4
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
]
|
|
190
207
|
},
|
|
191
208
|
"stylelint": {
|
|
192
209
|
"extends": [
|
|
@@ -194,11 +211,15 @@
|
|
|
194
211
|
"stylelint-config-standard",
|
|
195
212
|
"stylelint-prettier/recommended"
|
|
196
213
|
],
|
|
214
|
+
"plugins": [
|
|
215
|
+
"stylelint-csstree-validator"
|
|
216
|
+
],
|
|
197
217
|
"rules": {
|
|
218
|
+
"csstree/validator": true,
|
|
198
219
|
"property-no-vendor-prefix": null,
|
|
220
|
+
"selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
|
|
199
221
|
"selector-no-vendor-prefix": null,
|
|
200
|
-
"value-no-vendor-prefix": null
|
|
201
|
-
"selector-class-pattern": null
|
|
222
|
+
"value-no-vendor-prefix": null
|
|
202
223
|
}
|
|
203
224
|
}
|
|
204
225
|
}
|