From 21a92229e84392f0008e21c983d4964006baeabc Mon Sep 17 00:00:00 2001 From: martinRenou Date: Fri, 12 Aug 2022 10:44:40 +0200 Subject: [PATCH] Voilite POC --- packages/voila/index.js | 9 +- setup.cfg | 2 + .../templates/base/voila_setup.macro.html.j2 | 55 ++- .../jupyter/voila/templates/lab/index.html.j2 | 29 +- voila/exporter.py | 2 +- voila/notebook_renderer.py | 1 + voilite/__init__.py | 0 voilite/exporter.py | 143 +++++++ yarn.lock | 385 +++++++++++++++++- 9 files changed, 596 insertions(+), 30 deletions(-) create mode 100644 voilite/__init__.py create mode 100644 voilite/exporter.py diff --git a/packages/voila/index.js b/packages/voila/index.js index 15b3107c1..4a6d430b2 100644 --- a/packages/voila/index.js +++ b/packages/voila/index.js @@ -105,8 +105,6 @@ async function main() { PageConfig.getOption('federated_extensions') ); - console.log('extension data', extensionData); - const federatedExtensionPromises = []; const federatedMimeExtensionPromises = []; const federatedStylePromises = []; @@ -114,11 +112,11 @@ async function main() { const extensions = await Promise.allSettled( extensionData.map(async data => { await loadComponent( - `${URLExt.join( + URLExt.join( PageConfig.getOption('fullLabextensionsUrl'), data.name, data.load - )}`, + ), data.name ); return data; @@ -188,4 +186,5 @@ async function main() { window.jupyterapp = app; } -window.addEventListener('load', main); +// window.addEventListener('load', main); +main(); diff --git a/setup.cfg b/setup.cfg index 71963d069..b381d441c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -70,3 +70,5 @@ visual_test = [options.entry_points] console_scripts = voila = voila.app:main +nbconvert.exporters = + voilite_dashboard = voilite.exporter:VoiliteExporter diff --git a/share/jupyter/voila/templates/base/voila_setup.macro.html.j2 b/share/jupyter/voila/templates/base/voila_setup.macro.html.j2 index c1513b7d8..0106830dd 100644 --- a/share/jupyter/voila/templates/base/voila_setup.macro.html.j2 +++ b/share/jupyter/voila/templates/base/voila_setup.macro.html.j2 @@ -1,21 +1,58 @@ -{%- macro voila_setup_labextensions(base_url, labextensions) -%} +{%- macro voila_setup(base_url) -%} +{% if frontend == 'voila' %} -{%- endmacro %} - -{# For backward compatibility #} -{%- macro voila_setup(base_url, nbextensions) -%} -{{ voila_setup_labextensions(base_url, labextensions) }} +{% elif frontend == 'voilite' %} +{{ resources.include_js("static/voilite.js") }} +{% endif %} {%- endmacro %} {# Helper functions for updating the loading text #} {%- macro voila_setup_helper_functions() -%} {%- endmacro %} diff --git a/share/jupyter/voila/templates/lab/index.html.j2 b/share/jupyter/voila/templates/lab/index.html.j2 index 0acb03db3..f6a0dda2d 100644 --- a/share/jupyter/voila/templates/lab/index.html.j2 +++ b/share/jupyter/voila/templates/lab/index.html.j2 @@ -1,7 +1,7 @@ {%- extends 'nbconvert/templates/lab/index.html.j2' -%} {% import "spinner.macro.html.j2" as spinner %} {% import "log.macro.html.j2" as log %} -{% from 'voila_setup.macro.html.j2' import voila_setup_helper_functions, voila_setup_labextensions with context %} +{% from 'voila_setup.macro.html.j2' import voila_setup_helper_functions, voila_setup with context %} {%- block html_head_js -%} {%- block html_head_js_logs -%} @@ -37,6 +37,15 @@ -{{ voila_setup_labextensions(resources.base_url, resources.labextensions) }} {{ super() }} {%- endblock body_footer -%} diff --git a/voila/exporter.py b/voila/exporter.py index c2733926e..44e5d4794 100644 --- a/voila/exporter.py +++ b/voila/exporter.py @@ -111,7 +111,7 @@ async def generate_from_notebook_node(self, nb, resources=None, extra_context={} def environment(self): # enable Jinja async template execution self.enable_async = True - env = super(type(self), self).environment + env = super().environment if 'jinja2.ext.do' not in env.extensions: env.add_extension('jinja2.ext.do') return env diff --git a/voila/notebook_renderer.py b/voila/notebook_renderer.py index 2e4a9f31e..1b898d957 100644 --- a/voila/notebook_renderer.py +++ b/voila/notebook_renderer.py @@ -162,6 +162,7 @@ def inner_cell_generator(nb, kernel_id): # notebook_executer cell_generator to implement progressive cell rendering extra_context = { + 'frontend': 'voila', 'kernel_start': inner_kernel_start, 'cell_generator': inner_cell_generator, 'notebook_execute': self._jinja_notebook_execute diff --git a/voilite/__init__.py b/voilite/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/voilite/exporter.py b/voilite/exporter.py new file mode 100644 index 000000000..771c8a104 --- /dev/null +++ b/voilite/exporter.py @@ -0,0 +1,143 @@ +############################################################################# +# Copyright (c) 2022, VoilĂ  Contributors # +# Copyright (c) 2022, QuantStack # +# # +# Distributed under the terms of the BSD 3-Clause License. # +# # +# The full license is in the file LICENSE, distributed with this software. # +############################################################################# + +import markupsafe + +from traitlets import default +from traitlets.config import Config + +from jupyter_server.services.contents.largefilemanager import LargeFileManager + +from nbconvert.filters.highlight import Highlight2HTML +from nbconvert.exporters import TemplateExporter +from nbconvert.preprocessors import ClearOutputPreprocessor + +from voila.exporter import VoilaExporter +from voila.configuration import VoilaConfiguration +from voila.paths import collect_template_paths + + + +class VoiliteExporter(VoilaExporter): + def __init__(self, *args, **kwargs): + kwargs.setdefault("base_url", "/") + kwargs.setdefault("contents_manager", LargeFileManager()) + + self.voila_configuration = VoilaConfiguration(parent=self) + + # TODO + # page_config + self.page_config = {} + # config + # template_name? + # template_paths? + + super().__init__(*args, **kwargs) + + # TODO + # Investigate why this doesnt work + # jupyter nbconvert --to voilite_dashboard --VoilaConfiguration.strip_sources=False notebook.ipynb + if self.voila_configuration.strip_sources: + self.exclude_input = True + self.exclude_output_prompt = True + self.exclude_input_prompt = True + + @default("template_paths") + def _template_paths(self, prune=True, root_dirs=None): + return collect_template_paths(['voila', 'nbconvert'], self.template_name, prune=True) + + @property + def default_config(self): + config = super().default_config + config["NbConvertBase"]["display_data_priority"] = [ + "application/vnd.voilite.code+txt" + ] + return config + + def from_notebook_node(self, nb, resources=None, **kwargs): + # this replaces from_notebook_node, but calls template.generate instead of template.render + langinfo = nb.metadata.get("language_info", {}) + lexer = langinfo.get("pygments_lexer", langinfo.get("name", None)) + highlight_code = self.filters.get( + "highlight_code", Highlight2HTML(pygments_lexer=lexer, parent=self) + ) + self.register_filter("highlight_code", highlight_code) + + # TODO: This part is already copied three times across + # nbconvert and Voila, we should do something about it + nb_copy, resources = super(TemplateExporter, self).from_notebook_node( + nb, resources, **kwargs + ) + resources.setdefault("raw_mimetypes", self.raw_mimetypes) + resources["global_content_filter"] = { + "include_code": not self.exclude_code_cell, + "include_markdown": not self.exclude_markdown, + "include_raw": not self.exclude_raw, + "include_unknown": not self.exclude_unknown, + "include_input": not self.exclude_input, + "include_output": not self.exclude_output, + "include_input_prompt": not self.exclude_input_prompt, + "include_output_prompt": not self.exclude_output_prompt, + "no_prompt": self.exclude_input_prompt and self.exclude_output_prompt, + } + + extra_context = dict( + frontend='voilite', + kernel_start=self.kernel_start, + cell_generator=self.cell_generator + ) + + html = [] + for html_snippet in self.template.generate( + nb=nb_copy, + resources=resources, + **extra_context, + static_url=self.static_url, + page_config=self.page_config + ): + html.append(html_snippet) + + return "".join(html), resources + + def kernel_start(self, nb): + # TODO WHAT + kernel_id = '36' + return kernel_id + + def cell_generator(self, nb, kernel_id): + # self.cwd = os.path.dirname(notebook_path) ?? + # nb, _ = ClearOutputPreprocessor().preprocess( + # nb, {'metadata': {'path': self.cwd}} + # ) + nb, _ = ClearOutputPreprocessor().preprocess(nb, {}) + for cell_idx, input_cell in enumerate(nb.cells): + output = input_cell.copy() + output["outputs"] = [dict( + output_type="execute_result", + data={ + "application/vnd.voilite.code+txt": input_cell.source + }, + metadata={} + )] + yield output + + def _init_resources(self, resources): + # VoilaExporter bypasses the nbconvert behavior of inlining the assets like CSS and JS + # We do want to inline those assets though, so + # we bypass this bypass by not calling VoilaExporter._init_resources + resources = super(VoilaExporter, self)._init_resources(resources) + + def resources_include_js(name): + env = self.environment + code = """""" % (env.loader.get_source(env, name)[0]) + return markupsafe.Markup(code) + + resources["include_js"] = resources_include_js + + return resources diff --git a/yarn.lock b/yarn.lock index 24a25ac84..c5449dcb4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1524,6 +1524,19 @@ path-browserify "^1.0.0" url-parse "~1.5.1" +"@jupyterlab/coreutils@^5.4.2", "@jupyterlab/coreutils@^5.4.3", "@jupyterlab/coreutils@^5.4.5", "@jupyterlab/coreutils@~5.4.3": + version "5.4.5" + resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-5.4.5.tgz#08e84d6f817c29883d0433cf1f9c08c063fbdd3f" + integrity sha512-nS7h0ABc8mbfhNg/1rOpNQZ6lR/UW8+Ehj4IOiod9RFnk+CiH+qlC8r4bBHhjoApnXW/6lxUbQnrBh5V2kjsMQ== + dependencies: + "@lumino/coreutils" "^1.11.0" + "@lumino/disposable" "^1.10.0" + "@lumino/signaling" "^1.10.0" + minimist "~1.2.0" + moment "^2.24.0" + path-browserify "^1.0.0" + url-parse "~1.5.1" + "@jupyterlab/docmanager@^3.3.4": version "3.3.4" resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-3.3.4.tgz#0552bec264310611461720b038a4c430fb03bc28" @@ -1723,6 +1736,13 @@ dependencies: "@lumino/coreutils" "^1.5.3" +"@jupyterlab/nbformat@^3.4.5", "@jupyterlab/nbformat@~3.4.3": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-3.4.5.tgz#e7df0ce1d9ce77af0f69bbb8d4ec33978b00b54d" + integrity sha512-35AHfuqw1vElV6WAmE6XTe8ehpOQ6n6YOz2BxXqNkERMm8mUJjAO8Wbo7cssaFavF6T+FxNogoAI08DAel1S3Q== + dependencies: + "@lumino/coreutils" "^1.11.0" + "@jupyterlab/notebook@^3.0.0", "@jupyterlab/notebook@^3.3.4": version "3.3.4" resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-3.3.4.tgz#d3cd1d17559a84bbe0182b5707dde4ee248bb8a4" @@ -1764,6 +1784,17 @@ "@lumino/messaging" "^1.4.3" "@lumino/signaling" "^1.4.3" +"@jupyterlab/observables@^4.4.5", "@jupyterlab/observables@~4.4.3": + version "4.4.5" + resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-4.4.5.tgz#e44841256b6fff1046150d156169054611c7dc11" + integrity sha512-FjSsWnwPAxbqQJs7ELFVLu2lt6NTlBZEz9moA0b4KHEMhnMeq3GvgAE7ZDzCsdyC1BayIaGZOhMtwvtDZgXz8g== + dependencies: + "@lumino/algorithm" "^1.9.0" + "@lumino/coreutils" "^1.11.0" + "@lumino/disposable" "^1.10.0" + "@lumino/messaging" "^1.10.0" + "@lumino/signaling" "^1.10.0" + "@jupyterlab/outputarea@^3.0.0", "@jupyterlab/outputarea@^3.3.4": version "3.3.4" resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-3.3.4.tgz#bfa61d7468f6b975323077b470842024edff4301" @@ -1843,6 +1874,24 @@ node-fetch "^2.6.0" ws "^7.4.6" +"@jupyterlab/services@~6.4.3": + version "6.4.5" + resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-6.4.5.tgz#514e8de619fa97e03ea09a041153a26c04755a58" + integrity sha512-/qE5VuA10l5C9CKYvZ9pPsmKEpGFR9p74yrC84B2cK2ErF+SPw+dHGAEilGPBco9tUWE4i4C1mtJhtxn7U9zeg== + dependencies: + "@jupyterlab/coreutils" "^5.4.5" + "@jupyterlab/nbformat" "^3.4.5" + "@jupyterlab/observables" "^4.4.5" + "@jupyterlab/settingregistry" "^3.4.5" + "@jupyterlab/statedb" "^3.4.5" + "@lumino/algorithm" "^1.9.0" + "@lumino/coreutils" "^1.11.0" + "@lumino/disposable" "^1.10.0" + "@lumino/polling" "^1.9.0" + "@lumino/signaling" "^1.10.0" + node-fetch "^2.6.0" + ws "^7.4.6" + "@jupyterlab/settingregistry@^3.0.0", "@jupyterlab/settingregistry@^3.3.4": version "3.3.4" resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-3.3.4.tgz#fd2d545dd868553e9819a78f0eb32c1dcc364c3e" @@ -1856,6 +1905,19 @@ ajv "^6.12.3" json5 "^2.1.1" +"@jupyterlab/settingregistry@^3.4.5", "@jupyterlab/settingregistry@~3.4.3": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-3.4.5.tgz#4e141e09c0105ae5e1ab96785b16db1661ef30ef" + integrity sha512-7TzNT4OQjKPGQnsSZpzR2A4AUOnyUBulcBi6lUrxdWASDTPvh85oMH8nrf++ZIGYv8oX2Ot1rNG+VXRyFiKSKw== + dependencies: + "@jupyterlab/statedb" "^3.4.5" + "@lumino/commands" "^1.19.0" + "@lumino/coreutils" "^1.11.0" + "@lumino/disposable" "^1.10.0" + "@lumino/signaling" "^1.10.0" + ajv "^6.12.3" + json5 "^2.1.1" + "@jupyterlab/shared-models@^3.3.4": version "3.3.4" resolved "https://registry.yarnpkg.com/@jupyterlab/shared-models/-/shared-models-3.3.4.tgz#f4ed3146ce0ac0fb4bf311adfea127c303ed9bbe" @@ -1879,6 +1941,17 @@ "@lumino/properties" "^1.2.3" "@lumino/signaling" "^1.4.3" +"@jupyterlab/statedb@^3.4.5", "@jupyterlab/statedb@~3.4.3": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-3.4.5.tgz#3ef7d19809025074b911044df168adcce91cacc6" + integrity sha512-WeLFCV5EsIxggYhdzbS+VJ0Lh8DjfQY5/QCBg5LoGMcTR7I3+aOXbFOBz/YKd1ZOhUnTtItVyDav4JreEpBhmg== + dependencies: + "@lumino/commands" "^1.19.0" + "@lumino/coreutils" "^1.11.0" + "@lumino/disposable" "^1.10.0" + "@lumino/properties" "^1.8.0" + "@lumino/signaling" "^1.10.0" + "@jupyterlab/statusbar@^3.3.4": version "3.3.4" resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-3.3.4.tgz#e6fcbef0207a7079891d98724e768c506bad5a3e" @@ -1962,6 +2035,143 @@ react-dom "^17.0.1" typestyle "^2.0.4" +"@jupyterlite/contents@^0.1.0-beta.11", "@jupyterlite/contents@^0.1.0-beta.9": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/contents/-/contents-0.1.0-beta.11.tgz#c777208d0a201e34029f26a9b6db81f38d7a7dad" + integrity sha512-A7ASBuRmeDp1Qv3CIIVqZfQZ4qrsUNnBP1I/92kYd6AzPPr2sImKJK+1ia1reFW7NjYGRLbHNyxoW/rPzd3BGA== + dependencies: + "@jupyterlab/nbformat" "~3.4.3" + "@jupyterlab/services" "~6.4.3" + "@jupyterlite/localforage" "^0.1.0-beta.11" + "@lumino/coreutils" "^1.12.0" + localforage "^1.9.0" + mime "^3.0.0" + +"@jupyterlite/kernel@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/kernel/-/kernel-0.1.0-beta.11.tgz#55406cddbc9ca3bcd166cc0fe93a9f46c5d0e7bb" + integrity sha512-iRKCVjl/sL75awqpN9eUpCJ72v0z02a2PUzdOtY8bwhKGb09KZeXChb4sfGBNv1xm8VnvdKLMx/lWdFNH3ioFA== + dependencies: + "@jupyterlab/coreutils" "~5.4.3" + "@jupyterlab/observables" "~4.4.3" + "@jupyterlab/services" "~6.4.3" + "@lumino/coreutils" "^1.12.0" + "@lumino/disposable" "^1.10.1" + "@lumino/signaling" "^1.10.1" + async-mutex "^0.3.1" + comlink "^4.3.1" + mock-socket "^9.1.0" + +"@jupyterlite/licenses@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/licenses/-/licenses-0.1.0-beta.11.tgz#28c59493d30021d9eab6e1da10bb36f0f2688ba0" + integrity sha512-i1CzOgPb2I7QIPAqHi/hmLZzaj8WgfMxxj1+3HyIISQ+yj2QvwAp3wj07rzKY8kv8utAuooMKk0FqLURGx68vg== + dependencies: + "@jupyterlab/coreutils" "^5.4.3" + +"@jupyterlite/localforage@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/localforage/-/localforage-0.1.0-beta.11.tgz#70a0b76b85d3f2702f9267aa496b4df687359212" + integrity sha512-89d/4zbe5zpa4j74KFgoMKJ9/6vmWUyVvm+I+9qErkCdy+y7TJjXk3maq79nBmZ3EZRi8QC6FJTM/ejtswyaXg== + dependencies: + "@jupyterlab/coreutils" "^5.4.3" + "@lumino/coreutils" "^1.5.3" + localforage "^1.9.0" + localforage-memoryStorageDriver "^0.9.2" + +"@jupyterlite/pyolite-kernel-extension@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/pyolite-kernel-extension/-/pyolite-kernel-extension-0.1.0-beta.11.tgz#cca27a28689d2498b13ab1929484b00c7b5409c8" + integrity sha512-1f2eqvBbildLpxjwdN61nTC4NnwuJuCnVHk/UP7TfnGzOL7lxbvnhKjISTQE9CWcDjn+almWJhFEfl/RCrRwZQ== + dependencies: + "@jupyterlab/coreutils" "~5.4.3" + "@jupyterlite/kernel" "^0.1.0-beta.11" + "@jupyterlite/pyolite-kernel" "^0.1.0-beta.11" + "@jupyterlite/server" "^0.1.0-beta.11" + +"@jupyterlite/pyolite-kernel@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/pyolite-kernel/-/pyolite-kernel-0.1.0-beta.11.tgz#96bb37d63df24fa484d2ccc45f19b2085d9074e8" + integrity sha512-rW9LrsGBjn3YR9kODZ8c2SeX2FpVLTSEvMCoquFU28cY6i3jYFVQXtPXKATHVnrU6K5ssxzNOiIOHq4L7wRhFw== + dependencies: + "@jupyterlite/contents" "^0.1.0-beta.11" + "@jupyterlite/kernel" "^0.1.0-beta.11" + comlink "^4.3.1" + +"@jupyterlite/server-extension@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/server-extension/-/server-extension-0.1.0-beta.11.tgz#efd1c12a5bd32a54998c3736afd55e1fe01e1e18" + integrity sha512-qaU2bwMZCom2IwHC3zfzdXJa9BYLpGJ7C50Tq/MWtPhLvAjz3N93jsTr2iLmnuNkI8wAN3Z+q03/MryDbUc+fw== + dependencies: + "@jupyterlab/coreutils" "~5.4.3" + "@jupyterlite/kernel" "^0.1.0-beta.11" + "@jupyterlite/licenses" "^0.1.0-beta.11" + "@jupyterlite/localforage" "^0.1.0-beta.11" + "@jupyterlite/server" "^0.1.0-beta.11" + "@jupyterlite/session" "^0.1.0-beta.11" + "@jupyterlite/settings" "^0.1.0-beta.11" + "@jupyterlite/translation" "^0.1.0-beta.11" + +"@jupyterlite/server@^0.1.0-beta.11", "@jupyterlite/server@^0.1.0-beta.9": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/server/-/server-0.1.0-beta.11.tgz#35cd98695a09c22a026a85f69c53c0f3203e3bfe" + integrity sha512-vf9v/HsgCZhb1YYga/UkwQDS+Mke5nPwh15GX20392vgdEc+xJcGok3fA3b3AbJYwbEDfqE4DtrJZHd+hVCcng== + dependencies: + "@jupyterlab/coreutils" "~5.4.3" + "@jupyterlab/nbformat" "~3.4.3" + "@jupyterlab/observables" "~4.4.3" + "@jupyterlab/services" "~6.4.3" + "@jupyterlab/settingregistry" "~3.4.3" + "@jupyterlab/statedb" "~3.4.3" + "@jupyterlite/contents" "^0.1.0-beta.11" + "@jupyterlite/kernel" "^0.1.0-beta.11" + "@jupyterlite/session" "^0.1.0-beta.11" + "@jupyterlite/settings" "^0.1.0-beta.11" + "@jupyterlite/translation" "^0.1.0-beta.11" + "@lumino/application" "^1.28.1" + "@lumino/coreutils" "^1.12.0" + mock-socket "^9.1.0" + +"@jupyterlite/session@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/session/-/session-0.1.0-beta.11.tgz#dd9105d799b6c035ac97678e59e2bf00e82849fc" + integrity sha512-bvbrTMhQocmlmMVepDQ4SQSnQG4OvcV7+ZFFVVFEVl2PwJN/QSpY7Y9HV6kn8MaJAp+xj6IKysQEWMrekm8UQg== + dependencies: + "@jupyterlab/coreutils" "^5.4.2" + "@jupyterlab/services" "~6.4.3" + "@jupyterlite/kernel" "^0.1.0-beta.11" + "@lumino/algorithm" "^1.9.1" + "@lumino/coreutils" "^1.12.0" + +"@jupyterlite/settings@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/settings/-/settings-0.1.0-beta.11.tgz#584f569b623aa97b7bfa2d6285cf77d341409c47" + integrity sha512-5b6Uqtq3nxfuEdyS/VDT+u1/DKouR7sLK+xMC0rumsDsyzRBOFYik7w/06FiJNPGGacUpRNvkTUKXGuHXztHHQ== + dependencies: + "@jupyterlab/coreutils" "~5.4.3" + "@jupyterlab/settingregistry" "~3.4.3" + "@jupyterlite/localforage" "^0.1.0-beta.11" + "@lumino/coreutils" "^1.12.0" + json5 "^2.2.0" + localforage "^1.9.0" + +"@jupyterlite/translation@^0.1.0-beta.11": + version "0.1.0-beta.11" + resolved "https://registry.yarnpkg.com/@jupyterlite/translation/-/translation-0.1.0-beta.11.tgz#e30bd3ea6690038de4d027bcffe7a99ed6fb17e1" + integrity sha512-axda8MdI8buduENoBsgJYQB3zDPs/hsT1M4BD8uQU9zT1mII0vjFrKVqq3/1jRAnoRJ+ipieXvNuWdLn3ooNzw== + dependencies: + "@jupyterlab/coreutils" "~5.4.3" + "@lumino/coreutils" "^1.12.0" + +"@jupyterlite/xeus-python-kernel@^0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@jupyterlite/xeus-python-kernel/-/xeus-python-kernel-0.5.4.tgz#d7172b81f50bdcd2d8b4c7eb7f66965b58fcce01" + integrity sha512-w1Dz2IXCzRRgMm6MNKzNzlV3q4aK2LzhlqPf9+r2cD/Xo2mHKwTo0AnOMyFl/UPd92187a2EY+nt+R+8sMkPMQ== + dependencies: + "@jupyterlite/contents" "^0.1.0-beta.9" + "@jupyterlite/server" "^0.1.0-beta.9" + comlink "^4.3.1" + "@lerna/add@4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-4.0.0.tgz#c36f57d132502a57b9e7058d1548b7a565ef183f" @@ -2638,6 +2848,11 @@ resolved "https://registry.yarnpkg.com/@lumino/algorithm/-/algorithm-1.9.1.tgz#a870598e031f5ee85e20e77ce7bfffbb0dffd7f5" integrity sha512-d0rj7IYRzYj6WbWSrbJbKvrfO4H0NUnXT2yjSWS/sCklpTpSp0IGmndK/X4r6gG+ev5lb5+wBg9ofUDBvoAlAw== +"@lumino/algorithm@^1.9.0", "@lumino/algorithm@^1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@lumino/algorithm/-/algorithm-1.9.2.tgz#b95e6419aed58ff6b863a51bfb4add0f795141d3" + integrity sha512-Z06lp/yuhz8CtIir3PNTGnuk7909eXt4ukJsCzChsGuot2l5Fbs96RJ/FOHgwCedaX74CtxPjXHXoszFbUA+4A== + "@lumino/application@^1.16.0": version "1.28.1" resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.28.1.tgz#dfefe82ad414f51659e5931e3d07989364d7625e" @@ -2647,6 +2862,15 @@ "@lumino/coreutils" "^1.12.0" "@lumino/widgets" "^1.31.1" +"@lumino/application@^1.28.1": + version "1.29.3" + resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.29.3.tgz#9194c9f95555aee5a6b9ac66074bd68fe0adc896" + integrity sha512-F7nnA6nY0PXtdqQej9cr55j/o5bHr+0I5KqvvX1nhjCfYPvcAszdEsOmyTMNIf0JnSvUNED6bdCh9ewkyuRzLw== + dependencies: + "@lumino/commands" "^1.20.1" + "@lumino/coreutils" "^1.12.1" + "@lumino/widgets" "^1.34.0" + "@lumino/collections@^1.9.1": version "1.9.1" resolved "https://registry.yarnpkg.com/@lumino/collections/-/collections-1.9.1.tgz#268f1ec6850d5e131cfc8db232c7e1e106144aa0" @@ -2654,6 +2878,13 @@ dependencies: "@lumino/algorithm" "^1.9.1" +"@lumino/collections@^1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@lumino/collections/-/collections-1.9.2.tgz#8167833ec6d297111e0a66e6405a9ff958816243" + integrity sha512-j8eLf9m9cX4pc4yPld3oDfRwJIwI/T1h0/RJUsIyCF74qNQ8W7OH2V49PF6ARUqL7ug4Gltp9y2t6V9B9SOxDA== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/commands@^1.12.0", "@lumino/commands@^1.15.2", "@lumino/commands@^1.20.0": version "1.20.0" resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.20.0.tgz#44c797134bb33946141a490c506420bd5f12ce0f" @@ -2667,11 +2898,37 @@ "@lumino/signaling" "^1.10.1" "@lumino/virtualdom" "^1.14.1" +"@lumino/commands@^1.19.0", "@lumino/commands@^1.20.1": + version "1.20.1" + resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.20.1.tgz#8a4e4840528e8009c5472dc6b5bb0970d7f27a5f" + integrity sha512-7u0vc3qWVAyI3CHGmQ+MXP5bvmj5dtnU5J4u2aRrodtlysU3nLjGhD57bbTq2VUqpmS1bkfBqNFhO1e4PFKSaQ== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/coreutils" "^1.12.1" + "@lumino/disposable" "^1.10.2" + "@lumino/domutils" "^1.8.2" + "@lumino/keyboard" "^1.8.2" + "@lumino/signaling" "^1.10.2" + "@lumino/virtualdom" "^1.14.2" + +"@lumino/coreutils@^1.11.0", "@lumino/coreutils@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.12.1.tgz#79860c9937483ddf6cda87f6c2b9da8eb1a5d768" + integrity sha512-JLu3nTHzJk9N8ohZ85u75YxemMrmDzJdNgZztfP7F7T7mxND3YVNCkJG35a6aJ7edu1sIgCjBxOvV+hv27iYvQ== + "@lumino/coreutils@^1.11.1", "@lumino/coreutils@^1.12.0", "@lumino/coreutils@^1.5.3", "@lumino/coreutils@^1.8.2": version "1.12.0" resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.12.0.tgz#fbdef760f736eaf2bd396a5c6fc3a68a4b449b15" integrity sha512-DSglh4ylmLi820CNx9soJmDJCpUgymckdWeGWuN0Ash5g60oQvrQDfosVxEhzmNvtvXv45WZEqSBzDP6E5SEmQ== +"@lumino/disposable@^1.10.0", "@lumino/disposable@^1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-1.10.2.tgz#8a7e74320f51a48419d92672fe8abcf8cec04818" + integrity sha512-jwt8bCw3OU65wJMOCJUZAfVVUdxZdEufRDrDkoG91aSW+/R/VBzt33AqZX81/B0KxddL6R3PdNWI+0fRJBaeYw== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/signaling" "^1.10.2" + "@lumino/disposable@^1.10.1", "@lumino/disposable@^1.4.3", "@lumino/disposable@^1.7.2": version "1.10.1" resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-1.10.1.tgz#58fddc619cf89335802d168564b76ff5315d5a84" @@ -2685,6 +2942,11 @@ resolved "https://registry.yarnpkg.com/@lumino/domutils/-/domutils-1.8.1.tgz#cf118e4eba90c3bf1e3edf7f19cce8846ec7875c" integrity sha512-QUVXwmDMIfcHC3yslhmyGK4HYBKaJ3xX5MTwDrjsSX7J7AZ4jwL4zfsxyF9ntdqEKraoJhLQ6BaUBY+Ur1cnYw== +"@lumino/domutils@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@lumino/domutils/-/domutils-1.8.2.tgz#d15cdbae12bea52852bbc13c4629360f9f05b7f5" + integrity sha512-QIpMfkPJrs4GrWBuJf2Sn1fpyVPmvqUUAeD8xAQo8+4V5JAT0vUDLxZ9HijefMgNCi3+Bs8Z3lQwRCrz+cFP1A== + "@lumino/dragdrop@^1.10.2", "@lumino/dragdrop@^1.14.0", "@lumino/dragdrop@^1.7.1": version "1.14.0" resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.14.0.tgz#48baacc190518d0cb563698daa0d5b976d6fe5c3" @@ -2693,11 +2955,32 @@ "@lumino/coreutils" "^1.12.0" "@lumino/disposable" "^1.10.1" +"@lumino/dragdrop@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.14.1.tgz#17fbd7de30b0c199fec9c19d50dfb58b11eed6e2" + integrity sha512-SeciSUHKBBkkMKqK0l20c7vwGQA7pu/jMFMBK75In2Oz0049qU0OyNk6ngpcKRSBC/VKsbTPBQGI673w7Bd/VQ== + dependencies: + "@lumino/coreutils" "^1.12.1" + "@lumino/disposable" "^1.10.2" + "@lumino/keyboard@^1.8.1": version "1.8.1" resolved "https://registry.yarnpkg.com/@lumino/keyboard/-/keyboard-1.8.1.tgz#e7850e2fb973fbb4c6e737ca8d9307f2dc3eb74b" integrity sha512-8x0y2ZQtEvOsblpI2gfTgf+gboftusP+5aukKEsgNQtzFl28RezQXEOSVd8iD3K6+Q1MaPQF0OALYP0ASqBjBg== +"@lumino/keyboard@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@lumino/keyboard/-/keyboard-1.8.2.tgz#714dbe671f0718f516d1ec23188b31a9ccd82fb2" + integrity sha512-Dy+XqQ1wXbcnuYtjys5A0pAqf4SpAFl9NY6owyIhXAo0Va7w3LYp3jgiP1xAaBAwMuUppiUAfrbjrysZuZ625g== + +"@lumino/messaging@^1.10.0", "@lumino/messaging@^1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.10.2.tgz#5faaf1bf9597437971bd9f71cafda242d2244c96" + integrity sha512-mVC3E5sptkU8g8GLNGiu4f1iY15QjU6R8RP9rJD6X8i2UAnT7z8KT+9rB3m7l8UqH1Pw5DZo8IJznrp6J/Dvmw== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/collections" "^1.9.2" + "@lumino/messaging@^1.10.1", "@lumino/messaging@^1.4.3", "@lumino/messaging@^1.7.2": version "1.10.1" resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.10.1.tgz#b29575cca46e2f23b84626b793ec8e2be46a53ba" @@ -2715,11 +2998,32 @@ "@lumino/disposable" "^1.10.1" "@lumino/signaling" "^1.10.1" +"@lumino/polling@^1.9.0": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.11.1.tgz#23c7674f66b194442272e86cd7718ea5c0f89230" + integrity sha512-SS60bhdUfwUAIPk0fc39bhBA0MjQ3Zqt/yBi6Jwzjkpm70y50J0GBW5/Ia6FZIQ2ht8cAQXuLCVAqYgQTCVuGw== + dependencies: + "@lumino/coreutils" "^1.12.1" + "@lumino/disposable" "^1.10.2" + "@lumino/signaling" "^1.10.2" + "@lumino/properties@^1.2.3", "@lumino/properties@^1.5.2", "@lumino/properties@^1.8.1": version "1.8.1" resolved "https://registry.yarnpkg.com/@lumino/properties/-/properties-1.8.1.tgz#47eb8516e92c987dcb2c404db83a258159efec3d" integrity sha512-O+CCcAqP64Di32DUZ4Jqq0DtUyE5RJREN5vbkgGZGu+WauJ/RYoiLDe1ubbAeSaHk71OrS60ZBV7QyC8ZaBVsA== +"@lumino/properties@^1.8.0", "@lumino/properties@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@lumino/properties/-/properties-1.8.2.tgz#91131f2ca91a902faa138771eb63341db78fc0fd" + integrity sha512-EkjI9Cw8R0U+xC9HxdFSu7X1tz1H1vKu20cGvJ2gU+CXlMB1DvoYJCYxCThByHZ+kURTAap4SE5x8HvKwNPbig== + +"@lumino/signaling@^1.10.0", "@lumino/signaling@^1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@lumino/signaling/-/signaling-1.10.2.tgz#da30a84b8820f2b29e0c176450059711913392d9" + integrity sha512-LvnLRb2ngOZbRtFHRcKkMdPSXm0bzfVv/5mbx/hpT1DWHihMtBpGQ+bIfFvnARmFJoI11Wt+DMX77MWPw6tpig== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/signaling@^1.10.1", "@lumino/signaling@^1.4.3", "@lumino/signaling@^1.7.2": version "1.10.1" resolved "https://registry.yarnpkg.com/@lumino/signaling/-/signaling-1.10.1.tgz#c8a1cb5b661b6744ea817c99c758fdc897847c26" @@ -2734,6 +3038,13 @@ dependencies: "@lumino/algorithm" "^1.9.1" +"@lumino/virtualdom@^1.14.2": + version "1.14.2" + resolved "https://registry.yarnpkg.com/@lumino/virtualdom/-/virtualdom-1.14.2.tgz#bee4fd3cf78c1aa003d9c208f6825969b4321573" + integrity sha512-iF20v6s4gP/hAH4VjmBtv2dexr18W4vL/Y5Rx4+U3kS/ZIFU7987NsM+0Yr6W9kdBQ1w6+pJjRBS9sWYnohdoQ== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/widgets@^1.19.0", "@lumino/widgets@^1.26.2", "@lumino/widgets@^1.30.0", "@lumino/widgets@^1.31.1": version "1.31.1" resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.31.1.tgz#c9c0b8c7940b412e55369fa277392bf86c6e4136" @@ -2751,6 +3062,23 @@ "@lumino/signaling" "^1.10.1" "@lumino/virtualdom" "^1.14.1" +"@lumino/widgets@^1.34.0": + version "1.34.0" + resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.34.0.tgz#0cc9ae568b7c129247e240d9b277ead324d4352f" + integrity sha512-HvvZ/UL1mcbvZ2IZrIA5p+YVSjTzQYrkXwPkFDPs6TgSgj5VmBm8Y13B7gS+/p9634OR5WNiWVO3KNALVHRXcw== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/commands" "^1.20.1" + "@lumino/coreutils" "^1.12.1" + "@lumino/disposable" "^1.10.2" + "@lumino/domutils" "^1.8.2" + "@lumino/dragdrop" "^1.14.1" + "@lumino/keyboard" "^1.8.2" + "@lumino/messaging" "^1.10.2" + "@lumino/properties" "^1.8.2" + "@lumino/signaling" "^1.10.2" + "@lumino/virtualdom" "^1.14.2" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -3853,6 +4181,13 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== +async-mutex@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.3.2.tgz#1485eda5bda1b0ec7c8df1ac2e815757ad1831df" + integrity sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA== + dependencies: + tslib "^2.3.1" + async@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" @@ -4573,6 +4908,11 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +comlink@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.3.1.tgz#0c6b9d69bcd293715c907c33fe8fc45aecad13c5" + integrity sha512-+YbhUdNrpBZggBAHWcgQMLPLH1KDF3wJpeqrCKieWQ8RL7atmgsgTQko1XEBK6PsecfopWNntopJ+ByYG1lRaA== + commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -6933,6 +7273,11 @@ immediate@^3.2.3: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -7968,6 +8313,11 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-loader@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== + json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -8024,7 +8374,7 @@ json-to-html@~0.1.2: resolved "https://registry.yarnpkg.com/json-to-html/-/json-to-html-0.1.2.tgz#7a095ae4a34b33534aad0970ca4b7417b2c11ee3" integrity sha1-egla5KNLM1NKrQlwykt0F7LBHuM= -json5@2.x, json5@^2.1.1, json5@^2.1.2, json5@^2.2.1: +json5@2.x, json5@^2.1.1, json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== @@ -8317,6 +8667,13 @@ license-webpack-plugin@^2.3.14: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" +lie@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== + dependencies: + immediate "~3.0.5" + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -8400,6 +8757,20 @@ loader-utils@^2.0.0, loader-utils@~2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +localforage-memoryStorageDriver@^0.9.2: + version "0.9.2" + resolved "https://registry.yarnpkg.com/localforage-memoryStorageDriver/-/localforage-memoryStorageDriver-0.9.2.tgz#2e0f7ff2acb0e9ff5e82c52c9e2eb3d63b998d30" + integrity sha512-DRB4BkkW9o5HIetbsuvtcg98GP7J1JBRDyDMJK13hfr9QsNpnMW6UUWmU9c6bcRg99akR1mGZ/ubUV1Ek0fbpg== + dependencies: + localforage ">=1.4.0" + +localforage@>=1.4.0, localforage@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== + dependencies: + lie "3.1.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -8837,7 +9208,7 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@3.0.0: +mime@3.0.0, mime@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== @@ -9017,6 +9388,11 @@ mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: dependencies: minimist "^1.2.6" +mock-socket@^9.1.0: + version "9.1.5" + resolved "https://registry.yarnpkg.com/mock-socket/-/mock-socket-9.1.5.tgz#2c4e44922ad556843b6dfe09d14ed8041fa2cdeb" + integrity sha512-3DeNIcsQixWHHKk6NdoBhWI4t1VMj5/HzfnI1rE/pLl5qKx7+gd4DNA07ehTaZ6MoUU053si6Hd+YtiM/tQZfg== + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -12029,6 +12405,11 @@ tslib@^2.1.0, tslib@~2.3.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"