Move opening path in new browser tabs to a separate plugin (#7056)

* Add `INotebookPathOpener`

* Reorg tokens

* Use `INotebookPathOpener`

* Lint

* Rename param

* Lint

* add docstring

* Fix dependency on application package

* more tsconfig fixes

* fix typo

* dedupe

* update dev commands on Binder

* fix typo

* lint

* Add missing dependency

* tmp

* set explicit jupyterlab on Binder

* drop link share for now

* remove tmp

* edit pyproject config

* debug

* test

* test

* test

* fix typos
pull/7072/head
Jeremy Tuloup 3 years ago committed by GitHub
parent 2b4b422f0f
commit 6246540396
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,8 +3,8 @@ channels:
- conda-forge
dependencies:
- ipywidgets=8
- jupyterlab=4
- jupyterlab-language-pack-fr-FR
- jupyterlab-link-share>=0.2
- matplotlib
- numpy
- nodejs=20

@ -1,7 +1,5 @@
#!/bin/bash
set -euo pipefail
python -m pip install -e . --force-reinstall
jlpm && jlpm run build
jlpm run develop
python -m pip install -e ".[dev,test]"
jlpm develop

@ -47,6 +47,8 @@ import {
SidePanel,
SidePanelHandler,
SidePanelPalette,
INotebookPathOpener,
defaultNotebookPathOpener,
} from '@jupyter-notebook/application';
import { jupyterIcon } from '@jupyter-notebook/ui-components';
@ -309,7 +311,7 @@ const pages: JupyterFrontEndPlugin<void> = {
app.commands.addCommand(CommandIDs.openLab, {
label: trans.__('Open JupyterLab'),
execute: () => {
window.open(`${baseUrl}lab`);
window.open(URLExt.join(baseUrl, 'lab'));
},
});
const page = PageConfig.getOption('notebookPage');
@ -320,7 +322,7 @@ const pages: JupyterFrontEndPlugin<void> = {
if (page === 'tree') {
app.commands.execute('filebrowser:activate');
} else {
window.open(`${baseUrl}tree`);
window.open(URLExt.join(baseUrl, 'tree'));
}
},
});
@ -332,6 +334,18 @@ const pages: JupyterFrontEndPlugin<void> = {
},
};
/**
* A plugin to open paths in new browser tabs.
*/
const pathOpener: JupyterFrontEndPlugin<INotebookPathOpener> = {
id: '@jupyter-notebook/application-extension:path-opener',
autoStart: true,
provides: INotebookPathOpener,
activate: (app: JupyterFrontEnd): INotebookPathOpener => {
return defaultNotebookPathOpener;
},
};
/**
* The default paths for a Jupyter Notebook app.
*/
@ -361,6 +375,7 @@ const rendermime: JupyterFrontEndPlugin<IRenderMimeRegistry> = {
ISanitizer,
IMarkdownParser,
ITranslator,
INotebookPathOpener,
],
activate: (
app: JupyterFrontEnd,
@ -368,9 +383,11 @@ const rendermime: JupyterFrontEndPlugin<IRenderMimeRegistry> = {
latexTypesetter: ILatexTypesetter | null,
sanitizer: IRenderMime.ISanitizer | null,
markdownParser: IMarkdownParser | null,
translator: ITranslator | null
translator: ITranslator | null,
notebookPathOpener: INotebookPathOpener | null
) => {
const trans = (translator ?? nullTranslator).load('jupyterlab');
const opener = notebookPathOpener ?? defaultNotebookPathOpener;
if (docManager) {
app.commands.addCommand(CommandIDs.handleLink, {
label: trans.__('Handle Local Link'),
@ -382,10 +399,12 @@ const rendermime: JupyterFrontEndPlugin<IRenderMimeRegistry> = {
return docManager.services.contents
.get(path, { content: false })
.then((model) => {
// Open in a new browser tab
const url = PageConfig.getBaseUrl();
const treeUrl = URLExt.join(url, 'tree', model.path);
window.open(treeUrl, '_blank');
const baseUrl = PageConfig.getBaseUrl();
opener.open({
prefix: URLExt.join(baseUrl, 'tree'),
path: model.path,
target: '_blank',
});
});
},
});
@ -1089,6 +1108,7 @@ const plugins: JupyterFrontEndPlugin<any>[] = [
menuSpacer,
opener,
pages,
pathOpener,
paths,
rendermime,
shell,

@ -8,6 +8,9 @@
"references": [
{
"path": "../application"
},
{
"path": "../ui-components"
}
]
}

@ -4,3 +4,5 @@
export * from './app';
export * from './shell';
export * from './panelhandler';
export * from './pathopener';
export * from './tokens';

@ -0,0 +1,28 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
import { URLExt } from '@jupyterlab/coreutils';
import { INotebookPathOpener } from './tokens';
/**
* A class to open paths in new browser tabs in the Notebook application.
*/
class DefaultNotebookPathOpener implements INotebookPathOpener {
/**
* Open a path in a new browser tab.
*/
open(options: INotebookPathOpener.IOpenOptions): WindowProxy | null {
const { prefix, path, searchParams, target, features } = options;
const url = new URL(
URLExt.join(prefix, path ?? ''),
window.location.origin
);
if (searchParams) {
url.search = searchParams.toString();
}
return window.open(url, target, features);
}
}
export const defaultNotebookPathOpener = new DefaultNotebookPathOpener();

@ -0,0 +1,57 @@
import { Token } from '@lumino/coreutils';
/**
* The INotebookPathOpener interface.
*/
export interface INotebookPathOpener {
/**
* Open a path in the application.
*
* @param options - The options used to open the path.
*/
open: (options: INotebookPathOpener.IOpenOptions) => WindowProxy | null;
}
export namespace INotebookPathOpener {
/**
* The options used to open a path in the application.
*/
export interface IOpenOptions {
/**
* The URL prefix, which should include the base URL
*/
prefix: string;
/**
* The path to open in the application, e.g `setup.py`, or `notebooks/example.ipynb`
*/
path?: string;
/**
* The extra search params to use in the URL.
*/
searchParams?: URLSearchParams;
/**
* Name of the browsing context the resource is being loaded into.
* See https://developer.mozilla.org/en-US/docs/Web/API/Window/open for more details.
*/
target?: string;
/**
*
* See https://developer.mozilla.org/en-US/docs/Web/API/Window/open for more details.
*/
features?: string;
}
}
/**
* The INotebookPathOpener token.
* The main purpose of this token is to allow other extensions or downstream applications
* to override the default behavior of opening a notebook in a new tab.
* It also allows passing the path as a URL search parameter, or other options to the window.open call.
*/
export const INotebookPathOpener = new Token<INotebookPathOpener>(
'@jupyter-notebook/application:INotebookPathOpener'
);

@ -38,6 +38,7 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.0.3",
"@jupyterlab/application": "^4.0.6",
"@jupyterlab/console": "^4.0.6",
"@jupyterlab/coreutils": "^6.0.6",

@ -9,7 +9,12 @@ import {
import { IConsoleTracker } from '@jupyterlab/console';
import { PageConfig } from '@jupyterlab/coreutils';
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
import {
INotebookPathOpener,
defaultNotebookPathOpener,
} from '@jupyter-notebook/application';
import { find } from '@lumino/algorithm';
@ -52,9 +57,16 @@ const opener: JupyterFrontEndPlugin<void> = {
const redirect: JupyterFrontEndPlugin<void> = {
id: '@jupyter-notebook/console-extension:redirect',
requires: [IConsoleTracker],
optional: [INotebookPathOpener],
autoStart: true,
activate: (app: JupyterFrontEnd, tracker: IConsoleTracker) => {
activate: (
app: JupyterFrontEnd,
tracker: IConsoleTracker,
notebookPathOpener: INotebookPathOpener | null
) => {
const baseUrl = PageConfig.getBaseUrl();
const opener = notebookPathOpener ?? defaultNotebookPathOpener;
tracker.widgetAdded.connect(async (send, console) => {
const { sessionContext } = console;
await sessionContext.ready;
@ -66,7 +78,11 @@ const redirect: JupyterFrontEndPlugin<void> = {
// bail if the console is already added to the main area
return;
}
window.open(`${baseUrl}consoles/${sessionContext.path}`, '_blank');
opener.open({
prefix: URLExt.join(baseUrl, 'consoles'),
path: sessionContext.path,
target: '_blank',
});
// the widget is not needed anymore
console.dispose();

@ -4,5 +4,10 @@
"outDir": "lib",
"rootDir": "src"
},
"include": ["src/**/*"]
"include": ["src/**/*"],
"references": [
{
"path": "../application"
}
]
}

@ -6,13 +6,17 @@ import {
JupyterFrontEndPlugin,
} from '@jupyterlab/application';
import { PageConfig, PathExt } from '@jupyterlab/coreutils';
import { PageConfig, PathExt, URLExt } from '@jupyterlab/coreutils';
import { IDocumentWidgetOpener } from '@jupyterlab/docmanager';
import { IDocumentWidget, DocumentRegistry } from '@jupyterlab/docregistry';
import { INotebookShell } from '@jupyter-notebook/application';
import {
INotebookPathOpener,
INotebookShell,
defaultNotebookPathOpener,
} from '@jupyter-notebook/application';
import { Signal } from '@lumino/signaling';
@ -23,11 +27,16 @@ import { Signal } from '@lumino/signaling';
const opener: JupyterFrontEndPlugin<IDocumentWidgetOpener> = {
id: '@jupyter-notebook/docmanager-extension:opener',
autoStart: true,
optional: [INotebookShell],
optional: [INotebookPathOpener, INotebookShell],
provides: IDocumentWidgetOpener,
activate: (app: JupyterFrontEnd, notebookShell: INotebookShell | null) => {
activate: (
app: JupyterFrontEnd,
notebookPathOpener: INotebookPathOpener,
notebookShell: INotebookShell | null
) => {
const baseUrl = PageConfig.getBaseUrl();
const docRegistry = app.docRegistry;
const pathOpener = notebookPathOpener ?? defaultNotebookPathOpener;
let id = 0;
return new (class {
open(widget: IDocumentWidget, options?: DocumentRegistry.IOpenOptions) {
@ -46,13 +55,21 @@ const opener: JupyterFrontEndPlugin<IDocumentWidgetOpener> = {
) {
route = 'notebooks';
}
let url = `${baseUrl}${route}/${path}`;
// append ?factory only if it's not the default
const defaultFactory = docRegistry.defaultWidgetFactory(path);
let searchParams = undefined;
if (widgetName !== defaultFactory.name) {
url = `${url}?factory=${widgetName}`;
searchParams = new URLSearchParams({
factory: widgetName,
});
}
window.open(url);
pathOpener.open({
prefix: URLExt.join(baseUrl, route),
path,
searchParams,
});
// dispose the widget since it is not used on this page
widget.dispose();
return;

@ -4,5 +4,10 @@
"outDir": "lib",
"rootDir": "src"
},
"include": ["src/**/*"]
"include": ["src/**/*"],
"references": [
{
"path": "../ui-components"
}
]
}

@ -9,7 +9,7 @@ import {
import { ICommandPalette, IToolbarWidgetRegistry } from '@jupyterlab/apputils';
import { PageConfig } from '@jupyterlab/coreutils';
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
import { INotebookTracker, NotebookPanel } from '@jupyterlab/notebook';
@ -17,7 +17,11 @@ import { ITranslator } from '@jupyterlab/translation';
import { Menu, MenuBar, Widget } from '@lumino/widgets';
import { INotebookShell } from '@jupyter-notebook/application';
import {
defaultNotebookPathOpener,
INotebookPathOpener,
INotebookShell,
} from '@jupyter-notebook/application';
import {
caretDownIcon,
@ -67,6 +71,7 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
requires: [ITranslator, INotebookTracker],
optional: [
ICommandPalette,
INotebookPathOpener,
INotebookShell,
ILabShell,
IToolbarWidgetRegistry,
@ -76,6 +81,7 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
translator: ITranslator,
notebookTracker: INotebookTracker,
palette: ICommandPalette | null,
notebookPathOpener: INotebookPathOpener | null,
notebookShell: INotebookShell | null,
labShell: ILabShell | null,
toolbarRegistry: IToolbarWidgetRegistry | null
@ -87,6 +93,7 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
PageConfig.getOption('nbclassic_enabled') === 'true';
const switcher = new Menu({ commands });
const switcherOptions: ISwitcherChoice[] = [];
const opener = notebookPathOpener ?? defaultNotebookPathOpener;
if (!notebookShell) {
switcherOptions.push({
@ -94,7 +101,7 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
commandLabel: trans.__('Notebook'),
commandDescription: trans.__('Open in %1', 'Jupyter Notebook'),
buttonLabel: 'openNotebook',
urlPrefix: `${baseUrl}tree/`,
urlPrefix: `${baseUrl}tree`,
});
}
@ -104,7 +111,7 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
commandLabel: trans.__('JupyterLab'),
commandDescription: trans.__('Open in %1', 'JupyterLab'),
buttonLabel: 'openLab',
urlPrefix: `${baseUrl}doc/tree/`,
urlPrefix: `${baseUrl}doc/tree`,
});
}
@ -114,7 +121,7 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
commandLabel: trans.__('NbClassic'),
commandDescription: trans.__('Open in %1', 'NbClassic'),
buttonLabel: 'openNbClassic',
urlPrefix: `${baseUrl}nbclassic/notebooks/`,
urlPrefix: `${baseUrl}nbclassic/notebooks`,
});
}
@ -133,7 +140,10 @@ const interfaceSwitcher: JupyterFrontEndPlugin<void> = {
if (!current) {
return;
}
window.open(`${urlPrefix}${current.context.path}`);
opener.open({
prefix: urlPrefix,
path: current.context.path,
});
};
commands.addCommand(command, {
@ -223,7 +233,8 @@ const launchNotebookTree: JupyterFrontEndPlugin<void> = {
commands.addCommand(CommandIDs.launchNotebookTree, {
label: trans.__('Launch Jupyter Notebook File Browser'),
execute: () => {
window.open(PageConfig.getBaseUrl() + 'tree');
const url = URLExt.join(PageConfig.getBaseUrl(), 'tree');
window.open(url);
},
});

@ -47,7 +47,9 @@
"@jupyterlab/settingregistry": "^4.0.6",
"@jupyterlab/translation": "^4.0.6",
"@lumino/polling": "^2.1.2",
"@lumino/widgets": "^2.3.0"
"@lumino/widgets": "^2.3.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -38,6 +38,7 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.0.3",
"@jupyterlab/application": "^4.0.6",
"@jupyterlab/coreutils": "^6.0.6",
"@jupyterlab/terminal": "^4.0.6",

@ -7,10 +7,15 @@ import {
JupyterFrontEndPlugin,
} from '@jupyterlab/application';
import { PageConfig } from '@jupyterlab/coreutils';
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
import { ITerminalTracker } from '@jupyterlab/terminal';
import {
INotebookPathOpener,
defaultNotebookPathOpener,
} from '@jupyter-notebook/application';
import { find } from '@lumino/algorithm';
/**
@ -58,9 +63,16 @@ const opener: JupyterFrontEndPlugin<void> = {
const redirect: JupyterFrontEndPlugin<void> = {
id: '@jupyter-notebook/terminal-extension:redirect',
requires: [ITerminalTracker],
optional: [INotebookPathOpener],
autoStart: true,
activate: (app: JupyterFrontEnd, tracker: ITerminalTracker) => {
activate: (
app: JupyterFrontEnd,
tracker: ITerminalTracker,
notebookPathOpener: INotebookPathOpener | null
) => {
const baseUrl = PageConfig.getBaseUrl();
const opener = notebookPathOpener ?? defaultNotebookPathOpener;
tracker.widgetAdded.connect((send, terminal) => {
const widget = find(
app.shell.widgets('main'),
@ -71,7 +83,11 @@ const redirect: JupyterFrontEndPlugin<void> = {
return;
}
const name = terminal.content.session.name;
window.open(`${baseUrl}terminals/${name}`, '_blank');
opener.open({
prefix: URLExt.join(baseUrl, 'terminals'),
path: name,
target: '_blank',
});
// dispose the widget since it is not used on this page
terminal.dispose();

@ -4,5 +4,10 @@
"outDir": "lib",
"rootDir": "src"
},
"include": ["src/**/*"]
"include": ["src/**/*"],
"references": [
{
"path": "../application"
}
]
}

@ -160,7 +160,7 @@ fmt = [
]
[tool.hatch.build.hooks.jupyter-builder]
dependencies = ["hatch-jupyter-builder>=0.2"]
dependencies = ["hatch-jupyter-builder>=0.5"]
build-function = "hatch_jupyter_builder.npm_builder"
ensured-targets = [
"notebook/labextension/static/style.js",
@ -170,10 +170,15 @@ install-pre-commit-hook = true
[tool.hatch.build.hooks.jupyter-builder.build-kwargs]
build_cmd = "build:prod"
editable_build_cmd = "build"
source_dir = "packages"
build_dir = "notebook/static"
npm = "jlpm"
npm = ["jlpm"]
[tool.hatch.build.hooks.jupyter-builder.editable-build-kwargs]
build_cmd = "build"
source_dir = "packages"
build_dir = "notebook/static"
npm = ["jlpm"]
[tool.jupyter-releaser.options]
version-cmd = "jlpm run release:bump --force --skip-commit"

@ -2046,20 +2046,13 @@ __metadata:
languageName: node
linkType: hard
"@jridgewell/sourcemap-codec@npm:1.4.14":
"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10":
version: 1.4.14
resolution: "@jridgewell/sourcemap-codec@npm:1.4.14"
checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97
languageName: node
linkType: hard
"@jridgewell/sourcemap-codec@npm:^1.4.10":
version: 1.4.15
resolution: "@jridgewell/sourcemap-codec@npm:1.4.15"
checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8
languageName: node
linkType: hard
"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9":
version: 0.3.18
resolution: "@jridgewell/trace-mapping@npm:0.3.18"
@ -2221,6 +2214,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@jupyter-notebook/console-extension@workspace:packages/console-extension"
dependencies:
"@jupyter-notebook/application": ^7.0.3
"@jupyterlab/application": ^4.0.6
"@jupyterlab/console": ^4.0.6
"@jupyterlab/coreutils": ^6.0.6
@ -2330,6 +2324,8 @@ __metadata:
"@jupyterlab/translation": ^4.0.6
"@lumino/polling": ^2.1.2
"@lumino/widgets": ^2.3.0
react: ^18.2.0
react-dom: ^18.2.0
rimraf: ^3.0.2
typescript: ~5.0.2
languageName: unknown
@ -2359,6 +2355,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@jupyter-notebook/terminal-extension@workspace:packages/terminal-extension"
dependencies:
"@jupyter-notebook/application": ^7.0.3
"@jupyterlab/application": ^4.0.6
"@jupyterlab/coreutils": ^6.0.6
"@jupyterlab/terminal": ^4.0.6
@ -3606,16 +3603,7 @@ __metadata:
languageName: node
linkType: hard
"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0":
version: 4.0.3
resolution: "@jupyterlab/nbformat@npm:4.0.3"
dependencies:
"@lumino/coreutils": ^2.1.1
checksum: e7c3fc81fdd934d66b4b92aa44b82e40dff73248b54772d0a4501a7dd5e1ea76754931548f8e591e7f03bfad2f4409a34838424bd34f9abb0be11d213f2e129a
languageName: node
linkType: hard
"@jupyterlab/nbformat@npm:^4.0.6":
"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.0.6":
version: 4.0.6
resolution: "@jupyterlab/nbformat@npm:4.0.6"
dependencies:
@ -4470,13 +4458,6 @@ __metadata:
languageName: node
linkType: hard
"@lumino/algorithm@npm:^2.0.0":
version: 2.0.0
resolution: "@lumino/algorithm@npm:2.0.0"
checksum: 663edf536e94397b449c6a2643a735e602fbb396dec86b56ad1193a768dce27c6e7da5ad0384aa90086ea44cbb64dde3f9d565e9fd81858f1eb0c6b4253f3b94
languageName: node
linkType: hard
"@lumino/algorithm@npm:^2.0.1":
version: 2.0.1
resolution: "@lumino/algorithm@npm:2.0.1"
@ -4519,14 +4500,7 @@ __metadata:
languageName: node
linkType: hard
"@lumino/coreutils@npm:^1.11.0 || ^2.0.0, @lumino/coreutils@npm:^2.1.1":
version: 2.1.1
resolution: "@lumino/coreutils@npm:2.1.1"
checksum: dfdeb2b0282caae17b6c3edfebadf4ce7c75fc879fa60cacfef9b154412f4b35e4ffd95b1833b99d8dacb99aaaa04513570129ae2024c3f33e2677a01f0576ce
languageName: node
linkType: hard
"@lumino/coreutils@npm:^1.11.0 || ^2.1.2, @lumino/coreutils@npm:^2.1.2":
"@lumino/coreutils@npm:^1.11.0 || ^2.0.0, @lumino/coreutils@npm:^1.11.0 || ^2.1.2, @lumino/coreutils@npm:^2.1.2":
version: 2.1.2
resolution: "@lumino/coreutils@npm:2.1.2"
checksum: 7865317ac0676b448d108eb57ab5d8b2a17c101995c0f7a7106662d9fe6c859570104525f83ee3cda12ae2e326803372206d6f4c1f415a5b59e4158a7b81066f
@ -4550,16 +4524,7 @@ __metadata:
languageName: node
linkType: hard
"@lumino/disposable@npm:^1.10.0 || ^2.0.0":
version: 2.1.1
resolution: "@lumino/disposable@npm:2.1.1"
dependencies:
"@lumino/signaling": ^2.1.1
checksum: ed6cdfe13f3346178a087690d4e7baeccaed7e73ca23cb239765202409f5c01b4729a4058b4717f963462ee9ef2e5cb14ad1974e3163741267290edc3715c85c
languageName: node
linkType: hard
"@lumino/disposable@npm:^2.1.2":
"@lumino/disposable@npm:^1.10.0 || ^2.0.0, @lumino/disposable@npm:^2.1.2":
version: 2.1.2
resolution: "@lumino/disposable@npm:2.1.2"
dependencies:
@ -4620,17 +4585,7 @@ __metadata:
languageName: node
linkType: hard
"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.1":
version: 2.1.1
resolution: "@lumino/signaling@npm:2.1.1"
dependencies:
"@lumino/algorithm": ^2.0.0
"@lumino/coreutils": ^2.1.1
checksum: 283ad4239b8577f68aca3d0b2606f73cc1c775f84cab25cf49aa6cd195f0d87949ef43fdff03b38b5a49ebbf2468581c6786d5f8b6159a04b2051260be5eab86
languageName: node
linkType: hard
"@lumino/signaling@npm:^2.1.2":
"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.2":
version: 2.1.2
resolution: "@lumino/signaling@npm:2.1.2"
dependencies:
@ -5451,17 +5406,7 @@ __metadata:
languageName: node
linkType: hard
"@types/glob@npm:*":
version: 8.1.0
resolution: "@types/glob@npm:8.1.0"
dependencies:
"@types/minimatch": ^5.1.2
"@types/node": "*"
checksum: 9101f3a9061e40137190f70626aa0e202369b5ec4012c3fabe6f5d229cce04772db9a94fa5a0eb39655e2e4ad105c38afbb4af56a56c0996a8c7d4fc72350e3d
languageName: node
linkType: hard
"@types/glob@npm:^7.1.1":
"@types/glob@npm:*, @types/glob@npm:^7.1.1":
version: 7.2.0
resolution: "@types/glob@npm:7.2.0"
dependencies:
@ -5556,7 +5501,7 @@ __metadata:
languageName: node
linkType: hard
"@types/minimatch@npm:*, @types/minimatch@npm:^5.1.2":
"@types/minimatch@npm:*":
version: 5.1.2
resolution: "@types/minimatch@npm:5.1.2"
checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8
@ -5577,10 +5522,10 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:*":
version: 20.4.5
resolution: "@types/node@npm:20.4.5"
checksum: 36a0304a8dc346a1b2d2edac4c4633eecf70875793d61a5274d0df052d7a7af7a8e34f29884eac4fbd094c4f0201477dcb39c0ecd3307ca141688806538d1138
"@types/node@npm:*, @types/node@npm:^14.6.1":
version: 14.18.54
resolution: "@types/node@npm:14.18.54"
checksum: 9fd66f91fcd8e9b25067f784a9c60bd710ef86a89c838c131ab2b1921398adc53b1c70d741bceed48bb2403b75c434b1bbbb255240773819cde36295c4b6abf1
languageName: node
linkType: hard
@ -5591,13 +5536,6 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:^14.6.1":
version: 14.18.54
resolution: "@types/node@npm:14.18.54"
checksum: 9fd66f91fcd8e9b25067f784a9c60bd710ef86a89c838c131ab2b1921398adc53b1c70d741bceed48bb2403b75c434b1bbbb255240773819cde36295c4b6abf1
languageName: node
linkType: hard
"@types/normalize-package-data@npm:^2.4.0":
version: 2.4.1
resolution: "@types/normalize-package-data@npm:2.4.1"
@ -7518,20 +7456,13 @@ __metadata:
languageName: node
linkType: hard
"cli-spinners@npm:2.6.1":
"cli-spinners@npm:2.6.1, cli-spinners@npm:^2.5.0":
version: 2.6.1
resolution: "cli-spinners@npm:2.6.1"
checksum: 423409baaa7a58e5104b46ca1745fbfc5888bbd0b0c5a626e052ae1387060839c8efd512fb127e25769b3dc9562db1dc1b5add6e0b93b7ef64f477feb6416a45
languageName: node
linkType: hard
"cli-spinners@npm:^2.5.0":
version: 2.9.0
resolution: "cli-spinners@npm:2.9.0"
checksum: a9c56e1f44457d4a9f4f535364e729cb8726198efa9e98990cfd9eda9e220dfa4ba12f92808d1be5e29029cdfead781db82dc8549b97b31c907d55f96aa9b0e2
languageName: node
linkType: hard
"cli-width@npm:^3.0.0":
version: 3.0.0
resolution: "cli-width@npm:3.0.0"
@ -8069,20 +8000,13 @@ __metadata:
languageName: node
linkType: hard
"core-util-is@npm:1.0.2":
"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0":
version: 1.0.2
resolution: "core-util-is@npm:1.0.2"
checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab
languageName: node
linkType: hard
"core-util-is@npm:~1.0.0":
version: 1.0.3
resolution: "core-util-is@npm:1.0.3"
checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99
languageName: node
linkType: hard
"cors@npm:2.8.5":
version: 2.8.5
resolution: "cors@npm:2.8.5"
@ -8223,30 +8147,14 @@ __metadata:
languageName: node
linkType: hard
"csstype@npm:3.0.10":
"csstype@npm:3.0.10, csstype@npm:^3.0.10, csstype@npm:^3.0.2":
version: 3.0.10
resolution: "csstype@npm:3.0.10"
checksum: 20a8fa324f2b33ddf94aa7507d1b6ab3daa6f3cc308888dc50126585d7952f2471de69b2dbe0635d1fdc31223fef8e070842691877e725caf456e2378685a631
languageName: node
linkType: hard
"csstype@npm:^3.0.10, csstype@npm:^3.0.2":
version: 3.1.2
resolution: "csstype@npm:3.1.2"
checksum: e1a52e6c25c1314d6beef5168da704ab29c5186b877c07d822bd0806717d9a265e8493a2e35ca7e68d0f5d472d43fac1cdce70fd79fd0853dff81f3028d857b5
languageName: node
linkType: hard
"d3-array@npm:1 - 3, d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:2.5.0 - 3, d3-array@npm:^3.2.2":
version: 3.2.4
resolution: "d3-array@npm:3.2.4"
dependencies:
internmap: 1 - 2
checksum: a5976a6d6205f69208478bb44920dd7ce3e788c9dceb86b304dbe401a4bfb42ecc8b04c20facde486e9adcb488b5d1800d49393a3f81a23902b68158e12cddd0
languageName: node
linkType: hard
"d3-array@npm:3.2.2":
"d3-array@npm:1 - 3, d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:2.5.0 - 3, d3-array@npm:3.2.2, d3-array@npm:^3.2.2":
version: 3.2.2
resolution: "d3-array@npm:3.2.2"
dependencies:
@ -9389,7 +9297,7 @@ __metadata:
languageName: node
linkType: hard
"execa@npm:5.0.0":
"execa@npm:5.0.0, execa@npm:^5.0.0":
version: 5.0.0
resolution: "execa@npm:5.0.0"
dependencies:
@ -9406,23 +9314,6 @@ __metadata:
languageName: node
linkType: hard
"execa@npm:^5.0.0":
version: 5.1.1
resolution: "execa@npm:5.1.1"
dependencies:
cross-spawn: ^7.0.3
get-stream: ^6.0.0
human-signals: ^2.1.0
is-stream: ^2.0.0
merge-stream: ^2.0.0
npm-run-path: ^4.0.1
onetime: ^5.1.2
signal-exit: ^3.0.3
strip-final-newline: ^2.0.0
checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343
languageName: node
linkType: hard
"exit@npm:^0.1.2":
version: 0.1.2
resolution: "exit@npm:0.1.2"
@ -9527,20 +9418,13 @@ __metadata:
languageName: node
linkType: hard
"extsprintf@npm:1.3.0":
"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0":
version: 1.3.0
resolution: "extsprintf@npm:1.3.0"
checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2
languageName: node
linkType: hard
"extsprintf@npm:^1.2.0":
version: 1.4.1
resolution: "extsprintf@npm:1.4.1"
checksum: a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33
languageName: node
linkType: hard
"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3, fast-deep-equal@npm:~3.1.3":
version: 3.1.3
resolution: "fast-deep-equal@npm:3.1.3"
@ -10081,7 +9965,7 @@ __metadata:
languageName: node
linkType: hard
"get-stream@npm:6.0.0":
"get-stream@npm:6.0.0, get-stream@npm:^6.0.0":
version: 6.0.0
resolution: "get-stream@npm:6.0.0"
checksum: 587e6a93127f9991b494a566f4971cf7a2645dfa78034818143480a80587027bdd8826cdcf80d0eff4a4a19de0d231d157280f24789fc9cc31492e1dcc1290cf
@ -10097,13 +9981,6 @@ __metadata:
languageName: node
linkType: hard
"get-stream@npm:^6.0.0":
version: 6.0.1
resolution: "get-stream@npm:6.0.1"
checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad
languageName: node
linkType: hard
"get-symbol-description@npm:^1.0.0":
version: 1.0.0
resolution: "get-symbol-description@npm:1.0.0"
@ -10262,17 +10139,17 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4":
version: 7.2.3
resolution: "glob@npm:7.2.3"
"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:~7.1.6":
version: 7.1.7
resolution: "glob@npm:7.1.7"
dependencies:
fs.realpath: ^1.0.0
inflight: ^1.0.4
inherits: 2
minimatch: ^3.1.1
minimatch: ^3.0.4
once: ^1.3.0
path-is-absolute: ^1.0.0
checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133
checksum: b61f48973bbdcf5159997b0874a2165db572b368b931135832599875919c237fc05c12984e38fe828e69aa8a921eb0e8a4997266211c517c9cfaae8a93988bb8
languageName: node
linkType: hard
@ -10301,20 +10178,6 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:~7.1.6":
version: 7.1.7
resolution: "glob@npm:7.1.7"
dependencies:
fs.realpath: ^1.0.0
inflight: ^1.0.4
inherits: 2
minimatch: ^3.0.4
once: ^1.3.0
path-is-absolute: ^1.0.0
checksum: b61f48973bbdcf5159997b0874a2165db572b368b931135832599875919c237fc05c12984e38fe828e69aa8a921eb0e8a4997266211c517c9cfaae8a93988bb8
languageName: node
linkType: hard
"globals@npm:^11.1.0":
version: 11.12.0
resolution: "globals@npm:11.12.0"
@ -10398,20 +10261,13 @@ __metadata:
languageName: node
linkType: hard
"graceful-fs@npm:4.2.10":
"graceful-fs@npm:4.2.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
version: 4.2.10
resolution: "graceful-fs@npm:4.2.10"
checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da
languageName: node
linkType: hard
"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7
languageName: node
linkType: hard
"grapheme-splitter@npm:^1.0.4":
version: 1.0.4
resolution: "grapheme-splitter@npm:1.0.4"
@ -10866,7 +10722,7 @@ __metadata:
languageName: node
linkType: hard
"inquirer@npm:8.2.4":
"inquirer@npm:8.2.4, inquirer@npm:^8.2.4":
version: 8.2.4
resolution: "inquirer@npm:8.2.4"
dependencies:
@ -10889,29 +10745,6 @@ __metadata:
languageName: node
linkType: hard
"inquirer@npm:^8.2.4":
version: 8.2.5
resolution: "inquirer@npm:8.2.5"
dependencies:
ansi-escapes: ^4.2.1
chalk: ^4.1.1
cli-cursor: ^3.1.0
cli-width: ^3.0.0
external-editor: ^3.0.3
figures: ^3.0.0
lodash: ^4.17.21
mute-stream: 0.0.8
ora: ^5.4.1
run-async: ^2.4.0
rxjs: ^7.5.5
string-width: ^4.1.0
strip-ansi: ^6.0.0
through: ^2.3.6
wrap-ansi: ^7.0.0
checksum: f13ee4c444187786fb393609dedf6b30870115a57b603f2e6424f29a99abc13446fd45ee22461c33c9c40a92a60a8df62d0d6b25d74fc6676fa4cb211de55b55
languageName: node
linkType: hard
"inquirer@npm:^9.1.4":
version: 9.2.8
resolution: "inquirer@npm:9.2.8"
@ -11223,20 +11056,13 @@ __metadata:
languageName: node
linkType: hard
"is-stream@npm:2.0.0":
"is-stream@npm:2.0.0, is-stream@npm:^2.0.0":
version: 2.0.0
resolution: "is-stream@npm:2.0.0"
checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935
languageName: node
linkType: hard
"is-stream@npm:^2.0.0":
version: 2.0.1
resolution: "is-stream@npm:2.0.1"
checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66
languageName: node
linkType: hard
"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
version: 1.0.7
resolution: "is-string@npm:1.0.7"
@ -13051,7 +12877,7 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:2 || 3, minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
"minimatch@npm:2 || 3, minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@ -13060,7 +12886,7 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:3.0.5":
"minimatch@npm:3.0.5, minimatch@npm:~3.0.4":
version: 3.0.5
resolution: "minimatch@npm:3.0.5"
dependencies:
@ -13105,15 +12931,6 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:~3.0.4":
version: 3.0.8
resolution: "minimatch@npm:3.0.8"
dependencies:
brace-expansion: ^1.1.7
checksum: 850cca179cad715133132693e6963b0db64ab0988c4d211415b087fc23a3e46321e2c5376a01bf5623d8782aba8bdf43c571e2e902e51fdce7175c7215c29f8b
languageName: node
linkType: hard
"minimist-options@npm:4.1.0":
version: 4.1.0
resolution: "minimist-options@npm:4.1.0"
@ -13224,20 +13041,13 @@ __metadata:
languageName: node
linkType: hard
"minipass@npm:^5.0.0":
"minipass@npm:^5.0.0, minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0":
version: 5.0.0
resolution: "minipass@npm:5.0.0"
checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea
languageName: node
linkType: hard
"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0":
version: 7.0.2
resolution: "minipass@npm:7.0.2"
checksum: 46776de732eb7cef2c7404a15fb28c41f5c54a22be50d47b03c605bf21f5c18d61a173c0a20b49a97e7a65f78d887245066410642551e45fffe04e9ac9e325bc
languageName: node
linkType: hard
"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
version: 2.1.2
resolution: "minizlib@npm:2.1.2"
@ -13428,7 +13238,7 @@ __metadata:
languageName: node
linkType: hard
"node-fetch@npm:2.6.7, node-fetch@npm:cjs":
"node-fetch@npm:2.6.7, node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.7, node-fetch@npm:cjs":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
dependencies:
@ -13442,20 +13252,6 @@ __metadata:
languageName: node
linkType: hard
"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.7":
version: 2.6.12
resolution: "node-fetch@npm:2.6.12"
dependencies:
whatwg-url: ^5.0.0
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
encoding:
optional: true
checksum: 3bc1655203d47ee8e313c0d96664b9673a3d4dd8002740318e9d27d14ef306693a4b2ef8d6525775056fd912a19e23f3ac0d7111ad8925877b7567b29a625592
languageName: node
linkType: hard
"node-gyp-build@npm:^4.3.0":
version: 4.6.0
resolution: "node-gyp-build@npm:4.6.0"
@ -13642,13 +13438,6 @@ __metadata:
languageName: node
linkType: hard
"npm-normalize-package-bin@npm:^2.0.0":
version: 2.0.0
resolution: "npm-normalize-package-bin@npm:2.0.0"
checksum: 7c5379f9b188b564c4332c97bdd9a5d6b7b15f02b5823b00989d6a0e6fb31eb0280f02b0a924f930e1fcaf00e60fae333aec8923d2a4c7747613c7d629d8aa25
languageName: node
linkType: hard
"npm-normalize-package-bin@npm:^3.0.0, npm-normalize-package-bin@npm:^3.0.1":
version: 3.0.1
resolution: "npm-normalize-package-bin@npm:3.0.1"
@ -13726,7 +13515,7 @@ __metadata:
languageName: node
linkType: hard
"npm-registry-fetch@npm:14.0.3":
"npm-registry-fetch@npm:14.0.3, npm-registry-fetch@npm:^14.0.0, npm-registry-fetch@npm:^14.0.3":
version: 14.0.3
resolution: "npm-registry-fetch@npm:14.0.3"
dependencies:
@ -13756,21 +13545,6 @@ __metadata:
languageName: node
linkType: hard
"npm-registry-fetch@npm:^14.0.0, npm-registry-fetch@npm:^14.0.3":
version: 14.0.5
resolution: "npm-registry-fetch@npm:14.0.5"
dependencies:
make-fetch-happen: ^11.0.0
minipass: ^5.0.0
minipass-fetch: ^3.0.0
minipass-json-stream: ^1.0.1
minizlib: ^2.1.2
npm-package-arg: ^10.0.0
proc-log: ^3.0.0
checksum: c63649642955b424bc1baaff5955027144af312ae117ba8c24829e74484f859482591fe89687c6597d83e930c8054463eef23020ac69146097a72cc62ff10986
languageName: node
linkType: hard
"npm-run-all@npm:^4.1.5":
version: 4.1.5
resolution: "npm-run-all@npm:4.1.5"
@ -14263,7 +14037,7 @@ __metadata:
languageName: node
linkType: hard
"pacote@npm:15.1.1":
"pacote@npm:15.1.1, pacote@npm:^15.0.0, pacote@npm:^15.0.8":
version: 15.1.1
resolution: "pacote@npm:15.1.1"
dependencies:
@ -14291,34 +14065,6 @@ __metadata:
languageName: node
linkType: hard
"pacote@npm:^15.0.0, pacote@npm:^15.0.8":
version: 15.2.0
resolution: "pacote@npm:15.2.0"
dependencies:
"@npmcli/git": ^4.0.0
"@npmcli/installed-package-contents": ^2.0.1
"@npmcli/promise-spawn": ^6.0.1
"@npmcli/run-script": ^6.0.0
cacache: ^17.0.0
fs-minipass: ^3.0.0
minipass: ^5.0.0
npm-package-arg: ^10.0.0
npm-packlist: ^7.0.0
npm-pick-manifest: ^8.0.0
npm-registry-fetch: ^14.0.0
proc-log: ^3.0.0
promise-retry: ^2.0.1
read-package-json: ^6.0.0
read-package-json-fast: ^3.0.0
sigstore: ^1.3.0
ssri: ^10.0.0
tar: ^6.1.11
bin:
pacote: lib/bin.js
checksum: c731572be2bf226b117eba076d242bd4cd8be7aa01e004af3374a304ad7ab330539e22644bc33de12d2a7d45228ccbcbf4d710f59c84414f3d09a1a95ee6f0bf
languageName: node
linkType: hard
"parent-module@npm:^1.0.0":
version: 1.0.1
resolution: "parent-module@npm:1.0.1"
@ -15199,7 +14945,7 @@ __metadata:
languageName: node
linkType: hard
"read-package-json@npm:5.0.1":
"read-package-json@npm:5.0.1, read-package-json@npm:^5.0.0":
version: 5.0.1
resolution: "read-package-json@npm:5.0.1"
dependencies:
@ -15211,18 +14957,6 @@ __metadata:
languageName: node
linkType: hard
"read-package-json@npm:^5.0.0":
version: 5.0.2
resolution: "read-package-json@npm:5.0.2"
dependencies:
glob: ^8.0.1
json-parse-even-better-errors: ^2.3.1
normalize-package-data: ^4.0.0
npm-normalize-package-bin: ^2.0.0
checksum: 0882ac9cec1bc92fb5515e9727611fb2909351e1e5c840dce3503cbb25b4cd48eb44b61071986e0fc51043208161f07d364a7336206c8609770186818753b51a
languageName: node
linkType: hard
"read-package-json@npm:^6.0.0":
version: 6.0.4
resolution: "read-package-json@npm:6.0.4"
@ -16043,7 +15777,7 @@ __metadata:
languageName: node
linkType: hard
"sigstore@npm:^1.0.0, sigstore@npm:^1.3.0, sigstore@npm:^1.4.0":
"sigstore@npm:^1.0.0, sigstore@npm:^1.4.0":
version: 1.8.0
resolution: "sigstore@npm:1.8.0"
dependencies:
@ -16713,7 +16447,7 @@ __metadata:
languageName: node
linkType: hard
"tar@npm:6.1.11":
"tar@npm:6.1.11, tar@npm:^6.0.5, tar@npm:^6.1.11, tar@npm:^6.1.2":
version: 6.1.11
resolution: "tar@npm:6.1.11"
dependencies:
@ -16727,20 +16461,6 @@ __metadata:
languageName: node
linkType: hard
"tar@npm:^6.0.5, tar@npm:^6.1.11, tar@npm:^6.1.2":
version: 6.1.15
resolution: "tar@npm:6.1.15"
dependencies:
chownr: ^2.0.0
fs-minipass: ^2.0.0
minipass: ^5.0.0
minizlib: ^2.1.1
mkdirp: ^1.0.3
yallist: ^4.0.0
checksum: f23832fceeba7578bf31907aac744ae21e74a66f4a17a9e94507acf460e48f6db598c7023882db33bab75b80e027c21f276d405e4a0322d58f51c7088d428268
languageName: node
linkType: hard
"temp-dir@npm:1.0.0":
version: 1.0.0
resolution: "temp-dir@npm:1.0.0"
@ -17067,14 +16787,7 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0":
version: 2.6.1
resolution: "tslib@npm:2.6.1"
checksum: b0d176d176487905b66ae4d5856647df50e37beea7571c53b8d10ba9222c074b81f1410fb91da13debaf2cbc970663609068bdebafa844ea9d69b146527c38fe
languageName: node
linkType: hard
"tslib@npm:~2.5.0":
"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:~2.5.0":
version: 2.5.3
resolution: "tslib@npm:2.5.3"
checksum: 88902b309afaf83259131c1e13da1dceb0ad1682a213143a1346a649143924d78cf3760c448b84d796938fd76127183894f8d85cbb3bf9c4fddbfcc140c0003c
@ -17133,20 +16846,13 @@ __metadata:
languageName: node
linkType: hard
"typanion@npm:^3.3.1":
"typanion@npm:^3.3.1, typanion@npm:^3.8.0":
version: 3.14.0
resolution: "typanion@npm:3.14.0"
checksum: fc0590d02c13c659eb1689e8adf7777e6c00dc911377e44cd36fe1b1271cfaca71547149f12cdc275058c0de5562a14e5273adbae66d47e6e0320e36007f5912
languageName: node
linkType: hard
"typanion@npm:^3.8.0":
version: 3.13.0
resolution: "typanion@npm:3.13.0"
checksum: 7d1506ab3a635ca5aaf84696829092f4cf6949c7995e950e0a744f55b4d4a824e2cf22278d37c323396188240d0003bd10de14a64da8e1ded3ddd71dcec2d146
languageName: node
linkType: hard
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"
@ -18841,7 +18547,7 @@ __metadata:
languageName: node
linkType: hard
"yargs-parser@npm:20.2.4":
"yargs-parser@npm:20.2.4, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3":
version: 20.2.4
resolution: "yargs-parser@npm:20.2.4"
checksum: d251998a374b2743a20271c2fd752b9fbef24eb881d53a3b99a7caa5e8227fcafd9abf1f345ac5de46435821be25ec12189a11030c12ee6481fef6863ed8b924
@ -18855,13 +18561,6 @@ __metadata:
languageName: node
linkType: hard
"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3":
version: 20.2.9
resolution: "yargs-parser@npm:20.2.9"
checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3
languageName: node
linkType: hard
"yargs@npm:16.2.0, yargs@npm:^16.2.0":
version: 16.2.0
resolution: "yargs@npm:16.2.0"

Loading…
Cancel
Save