From 6fee30cd72923de56b3d1ec6375bd5a1947f901a Mon Sep 17 00:00:00 2001 From: Marc Wouts Date: Tue, 30 Nov 2021 01:31:44 +0100 Subject: [PATCH] Version 1.13.2 (#879) * Use BUILD_JUPYTERLAB_EXTENSION=1 to build the extension for Jupyter Lab * Branch master was renamed to main * Version 1.3.7 of the Jupytext extension for Jupyter Lab --- README.md | 36 ++++-- docs/CHANGELOG.md | 13 +- docs/conf.py | 2 +- docs/config.md | 4 +- docs/developing.md | 2 +- docs/faq.md | 2 +- docs/formats.md | 18 +-- docs/index.md | 16 +-- docs/install.md | 4 +- docs/paired-notebooks.md | 6 +- docs/tutorials.md | 4 +- docs/using-cli.md | 2 +- jupytext/nbextension/README.md | 4 +- jupytext/nbextension/index.js | 2 +- jupytext/version.py | 2 +- packages/labextension/CHANGELOG.md | 11 +- packages/labextension/README.md | 10 +- packages/labextension/package.json | 11 +- packages/labextension/yarn.lock | 193 ++++++++++++++--------------- 19 files changed, 183 insertions(+), 159 deletions(-) diff --git a/README.md b/README.md index 7abc2ebe8..6b9e78d44 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![](https://raw.githubusercontent.com/mwouts/jupytext/master/docs/logo_large.png) +![](https://raw.githubusercontent.com/mwouts/jupytext/main/docs/logo_large.png) ![CI](https://github.com/mwouts/jupytext/workflows/CI/badge.svg) [![Documentation Status](https://readthedocs.org/projects/jupytext/badge/?version=latest)](https://jupytext.readthedocs.io/en/latest/?badge=latest) @@ -9,8 +9,8 @@ [![Conda Version](https://img.shields.io/conda/vn/conda-forge/jupytext.svg)](https://anaconda.org/conda-forge/jupytext) [![Pypi](https://img.shields.io/pypi/v/jupytext.svg)](https://pypi.python.org/pypi/jupytext) [![pyversions](https://img.shields.io/pypi/pyversions/jupytext.svg)](https://pypi.python.org/pypi/jupytext) -[![Binder:notebook](https://img.shields.io/badge/binder-notebook-0172B2.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?filepath=demo) -[![Binder:lab](https://img.shields.io/badge/binder-jupyterlab-0172B2.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb) +[![Binder:notebook](https://img.shields.io/badge/binder-notebook-0172B2.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?filepath=demo) +[![Binder:lab](https://img.shields.io/badge/binder-jupyterlab-0172B2.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb) [![](https://img.shields.io/badge/YouTube-JupyterCon%202020-red.svg)](https://www.youtube.com/watch?v=SDYdeVfMh48) Have you always wished Jupyter notebooks were plain text documents? Wished you could edit them in your favorite IDE? And get clear and meaningful diffs when doing version control? Then... Jupytext may well be the tool you're looking for! @@ -44,14 +44,32 @@ When Jupytext is installed, `.py` and `.md` files have a notebook icon. And you
With a click on the text file in Jupyter Notebook -[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/TextNotebooks.png)](https://mybinder.org/v2/gh/mwouts/jupytext/master?filepath=demo) -(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?filepath=demo)) +[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/TextNotebooks.png)](https://mybinder.org/v2/gh/mwouts/jupytext/main?filepath=demo) +(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?filepath=demo))
- With a right click and open with notebook in Jupyter Lab +With a click on the text file in JupyterLab +To do that, you will need to change the default viewer for text files supported by Jupytext by copy-pasting the following settings in `Document Manager` section: + +```json +{ + "defaultViewers": { + "markdown": "Jupytext Notebook", + "jupytext-md": "Jupytext Notebook" + } +} +``` + -[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/ContextMenuLab.png)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb) +Here is a screencast of the steps to follow: + +[![](https://raw.githubusercontent.com/mwouts/jupytext/main/docs/jupyterlab_default_viewer.gif)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb) (click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb)) +
+ With a right click and open with notebook in Jupyter Lab + +[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/ContextMenuLab.png)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb) +(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb))
@@ -64,13 +82,13 @@ To pair a given `.ipynb` or text notebook to an additional notebook format, use
the "pair notebook with..." commands in Jupyter Lab -[![](https://raw.githubusercontent.com/mwouts/jupytext/master/packages/labextension/jupytext_commands.png)](docs/install.md#jupytext-commands-in-jupyterlab) +[![](https://raw.githubusercontent.com/mwouts/jupytext/main/packages/labextension/jupytext_commands.png)](docs/install.md#jupytext-commands-in-jupyterlab)
the "pair notebook with..." menu entries in Jupyter Notebook -[![](https://raw.githubusercontent.com/mwouts/jupytext/master/jupytext/nbextension/jupytext_menu.png)](docs/install.md#jupytext-menu-in-jupyter-notebook) +[![](https://raw.githubusercontent.com/mwouts/jupytext/main/jupytext/nbextension/jupytext_menu.png)](docs/install.md#jupytext-menu-in-jupyter-notebook)
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 00d266f0a..4328a3d85 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,17 @@ Jupytext ChangeLog ================== +1.13.2 (2021-11-30) +------------------- + +**Changed** +- The extension for Jupyter Lab benefited from a series of improvements contributed by [Frédéric Collonval](https://github.com/fcollonval): + - A new "Jupytext Notebook" factory offers the option to open text notebooks directly with the notebook view (#803). To use it, follow the instructions in the [documentation](https://github.com/mwouts/jupytext/blob/main/docs/index.md#install). + - The ICommandPalette is optional, for compatibility with RISE within JupyterLab [RISE#605](https://github.com/damianavila/RISE/pull/605) + - Added support for translation +- Branch `master` was renamed to `main` (links update) + + 1.13.1 (2021-10-07) ------------------- @@ -292,7 +303,7 @@ error will occur if the required dependencies, resp. `markdown-it-py` and `pando ------------------ **Added** -- Jupytext can use a local or global [configuration file](https://github.com/mwouts/jupytext/blob/master/docs/config.md) ([#508](https://github.com/mwouts/jupytext/issues/508)) +- Jupytext can use a local or global [configuration file](https://github.com/mwouts/jupytext/blob/main/docs/config.md) ([#508](https://github.com/mwouts/jupytext/issues/508)) - Jupytext can pair notebooks in trees. Use e.g. `notebooks///ipynb,scripts///py:percent` if you want to replicate the tree of notebooks under `notebooks` in a folder named `scripts` ([#424](https://github.com/mwouts/jupytext/issues/424)) - The extension for Jupyter Notebook has a _New Text Notebook_ menu that creates text-only notebooks ([#443](https://github.com/mwouts/jupytext/issues/443)) - Groovy and Java are now supported, thanks to Przemek Wesołek ([#500](https://github.com/mwouts/jupytext/issues/500)) diff --git a/docs/conf.py b/docs/conf.py index e0b9cd911..9687c4d9b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ "display_github": True, # Integrate GitHub "github_user": "mwouts", # Username "github_repo": "jupytext", # Repo name - "github_version": "master", # Version + "github_version": "main", # Version "conf_py_path": "/docs/", # Path in the checkout to the docs root } diff --git a/docs/config.md b/docs/config.md index a21e0a8d6..bef6b6815 100644 --- a/docs/config.md +++ b/docs/config.md @@ -51,7 +51,7 @@ If `JUPYTEXT_CEILING_DIRECTORIES` is defined, Jupytext will stop searching for c ### Configuring paired notebooks globally -The examples below assume that you use a `.jupytext`, `jupytext.toml` or `.jupytext.toml` Jupyter configuration file in TOML format. If you use another extension, please adapt the examples. For instance, if you want to use `jupytext.yml` in YAML format, replace the `=` sign with `:` and remove the double quotes. See also [`test_config.py`](https://github.com/mwouts/jupytext/blob/master/tests/test_config.py) for short examples in all the supported formats. +The examples below assume that you use a `.jupytext`, `jupytext.toml` or `.jupytext.toml` Jupyter configuration file in TOML format. If you use another extension, please adapt the examples. For instance, if you want to use `jupytext.yml` in YAML format, replace the `=` sign with `:` and remove the double quotes. See also [`test_config.py`](https://github.com/mwouts/jupytext/blob/main/tests/test_config.py) for short examples in all the supported formats. Also, the examples are for Jupytext 1.11.0 or later. If you are using an older version, you should consult the [previous version](https://github.com/mwouts/jupytext/blob/v1.10.3/docs/config.md#configuring-paired-notebooks-globally) of this documentation. @@ -131,4 +131,4 @@ Finally, to hide the notebook metadata in an HTML comment in Markdown files, use ### More options -There are a couple more options available - please have a look at the `JupytextConfiguration` class in [config.py](https://github.com/mwouts/jupytext/blob/master/jupytext/config.py). +There are a couple more options available - please have a look at the `JupytextConfiguration` class in [config.py](https://github.com/mwouts/jupytext/blob/main/jupytext/config.py). diff --git a/docs/developing.md b/docs/developing.md index 4b8ec34ea..9f5173f09 100644 --- a/docs/developing.md +++ b/docs/developing.md @@ -2,7 +2,7 @@ ## How to test development versions from GitHub -If you want to test a feature that has been integrated in `master` but not delivered yet to `pip` or `conda`, use +If you want to test a feature that has been integrated in `main` but not delivered yet to `pip` or `conda`, use ``` pip install git+https://github.com/mwouts/jupytext.git ``` diff --git a/docs/faq.md b/docs/faq.md index e787f28ab..ac6502ab2 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -24,7 +24,7 @@ Saving notebooks as scripts is an appropriate choice when you want to act on the ## Can I see a sample of each format? -Go to [our demo folder](https://github.com/mwouts/jupytext/tree/master/demo) and see how our sample `World population` notebook is represented in each format. +Go to [our demo folder](https://github.com/mwouts/jupytext/tree/main/demo) and see how our sample `World population` notebook is represented in each format. ## Can I edit the paired text file? diff --git a/docs/formats.md b/docs/formats.md index 885c3cacc..03b96fafd 100644 --- a/docs/formats.md +++ b/docs/formats.md @@ -60,7 +60,7 @@ Raw cells are delimited with HTML comments, and accept cell metadata in the same Markdown cells can also have explicit markers: use one of `` or `` or `` and the corresponding `` counterpart. Note that the `` and `` cells markers are [foldable](https://code.visualstudio.com/docs/editor/codebasics#_folding) in VS Code, and that you can also insert a title there, e.g. ``. Cell metadata are accepted in the format `key="value"` (`"value"` being encoded in JSON) as for the other cell types. -For a concrete example, see how our `World population.ipynb` notebook in the [demo folder](https://github.com/mwouts/jupytext/tree/master/demo) is represented in [Markdown](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.md#). +For a concrete example, see how our `World population.ipynb` notebook in the [demo folder](https://github.com/mwouts/jupytext/tree/main/demo) is represented in [Markdown](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.md#). ### R Markdown @@ -74,7 +74,7 @@ Jupytext's implementation of R Markdown is very similar to that of the Markdown Python and R notebooks represented in the R Markdown format can run both in Jupyter and RStudio. Note that you can change the default Python environment in RStudio with `RETICULATE_PYTHON` in a `.Renviron` file, see [here](https://github.com/mwouts/jupytext/issues/267#issuecomment-506994930). -See how our `World population.ipynb` notebook in the [demo folder](https://github.com/mwouts/jupytext/tree/master/demo) is represented in [R Markdown](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.Rmd). +See how our `World population.ipynb` notebook in the [demo folder](https://github.com/mwouts/jupytext/tree/main/demo) is represented in [R Markdown](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.Rmd). ### MyST Markdown @@ -135,7 +135,7 @@ This is a markdown cell with metadata This is a new markdown cell with no metadata ``` -See for instance how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.myst.md#) in the `myst` format. +See for instance how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.myst.md#) in the `myst` format. **Note**: The `myst` format requires Python >= 3.6 @@ -153,7 +153,7 @@ Pandoc, the _Universal document converter_, can read and write Jupyter notebook In Pandoc Markdown, all cells are marked with pandoc divs (`:::`). The format is therefore slightly more verbose than the Jupytext Markdown format. -See for instance how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.pandoc.md#) in the `md:pandoc` format. +See for instance how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.pandoc.md#) in the `md:pandoc` format. If you wish to use that format, please install `pandoc` in version 2.7.2 or above, with e.g. `conda install pandoc -c conda-forge`. @@ -169,7 +169,7 @@ Note that the round trip of `.ipynb` to `.qmd` to `.ipynb` has the effect of con ### The `light` format -The `light` format was created for this project. That format can read any script in one of these [languages](https://github.com/mwouts/jupytext/blob/master/jupytext/languages.py) as a Jupyter notebook, even scripts which were never prepared to become a notebook. +The `light` format was created for this project. That format can read any script in one of these [languages](https://github.com/mwouts/jupytext/blob/main/jupytext/languages.py) as a Jupyter notebook, even scripts which were never prepared to become a notebook. When a script in the `light` format is converted to a notebook, Jupytext code paragraphs are turned into code cells, and comments that are not adjacent to code are converted to Markdown cells. Cell breaks occurs on blank lines outside of functions, classes or multiline comments. @@ -221,7 +221,7 @@ cell_markers = "{{{,}}}" # Use Vim region folding delimiters ``` to your [`jupytext.toml` configuration file](config.md#jupytext-configuration-file). -See how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.lgt.py) in that format. +See how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.lgt.py) in that format. ### The `nomarker` format @@ -229,7 +229,7 @@ The `nomarker` format is a variation of the `light` format with no cell marker a ### The `percent` format -The `percent` format is a representation of Jupyter notebooks as scripts, in which all cells are explicitly delimited with a commented double percent sign `# %%`. The `percent` format is currently available for these [languages](https://github.com/mwouts/jupytext/blob/master/jupytext/languages.py). +The `percent` format is a representation of Jupyter notebooks as scripts, in which all cells are explicitly delimited with a commented double percent sign `# %%`. The `percent` format is currently available for these [languages](https://github.com/mwouts/jupytext/blob/main/jupytext/languages.py). The format was introduced by Spyder in 2013, and is now supported by many editors, including - [Spyder IDE](https://docs.spyder-ide.org/editor.html#defining-code-cells), @@ -289,7 +289,7 @@ cell_markers = '"""' ``` to your [`jupytext.toml` configuration file](config.md#jupytext-configuration-file). -See how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.pct.py) in the `percent` format. +See how our `World population.ipynb` notebook is [represented](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.pct.py) in the `percent` format. ### The `hydrogen` format @@ -309,7 +309,7 @@ preferred_jupytext_formats_read = "py:sphinx" sphinx_convert_rst2md = true ``` -Our sample notebook is also represented in `sphinx` format [here](https://github.com/mwouts/jupytext/blob/master/demo/World%20population.spx.py). +Our sample notebook is also represented in `sphinx` format [here](https://github.com/mwouts/jupytext/blob/main/demo/World%20population.spx.py). ## Jupytext format options diff --git a/docs/index.md b/docs/index.md index 52a8d02f0..430acd6d9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,8 +26,8 @@ When Jupytext is installed, `.py` and `.md` files have a notebook icon. And you
With a click on the text file in Jupyter Notebook -[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/TextNotebooks.png)](https://mybinder.org/v2/gh/mwouts/jupytext/master?filepath=demo) -(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?filepath=demo)) +[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/TextNotebooks.png)](https://mybinder.org/v2/gh/mwouts/jupytext/main?filepath=demo) +(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?filepath=demo))
With a click on the text file in JupyterLab @@ -45,14 +45,14 @@ To do that, you will need to change the default viewer for text files supported Here is a screencast of the steps to follow: -[![](https://raw.githubusercontent.com/mwouts/jupytext/main/docs/jupyterlab_default_viewer.gif)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb) -(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb)) +[![](https://raw.githubusercontent.com/mwouts/jupytext/main/docs/jupyterlab_default_viewer.gif)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb) +(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb))
With a right click and open with notebook in Jupyter Lab -[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/ContextMenuLab.png)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb) -(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb)) +[![](https://raw.githubusercontent.com/mwouts/jupytext-screenshots/master/JupytextDocumentation/ContextMenuLab.png)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb) +(click on the image above to try this on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb))
@@ -65,13 +65,13 @@ To pair a given `.ipynb` or text notebook to an additional notebook format, use
the "pair notebook with..." commands in Jupyter Lab -[![](https://raw.githubusercontent.com/mwouts/jupytext/master/packages/labextension/jupytext_commands.png)](install.md#jupytext-commands-in-jupyterlab) +[![](https://raw.githubusercontent.com/mwouts/jupytext/main/packages/labextension/jupytext_commands.png)](install.md#jupytext-commands-in-jupyterlab)
the "pair notebook with..." menu entries in Jupyter Notebook -[![](https://raw.githubusercontent.com/mwouts/jupytext/master/jupytext/nbextension/jupytext_menu.png)](install.md#jupytext-menu-in-jupyter-notebook) +[![](https://raw.githubusercontent.com/mwouts/jupytext/main/jupytext/nbextension/jupytext_menu.png)](install.md#jupytext-menu-in-jupyter-notebook)
diff --git a/docs/install.md b/docs/install.md index b6163b93c..14762286d 100644 --- a/docs/install.md +++ b/docs/install.md @@ -40,7 +40,7 @@ jupyter notebook # or lab Jupytext includes an extensions for Jupyter Notebook that adds a Jupytext section in the File menu. -![](https://raw.githubusercontent.com/mwouts/jupytext/master/jupytext/nbextension/jupytext_menu.png) +![](https://raw.githubusercontent.com/mwouts/jupytext/main/jupytext/nbextension/jupytext_menu.png) If the extension was not automatically installed, install and activate it with ``` @@ -52,7 +52,7 @@ jupyter nbextension enable --py jupytext [--user] In JupyterLab, Jupytext adds a set of commands to the command palette (View / Activate Command Palette, or Ctrl+Shift+C): -![](https://raw.githubusercontent.com/mwouts/jupytext/master/packages/labextension/jupytext_commands.png) +![](https://raw.githubusercontent.com/mwouts/jupytext/main/packages/labextension/jupytext_commands.png) The Jupytext extension for JupyterLab is bundled with Jupytext. In most cases you don't need to install it explicitly. diff --git a/docs/paired-notebooks.md b/docs/paired-notebooks.md index 80bac3a5a..468378584 100644 --- a/docs/paired-notebooks.md +++ b/docs/paired-notebooks.md @@ -6,11 +6,11 @@ Jupytext can write a given notebook to multiple files. In addition to the origin In Jupyter Notebook, pair your notebook to one or more text formats with the [Jupytext menu](install.md#jupytext-menu-in-jupyter-notebook): -![](https://raw.githubusercontent.com/mwouts/jupytext_nbextension/master/jupytext_menu.png) +![](https://raw.githubusercontent.com/mwouts/jupytext/main/jupytext/nbextension/jupytext_menu.png) In JupyterLab, use the [Jupytext commands](install.md#jupytext-commands-in-jupyterlab): -![](https://raw.githubusercontent.com/mwouts/jupyterlab-jupytext/master/jupytext_commands.png) +![](https://raw.githubusercontent.com/mwouts/jupytext/main/packages/labextension/jupytext_commands.png) These command simply add a `"jupytext": {"formats": "ipynb,md"}`-like entry in the notebook metadata. @@ -21,7 +21,7 @@ You can also configure the notebook pairing on the command line, and set a defau When saving a paired notebook using Jupytext's contents manager, Jupyter updates both the `.ipynb` and its text representation. The text representation can be edited outside of Jupyter. When the notebook is refreshed in Jupyter, the input cells are read from the text file, and the output cells from the `.ipynb` file. It is possible (and convenient) to leave the notebook open in Jupyter while you edit its text representation. However, you don't want the two editors to save the notebook simultaneously. To avoid this: -- deactivate Jupyter's autosave, by either toggling the `"Autosave notebook"` menu entry or run `%autosave 0` in a cell of the notebook (see in the [faq](https://github.com/mwouts/jupytext/blob/master/docs/faq.md#jupyter-warns-me-that-the-file-has-changed-on-disk) how to deactivate autosave permanently) +- deactivate Jupyter's autosave, by either toggling the `"Autosave notebook"` menu entry or run `%autosave 0` in a cell of the notebook (see in the [faq](https://github.com/mwouts/jupytext/blob/main/docs/faq.md#jupyter-warns-me-that-the-file-has-changed-on-disk) how to deactivate autosave permanently) - and refresh the notebook when you switch back from the editor to Jupyter. In case you forgot to refresh, and saved the Jupyter notebook while the text representation had changed, no worries: Jupyter will ask you which version you want to keep: diff --git a/docs/tutorials.md b/docs/tutorials.md index b183e457f..ae93f3c7f 100644 --- a/docs/tutorials.md +++ b/docs/tutorials.md @@ -5,7 +5,7 @@ [![](https://img.shields.io/badge/YouTube-JupyterCon%202020-red.svg)](https://www.youtube.com/watch?v=SDYdeVfMh48) [![](https://img.shields.io/badge/CFM%20insights-Jupytext%20&%20Papermill-00ab6c.svg)](https://medium.com/capital-fund-management/automated-reports-with-jupyter-notebooks-using-jupytext-and-papermill-619e60c37330) [![](https://img.shields.io/badge/TDS-VS%20Code%20vs%20PyCharm-00ab6c.svg)](https://towardsdatascience.com/jupyter-notebooks-in-the-ide-visual-studio-code-versus-pycharm-5e72218eb3e8) -[![](https://img.shields.io/badge/Binder-Try%20it!-blue.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb) +[![](https://img.shields.io/badge/Binder-Try%20it!-blue.svg)](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb) Looking for a demo? - Read the original [announcement](https://towardsdatascience.com/introducing-jupytext-9234fdff6c57) in _Towards Data Science_ (Sept. 2018), @@ -13,4 +13,4 @@ Looking for a demo? - Read our article on [Jupytext and Papermill](https://medium.com/capital-fund-management/automated-reports-with-jupyter-notebooks-using-jupytext-and-papermill-619e60c37330) in _CFM Insights_ (Sept. 2019) - See how you can edit [Jupyter Notebooks in VS Code or PyCharm](https://towardsdatascience.com/jupyter-notebooks-in-the-ide-visual-studio-code-versus-pycharm-5e72218eb3e8) with (or without!) Jupytext (Jan. 2020) - Watch the [JupyterCon 2020 talk](https://github.com/mwouts/jupytext_jupytercon2020/blob/master/README.md) on Jupytext (Oct. 2020), -- or, try Jupytext online with [binder](https://mybinder.org/v2/gh/mwouts/jupytext/master?urlpath=lab/tree/demo/get_started.ipynb)! +- or, try Jupytext online with [binder](https://mybinder.org/v2/gh/mwouts/jupytext/main?urlpath=lab/tree/demo/get_started.ipynb)! diff --git a/docs/using-cli.md b/docs/using-cli.md index a0b62f83d..971e8a544 100644 --- a/docs/using-cli.md +++ b/docs/using-cli.md @@ -53,7 +53,7 @@ For programs that don't accept pipes, use `{}` as a placeholder for the name of ```bash jupytext --check 'pytest {}' notebook.ipynb # export the notebook in format py:percent in a temp file, run pytest ``` -Read more about running `pytest` on notebooks in our example [`Tests in a notebook.md`](https://github.com/mwouts/jupytext/blob/master/demo/Tests%20in%20a%20notebook.md#). +Read more about running `pytest` on notebooks in our example [`Tests in a notebook.md`](https://github.com/mwouts/jupytext/blob/main/demo/Tests%20in%20a%20notebook.md#). Note also that on Windows you need to use double quotes instead of single quotes and type e.g. `jupytext --check "pytest {}" notebook.ipynb`. Execute `jupytext --help` to access the full documentation. diff --git a/jupytext/nbextension/README.md b/jupytext/nbextension/README.md index d4ef4167c..00fda66ac 100644 --- a/jupytext/nbextension/README.md +++ b/jupytext/nbextension/README.md @@ -1,12 +1,12 @@ # A Jupyter notebook extension for Jupytext -This extension adds a [Jupytext](https://github.com/mwouts/jupytext/blob/master/README.md) menu to Jupyter notebook. Use the menu to select the desired ipynb/text pairing for your notebook. +This extension adds a [Jupytext](https://github.com/mwouts/jupytext/blob/main/README.md) menu to Jupyter notebook. Use the menu to select the desired ipynb/text pairing for your notebook. ![Jupytext menu screenshot](jupytext_menu.png) ## Installation -The extension requires [Jupytext](https://github.com/mwouts/jupytext/blob/master/README.md). Please make sure that Jupytext is installed on you system, and that its contents manager is active, i.e. that Markdown files and scripts are displayed with a notebook icon. +The extension requires [Jupytext](https://github.com/mwouts/jupytext/blob/main/README.md). Please make sure that Jupytext is installed on you system, and that its contents manager is active, i.e. that Markdown files and scripts are displayed with a notebook icon. Installing Jupytext activates the Jupytext Menu by default. If you want to install and activate it manually, use the following commands: diff --git a/jupytext/nbextension/index.js b/jupytext/nbextension/index.js index 327926e94..692b246da 100644 --- a/jupytext/nbextension/index.js +++ b/jupytext/nbextension/index.js @@ -1,6 +1,6 @@ // A Jupyter notebook extension for Jupytext // Refer to the documentation at -// https://github.com/mwouts/jupytext/blob/master/jupytext/nbextension/README.md +// https://github.com/mwouts/jupytext/blob/main/jupytext/nbextension/README.md // The most convenient way to edit this file is to edit the version installed by pip at // share/jupyter/nbextensions/jupytext diff --git a/jupytext/version.py b/jupytext/version.py index 0500d1302..e6d8bca87 100644 --- a/jupytext/version.py +++ b/jupytext/version.py @@ -1,3 +1,3 @@ """Jupytext's version number""" -__version__ = "1.13.1" +__version__ = "1.13.2" diff --git a/packages/labextension/CHANGELOG.md b/packages/labextension/CHANGELOG.md index b21b9ea69..ddf345abb 100644 --- a/packages/labextension/CHANGELOG.md +++ b/packages/labextension/CHANGELOG.md @@ -1,4 +1,13 @@ -# 1.3.4 (2021-09-23) +# 1.3.7 (2021-11-30) + +The extension for Jupyter Lab benefited from a series of improvements contributed by [Frédéric Collonval](https://github.com/fcollonval): +- A new "Jupytext Notebook" factory offers the option to open text notebooks directly with the notebook view (#803). To use it, follow the instructions in the [documentation](https://github.com/mwouts/jupytext/blob/main/docs/index.md#install). +- The ICommandPalette is optional, for compatibility with RISE within JupyterLab [RISE#605](https://github.com/damianavila/RISE/pull/605) +- Added support for translation. + +We also upgraded the extension dependency and especially `json-schema` to address a security vulnerability. + +# 1.3.6 (2021-09-23) - We have upgraded the extension dependencies and especially `ansi-regex` to fix a security vulnerability (#857) diff --git a/packages/labextension/README.md b/packages/labextension/README.md index 669285d76..b0eb2536e 100644 --- a/packages/labextension/README.md +++ b/packages/labextension/README.md @@ -7,11 +7,11 @@ The latest version for this extension is [![npm version](https://badge.fury.io/j Most users do not need to install this extension, since it is already included in the latest [jupytext](https://github.com/mwouts/jupytext/), both on [![Pypi](https://img.shields.io/pypi/v/jupytext.svg)](https://pypi.python.org/pypi/jupytext) and [![Conda Version](https://img.shields.io/conda/vn/conda-forge/jupytext.svg)](https://anaconda.org/conda-forge/jupytext). -![](https://github.com/mwouts/jupytext/raw/master/packages/labextension/jupytext_commands.png) +![](https://raw.githubusercontent.com/mwouts/jupytext/main/packages/labextension/jupytext_commands.png) ## Installation -Please install [Jupytext](https://github.com/mwouts/jupytext/blob/master/README.md#installation) first. As mentioned above, both the `pip` and `conda` packages do include the latest version of the JupyterLab extension, so in most cases you don't need to specifically install this `npm` package. +Please install [Jupytext](https://github.com/mwouts/jupytext/blob/main/README.md#installation) first. As mentioned above, both the `pip` and `conda` packages do include the latest version of the JupyterLab extension, so in most cases you don't need to specifically install this `npm` package. In case you're not using JupyterLab 3.x, you will have to install an older version of the extension that is compatible with your version. Please first install `jupytext` using `pip` or `conda`, and then downgrade the extension to a version compatible with your version of Jupyter Lab with: ```bash @@ -21,14 +21,14 @@ jupyter labextension install jupyterlab-jupytext@1.1.1 # for JupyterLab 1.x # How to develop this extension -We assume that you have activated the conda environment described in [CONTRIBUTING.md](https://github.com/mwouts/jupytext/blob/master/CONTRIBUTING.md). +We assume that you have activated the conda environment described in [CONTRIBUTING.md](https://github.com/mwouts/jupytext/blob/main/CONTRIBUTING.md). -Then you can rebuild the Jupytext python package (with `python setup.py sdist bdist_wheel`) and reinstall it (`pip install dist/jupytext-x.x.x-py3-none-any.whl`). +Then you can rebuild the Jupytext python package (with `BUILD_JUPYTERLAB_EXTENSION=1 python setup.py sdist bdist_wheel`) and reinstall it (`pip install dist/jupytext-x.x.x-py3-none-any.whl`). Alternatively, if you prefer to develop iteratively, you could install a development version of the extension with ```bash -jupyter labextension develop . --overwrite +BUILD_JUPYTERLAB_EXTENSION=1 jupyter labextension develop . --overwrite ``` Read more on this on the [JupyterLab documentation](https://jupyterlab.readthedocs.io/en/latest/extension/extension_dev.html#developing-a-prebuilt-extension). diff --git a/packages/labextension/package.json b/packages/labextension/package.json index dbab6e170..c54f2cfe2 100644 --- a/packages/labextension/package.json +++ b/packages/labextension/package.json @@ -1,6 +1,6 @@ { "name": "jupyterlab-jupytext", - "version": "1.3.6", + "version": "1.3.7", "description": "Save Jupyter Notebooks as Scripts or Markdown files that work well with version control & external text editors", "keywords": [ "jupyter", @@ -8,7 +8,7 @@ "jupyterlab", "jupyterlab-extension" ], - "homepage": "https://github.com/mwouts/jupytext/tree/master/packages/labextension", + "homepage": "https://github.com/mwouts/jupytext/tree/main/packages/labextension", "bugs": { "url": "https://github.com/mwouts/jupytext/issues" }, @@ -59,13 +59,8 @@ "dependencies": { "@jupyterlab/application": "^3.0.0", "@jupyterlab/apputils": "^3.0.0", - "@jupyterlab/codeeditor": "^3.0.0", - "@jupyterlab/docregistry": "^3.0.0", "@jupyterlab/nbformat": "^3.0.0", - "@jupyterlab/notebook": "^3.0.0", - "@jupyterlab/rendermime": "^3.0.0", - "@jupyterlab/translation": "^3.0.0", - "@jupyterlab/ui-components": "^3.0.0" + "@jupyterlab/notebook": "^3.0.0" }, "devDependencies": { "@jupyterlab/builder": "^3.0.0", diff --git a/packages/labextension/yarn.lock b/packages/labextension/yarn.lock index e7893e52b..bacae95c4 100644 --- a/packages/labextension/yarn.lock +++ b/packages/labextension/yarn.lock @@ -232,7 +232,7 @@ marked "^2.0.0" react "^17.0.1" -"@jupyterlab/codeeditor@^3.0.0", "@jupyterlab/codeeditor@^3.2.4": +"@jupyterlab/codeeditor@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-3.2.4.tgz#6190acfe08184c119273cd289eeec1bb9ebb48f3" integrity sha512-h0PLQEuuth+y0Hz5jdj/aQSg3a4AFMnirTXIzbrP+YVLjLj7NzY12WKDukWayDd+SMQA+kHlbscO3lnWE7v89Q== @@ -319,7 +319,7 @@ y-websocket "^1.3.15" yjs "^13.5.17" -"@jupyterlab/docregistry@^3.0.0", "@jupyterlab/docregistry@^3.2.4": +"@jupyterlab/docregistry@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-3.2.4.tgz#edfccd2ff87ecb69aa8c56768fe8f43d2fb3a09a" integrity sha512-3RVZrRgudrUqebz6FIgF8vD0nQsn7zzgy72XwB5YkYa7FBdLTf875ehUFXX4MdxqJC/uM/1th+0RPnnl8OwvaA== @@ -370,36 +370,6 @@ "@lumino/widgets" "^1.19.0" react "^17.0.1" -"@jupyterlab/fileeditor@^3.0.0": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@jupyterlab/fileeditor/-/fileeditor-3.2.4.tgz#2854c99da0881ee2127aea24efe010b85fd49610" - integrity sha512-Jn2WuOijHGM7HxUGhaOWpwwAGGKJ+ryO1fptIB3B6oB8TfDariBgm+dA5HKVwJRcP66+Pia+sQMGNwZqAdt9iQ== - dependencies: - "@jupyterlab/apputils" "^3.2.4" - "@jupyterlab/codeeditor" "^3.2.4" - "@jupyterlab/docregistry" "^3.2.4" - "@jupyterlab/statusbar" "^3.2.4" - "@jupyterlab/translation" "^3.2.4" - "@jupyterlab/ui-components" "^3.2.4" - "@lumino/coreutils" "^1.5.3" - "@lumino/messaging" "^1.4.3" - "@lumino/widgets" "^1.19.0" - react "^17.0.1" - -"@jupyterlab/markdownviewer@^3.0.0": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@jupyterlab/markdownviewer/-/markdownviewer-3.2.4.tgz#60a7332d9a8c9832f88599dbf9adfdfdfa222e82" - integrity sha512-x17MIt5M5b/J8XR9MwfCCiMg6rBKqd4DyPoWapuEmuoDEQ3Fp/lA9R2b/9PclmGEqeaApf+l4wWLYGOu6sYbsw== - dependencies: - "@jupyterlab/apputils" "^3.2.4" - "@jupyterlab/coreutils" "^5.2.4" - "@jupyterlab/docregistry" "^3.2.4" - "@jupyterlab/rendermime" "^3.2.4" - "@jupyterlab/translation" "^3.2.4" - "@lumino/coreutils" "^1.5.3" - "@lumino/messaging" "^1.4.3" - "@lumino/widgets" "^1.19.0" - "@jupyterlab/nbformat@^3.0.0", "@jupyterlab/nbformat@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-3.2.4.tgz#dca9720804c949371d30227a8254de3b9feffc59" @@ -476,7 +446,7 @@ "@lumino/coreutils" "^1.5.3" "@lumino/widgets" "^1.19.0" -"@jupyterlab/rendermime@^3.0.0", "@jupyterlab/rendermime@^3.2.4": +"@jupyterlab/rendermime@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-3.2.4.tgz#b3826621eba13b280092e198dd1c896203a1c48d" integrity sha512-G/CS2rMLM+rp5xrQ09Aq2Q2w+c3WN2XvLnEM091ELrfl7WGNytu9ms1bGSaM/ZCXw1o7FDRo1t4Yj066XtkB8A== @@ -571,7 +541,7 @@ react "^17.0.1" typestyle "^2.0.4" -"@jupyterlab/translation@^3.0.0", "@jupyterlab/translation@^3.2.4": +"@jupyterlab/translation@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-3.2.4.tgz#948c548f304c5d2d18878f2a578c8cee5ea43ef4" integrity sha512-FTXhNw/KRmGGR/stWWyaeyyha3Y7k1jh/dVJIXMO5xlT+zzFHvquGCiMeMZR20P+xBDstrgX8Ei/LhG+gkx0yw== @@ -581,7 +551,7 @@ "@jupyterlab/statedb" "^3.2.4" "@lumino/coreutils" "^1.5.3" -"@jupyterlab/ui-components@^3.0.0", "@jupyterlab/ui-components@^3.2.4": +"@jupyterlab/ui-components@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-3.2.4.tgz#ed31720423e6430ab0d63201b1c944cc26f4ff36" integrity sha512-uKxv8U/6TdAMbs0kBm142oAx9R4FcPk+CK5pbsBTInq+nvCmUlSYSAFEnuTbfNLeKQlWHdj8N2Q7upLFgfEs2w== @@ -812,9 +782,9 @@ integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - version "16.11.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.9.tgz#879be3ad7af29f4c1a5c433421bf99fab7047185" - integrity sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A== + version "16.11.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz#2e3ad0a680d96367103d3e670d41c2fed3da61ae" + integrity sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA== "@types/prop-types@*": version "15.7.4" @@ -822,9 +792,9 @@ integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== "@types/react@^17.0.0": - version "17.0.35" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.35.tgz#217164cf830267d56cd1aec09dcf25a541eedd4c" - integrity sha512-r3C8/TJuri/SLZiiwwxQoLAoavaczARfT9up9b4Jr65+ErAUX3MIkU0oMOQnrpfgHme8zIqZLX7O5nnjm5Wayw== + version "17.0.37" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz#6884d0aa402605935c397ae689deed115caad959" + integrity sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -857,13 +827,20 @@ http-errors "1.8.0" http-status-codes "1.4.0" -"@verdaccio/file-locking@10.0.0", "@verdaccio/file-locking@^10.0.0": +"@verdaccio/file-locking@10.0.0": version "10.0.0" resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.0.0.tgz#3d476a6ba28207c795d49828438e7335166c1cfc" integrity sha512-2tQUbJF3tQ3CY9grAlpovaF/zu8G56CBYMaeHwMBHo9rAmsJI9i7LfliHGS6Jygbs8vd0cOCPT7vl2CL9T8upw== dependencies: lockfile "1.0.4" +"@verdaccio/file-locking@^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.0.1.tgz#0a1040a2ce90485607b8dfcf2ca7820ef9ae9e11" + integrity sha512-yUi3wo17jhY2LZMNAv8/+oVfHJfqx0MdpKgUeQjoXHFfrEmpMck23ZfBQmXSM8xiC7RmdmOqlyGkJMbAkMb6nQ== + dependencies: + lockfile "1.0.4" + "@verdaccio/local-storage@10.0.7": version "10.0.7" resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.0.7.tgz#c90114cc474c564b6aecc5513a95fe474ca8b797" @@ -1407,9 +1384,9 @@ call-bind@^1.0.0, call-bind@^1.0.2: get-intrinsic "^1.0.2" caniuse-lite@^1.0.30001280: - version "1.0.30001282" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" - integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== + version "1.0.30001283" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" + integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== caseless@~0.12.0: version "0.12.0" @@ -1737,9 +1714,9 @@ debug@2.6.9, debug@^2.6.9: ms "2.0.0" debug@4, debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -1936,9 +1913,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.896: - version "1.3.903" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.903.tgz#e2d3c3809f4ef05fdbe5cc88969dfc94b1bd15b9" - integrity sha512-+PnYAyniRRTkNq56cqYDLq9LyklZYk0hqoDy9GpcU11H5QjRmFZVDbxtgHUMK/YzdNTcn1XWP5gb+hFlSCr20g== + version "1.4.5" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.5.tgz#912e8fd1645edee2f0f212558f40916eb538b1f9" + integrity sha512-YKaB+t8ul5crdh6OeqT2qXdxJGI0fAYb6/X8pDIyye+c3a7ndOCk5gVeKX+ABwivCGNS56vOAif3TN0qJMpEHw== emoji-regex@^8.0.0: version "8.0.0" @@ -2004,10 +1981,10 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.18.0-next.2: - version "1.18.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" - integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== +es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -2020,7 +1997,9 @@ es-abstract@^1.18.0-next.2: is-callable "^1.2.4" is-negative-zero "^2.0.1" is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" is-string "^1.0.7" + is-weakref "^1.0.1" object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" @@ -2933,6 +2912,11 @@ is-regex@^1.0.4, is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -2957,6 +2941,13 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -2987,9 +2978,9 @@ jest-worker@^26.5.0: supports-color "^7.0.0" jest-worker@^27.0.6: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" - integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.0.tgz#fa10dddc611cbb47a4153543dd16a0c7e7fd745c" + integrity sha512-4WuKcUxtzxBoKOUFbt1MtTY9fJwPVD4aN/4Cgxee7OLetPZn5as2bjfZz98XSf2Zq1JFfhqPZpS+43BmWXKgCA== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -3059,10 +3050,10 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stringify-safe@~5.0.1: version "5.0.1" @@ -3114,13 +3105,13 @@ jsonwebtoken@8.5.1: semver "^5.6.0" jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" - json-schema "0.2.3" + json-schema "0.4.0" verror "1.10.0" jwa@^1.4.1: @@ -4059,18 +4050,18 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: util-deprecate "^1.0.2" postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.0.2, postcss@^8.2.15: - version "8.3.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" - integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== + version "8.4.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" + integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== dependencies: nanoid "^3.1.30" picocolors "^1.0.0" - source-map-js "^0.6.2" + source-map-js "^1.0.1" prelude-ls@~1.1.2: version "1.1.2" @@ -4645,9 +4636,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + version "1.7.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" + integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== side-channel@^1.0.4: version "1.0.4" @@ -4698,10 +4689,10 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== +source-map-js@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" + integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== source-map-support@~0.5.20: version "0.5.21" @@ -4743,9 +4734,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== sshpk@^1.7.0: version "1.16.1" @@ -4796,13 +4787,13 @@ string-width@^4.1.0: strip-ansi "^6.0.1" string.prototype.padend@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" - integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" + integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" string.prototype.trimend@^1.0.4: version "1.0.4" @@ -5325,10 +5316,10 @@ warning@^4.0.2, warning@^4.0.3: dependencies: loose-envify "^1.0.0" -watchpack@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" - integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== +watchpack@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4" + integrity sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -5383,9 +5374,9 @@ webpack-sources@^3.2.2: integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== webpack@^5.41.1: - version "5.64.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.1.tgz#fd59840c16f04fe315f2b2598a85026f12dfa1bb" - integrity sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw== + version "5.64.4" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.4.tgz#e1454b6a13009f57cc2c78e08416cd674622937b" + integrity sha512-LWhqfKjCLoYJLKJY8wk2C3h77i8VyHowG3qYNZiIqD6D0ZS40439S/KVuc/PY48jp2yQmy0mhMknq8cys4jFMw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -5409,7 +5400,7 @@ webpack@^5.41.1: schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.2.0" + watchpack "^2.3.0" webpack-sources "^3.2.2" whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: @@ -5502,9 +5493,9 @@ ws@^6.2.1: async-limiter "~1.0.0" ws@^7.0.0, ws@^7.4.6: - version "7.5.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + version "7.5.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" + integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== xml-name-validator@^3.0.0: version "3.0.0" @@ -5544,9 +5535,9 @@ y-protocols@^1.0.5: lib0 "^0.2.42" y-websocket@^1.3.15: - version "1.3.17" - resolved "https://registry.yarnpkg.com/y-websocket/-/y-websocket-1.3.17.tgz#d5465fe6d378df9f6bdd503f23d001e5b526db54" - integrity sha512-SswN7EosLDpnrWue45/yQjkTGSRkzxioFc/0WcyHNkudnknWToOBaIo2coWgnYZd9BP0XlNAc8pPhTGkDveQJQ== + version "1.3.18" + resolved "https://registry.yarnpkg.com/y-websocket/-/y-websocket-1.3.18.tgz#9398621f863a57bd01be7244be032166db359375" + integrity sha512-xdQhvq/iQ6lyrmQ0GhLWXVcpXXjyj7E+PEcC3d2IAShLbz0I8rAOKbq/tGrAQPy6g1oilRz6eb8M7EbqsJj6tg== dependencies: lib0 "^0.2.42" lodash.debounce "^4.0.8"