Skip to content

Commit cf3ae65

Browse files
authored
Lazy load types from @jupyterlab and similar modules (#11298)
For #11279
1 parent ba779fa commit cf3ae65

37 files changed

+72
-59
lines changed

news/3 Code Health/11297.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lazy load types from `jupyterlab/services` and similar `npm modules`.

src/client/datascience/baseJupyterSession.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// Licensed under the MIT License.
33
'use strict';
44
import type { Kernel, KernelMessage, Session } from '@jupyterlab/services';
5-
import { JSONObject } from '@phosphor/coreutils';
6-
import { Slot } from '@phosphor/signaling';
5+
import type { JSONObject } from '@phosphor/coreutils';
6+
import type { Slot } from '@phosphor/signaling';
77
import { Observable } from 'rxjs/Observable';
88
import { ReplaySubject } from 'rxjs/ReplaySubject';
99
import { Event, EventEmitter } from 'vscode';

src/client/datascience/codeCssGenerator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { JSONArray, JSONObject } from '@phosphor/coreutils';
4+
import type { JSONArray, JSONObject } from '@phosphor/coreutils';
55
import { inject, injectable } from 'inversify';
66
import { parse } from 'jsonc-parser';
77
import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';

src/client/datascience/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { Memento } from 'vscode';
66
import { splitMultilineString } from '../../datascience-ui/common';
77
import { noop } from '../common/utils/misc';

src/client/datascience/data-viewing/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { JSONObject } from '@phosphor/coreutils';
4+
import type { JSONObject } from '@phosphor/coreutils';
55

66
import { SharedMessages } from '../messages';
77
import { IJupyterVariable } from '../types';

src/client/datascience/datascience.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { JSONObject } from '@phosphor/coreutils';
4+
import type { JSONObject } from '@phosphor/coreutils';
55
import { inject, injectable } from 'inversify';
66
import * as vscode from 'vscode';
77
import { ICommandManager, IDocumentManager, IWorkspaceService } from '../common/application/types';

src/client/datascience/interactive-common/interactiveBase.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
'use strict';
44
import '../../common/extensions';
55

6-
import { nbformat } from '@jupyterlab/coreutils';
6+
import type { nbformat } from '@jupyterlab/coreutils';
77
import type { KernelMessage } from '@jupyterlab/services';
88
import { injectable, unmanaged } from 'inversify';
99
import * as os from 'os';

src/client/datascience/interactive-ipynb/nativeEditor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ import {
7979
} from '../types';
8080
import { NativeEditorSynchronizer } from './nativeEditorSynchronizer';
8181

82-
import { nbformat } from '@jupyterlab/coreutils';
82+
import type { nbformat } from '@jupyterlab/coreutils';
8383
// tslint:disable-next-line: no-require-imports
8484
import cloneDeep = require('lodash/cloneDeep');
8585
import { concatMultilineStringInput } from '../../../datascience-ui/common';

src/client/datascience/interactive-ipynb/nativeEditorStorage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { nbformat } from '@jupyterlab/coreutils';
1+
import type { nbformat } from '@jupyterlab/coreutils';
22
import * as fastDeepEqual from 'fast-deep-equal';
33
import { inject, injectable, named } from 'inversify';
44
import * as path from 'path';

src/client/datascience/interactive-window/interactiveWindow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { inject, injectable, multiInject, named } from 'inversify';
66
import * as path from 'path';
77
import { Event, EventEmitter, Memento, Uri, ViewColumn } from 'vscode';

src/client/datascience/jupyter/jupyterCellOutputMimeTypeTracker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Licensed under the MIT License.
33
'use strict';
44

5-
import { nbformat } from '@jupyterlab/coreutils';
5+
import type { nbformat } from '@jupyterlab/coreutils';
66
import { sha256 } from 'hash.js';
77
import { inject, injectable } from 'inversify';
88
import { IExtensionSingleActivationService } from '../../activation/types';

src/client/datascience/jupyter/jupyterDebugger.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { inject, injectable } from 'inversify';
66
import * as path from 'path';
77
import * as uuid from 'uuid/v4';

src/client/datascience/jupyter/jupyterExporter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { inject, injectable } from 'inversify';
66
import * as os from 'os';
77
import * as path from 'path';

src/client/datascience/jupyter/jupyterImporter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
'use strict';
44
import '../../common/extensions';
55

6-
import { nbformat } from '@jupyterlab/coreutils';
6+
import type { nbformat } from '@jupyterlab/coreutils';
77
import { inject, injectable } from 'inversify';
88
import * as os from 'os';
99
import * as path from 'path';

src/client/datascience/jupyter/jupyterNotebook.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
3-
import { nbformat } from '@jupyterlab/coreutils';
3+
import type { nbformat } from '@jupyterlab/coreutils';
44
import type { Kernel, KernelMessage } from '@jupyterlab/services';
5-
import { JSONObject } from '@phosphor/coreutils';
5+
import type { JSONObject } from '@phosphor/coreutils';
66
import { Observable } from 'rxjs/Observable';
77
import { Subscriber } from 'rxjs/Subscriber';
88
import * as uuid from 'uuid/v4';

src/client/datascience/jupyter/jupyterServer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import * as uuid from 'uuid/v4';
66
import { Disposable, Uri } from 'vscode';
77
import { CancellationToken } from 'vscode-jsonrpc';

src/client/datascience/jupyter/jupyterServerWrapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { inject, injectable, named } from 'inversify';
66
import * as uuid from 'uuid/v4';
77
import { Uri } from 'vscode';

src/client/datascience/jupyter/jupyterSession.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import type {
1010
Session,
1111
SessionManager
1212
} from '@jupyterlab/services';
13-
import { JSONObject } from '@phosphor/coreutils';
14-
import { Slot } from '@phosphor/signaling';
13+
import type { JSONObject } from '@phosphor/coreutils';
14+
import type { Slot } from '@phosphor/signaling';
1515
import * as uuid from 'uuid/v4';
1616
import { CancellationToken } from 'vscode-jsonrpc';
1717
import { Cancellation } from '../../common/cancellation';

src/client/datascience/jupyter/jupyterSessionManager.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { ContentsManager, Kernel, ServerConnection, Session, SessionManager } from '@jupyterlab/services';
4+
import type { ContentsManager, ServerConnection, Session, SessionManager } from '@jupyterlab/services';
55
import { Agent as HttpsAgent } from 'https';
66
import { CancellationToken } from 'vscode-jsonrpc';
77

@@ -29,7 +29,14 @@ export class JupyterSessionManager implements IJupyterSessionManager {
2929
private contentsManager: ContentsManager | undefined;
3030
private connInfo: IJupyterConnection | undefined;
3131
private serverSettings: ServerConnection.ISettings | undefined;
32-
32+
private _jupyterlab?: typeof import('@jupyterlab/services');
33+
private get jupyterlab(): typeof import('@jupyterlab/services') {
34+
if (!this._jupyterlab) {
35+
// tslint:disable-next-line: no-require-imports
36+
this._jupyterlab = require('@jupyterlab/services');
37+
}
38+
return this._jupyterlab!;
39+
}
3340
constructor(
3441
private jupyterPasswordConnect: IJupyterPasswordConnect,
3542
_config: IConfigurationService,
@@ -78,8 +85,8 @@ export class JupyterSessionManager implements IJupyterSessionManager {
7885
public async initialize(connInfo: IJupyterConnection): Promise<void> {
7986
this.connInfo = connInfo;
8087
this.serverSettings = await this.getServerConnectSettings(connInfo);
81-
this.sessionManager = new SessionManager({ serverSettings: this.serverSettings });
82-
this.contentsManager = new ContentsManager({ serverSettings: this.serverSettings });
88+
this.sessionManager = new this.jupyterlab.SessionManager({ serverSettings: this.serverSettings });
89+
this.contentsManager = new this.jupyterlab.ContentsManager({ serverSettings: this.serverSettings });
8390
}
8491

8592
public async getRunningSessions(): Promise<Session.IModel[]> {
@@ -102,7 +109,7 @@ export class JupyterSessionManager implements IJupyterSessionManager {
102109
}
103110

104111
public async getRunningKernels(): Promise<IJupyterKernel[]> {
105-
const models = await Kernel.listRunning(this.serverSettings);
112+
const models = await this.jupyterlab.Kernel.listRunning(this.serverSettings);
106113
// Remove duplicates.
107114
const dup = new Set<string>();
108115
return models
@@ -246,6 +253,6 @@ export class JupyterSessionManager implements IJupyterSessionManager {
246253
) as any
247254
};
248255

249-
return ServerConnection.makeSettings(serverSettings);
256+
return this.jupyterlab.ServerConnection.makeSettings(serverSettings);
250257
}
251258
}

src/client/datascience/jupyter/jupyterVariables.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
5-
import { JSONObject } from '@phosphor/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
5+
import type { JSONObject } from '@phosphor/coreutils';
66
import { inject, injectable } from 'inversify';
77
import * as path from 'path';
88
import stripAnsi from 'strip-ansi';

src/client/datascience/jupyter/kernels/jupyterKernelSpec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { Kernel } from '@jupyterlab/services';
4+
import type { Kernel } from '@jupyterlab/services';
55
import * as path from 'path';
66
import { CancellationToken } from 'vscode';
77
import { createPromiseFromCancellation } from '../../../common/cancellation';

src/client/datascience/jupyter/kernels/kernelSelector.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// Licensed under the MIT License.
33
import '../../../common/extensions';
44

5-
import { nbformat } from '@jupyterlab/coreutils';
6-
import { Kernel } from '@jupyterlab/services';
5+
import type { nbformat } from '@jupyterlab/coreutils';
6+
import type { Kernel } from '@jupyterlab/services';
77
import { inject, injectable } from 'inversify';
88
import { CancellationToken } from 'vscode-jsonrpc';
99

src/client/datascience/jupyter/kernels/kernelService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
'use strict';
55

6-
import { nbformat } from '@jupyterlab/coreutils';
7-
import { Kernel } from '@jupyterlab/services';
6+
import type { nbformat } from '@jupyterlab/coreutils';
7+
import type { Kernel } from '@jupyterlab/services';
88
import { inject, injectable } from 'inversify';
99
import * as path from 'path';
1010
import * as uuid from 'uuid/v4';

src/client/datascience/jupyter/liveshare/guestJupyterNotebook.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { Kernel, KernelMessage } from '@jupyterlab/services';
5-
import { JSONObject } from '@phosphor/coreutils';
4+
import type { Kernel, KernelMessage } from '@jupyterlab/services';
5+
import type { JSONObject } from '@phosphor/coreutils';
66
import { Observable } from 'rxjs/Observable';
77
import { Event, EventEmitter, Uri } from 'vscode';
88
import { CancellationToken } from 'vscode-jsonrpc';
@@ -36,12 +36,12 @@ import { IExecuteObservableResponse, ILiveShareParticipant, IServerResponse } fr
3636
export class GuestJupyterNotebook
3737
extends LiveShareParticipantGuest(LiveShareParticipantDefault, LiveShare.JupyterNotebookSharedService)
3838
implements INotebook, ILiveShareParticipant {
39-
private get jupyterLab(): undefined | typeof import('@jupyterlab/services') {
39+
private get jupyterLab(): typeof import('@jupyterlab/services') {
4040
if (!this._jupyterLab) {
4141
// tslint:disable-next-line:no-require-imports
4242
this._jupyterLab = require('@jupyterlab/services') as typeof import('@jupyterlab/services'); // NOSONAR
4343
}
44-
return this._jupyterLab;
44+
return this._jupyterLab!;
4545
}
4646

4747
public get identity(): Uri {
@@ -299,7 +299,7 @@ export class GuestJupyterNotebook
299299
public requestCommInfo(
300300
_content: KernelMessage.ICommInfoRequestMsg['content']
301301
): Promise<KernelMessage.ICommInfoReplyMsg> {
302-
const shellMessage = KernelMessage.createMessage<KernelMessage.ICommInfoReplyMsg>({
302+
const shellMessage = this.jupyterLab?.KernelMessage.createMessage<KernelMessage.ICommInfoReplyMsg>({
303303
msgType: 'comm_info_reply',
304304
channel: 'shell',
305305
content: {

src/client/datascience/jupyter/liveshare/hostJupyterServer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import * as vscode from 'vscode';
1010
import { CancellationToken } from 'vscode-jsonrpc';
1111
import * as vsls from 'vsls/vscode';
1212

13-
import { nbformat } from '@jupyterlab/coreutils';
13+
import type { nbformat } from '@jupyterlab/coreutils';
1414
import { IApplicationShell, ILiveShareApi, IWorkspaceService } from '../../../common/application/types';
1515
import { isTestExecution } from '../../../common/constants';
1616
import { traceInfo } from '../../../common/logger';

src/client/datascience/liveshare/postOffice.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { JSONArray } from '@phosphor/coreutils';
4+
import type { JSONArray } from '@phosphor/coreutils';
55
import * as vscode from 'vscode';
66
import * as vsls from 'vsls/vscode';
77

src/client/datascience/raw-kernel/enchannel-zmq-backend-6/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// This code was copied from https://github.com/nteract/enchannel-zmq-backend/blob/master/src/index.ts
22
// and modified to work with zeromq-beta-6
33

4-
import { Channels, JupyterMessage } from '@nteract/messaging';
4+
import type { Channels, JupyterMessage } from '@nteract/messaging';
55
import * as wireProtocol from '@nteract/messaging/lib/wire-protocol';
66
import * as Events from 'events';
77
import * as rxjs from 'rxjs';

src/client/datascience/raw-kernel/enchannelJMPConnection.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { KernelMessage } from '@jupyterlab/services';
2-
import { Channels } from '@nteract/messaging';
1+
import type { KernelMessage } from '@jupyterlab/services';
2+
import type { Channels } from '@nteract/messaging';
33
import { injectable } from 'inversify';
44
import { IJMPConnection, IJMPConnectionInfo } from '../types';
55

src/client/datascience/raw-kernel/liveshare/guestRawNotebookProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { Uri } from 'vscode';
66
import { CancellationToken } from 'vscode-jsonrpc';
77
import * as vsls from 'vsls/vscode';

src/client/datascience/raw-kernel/liveshare/hostRawNotebookProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import * as vscode from 'vscode';
77
import { CancellationToken } from 'vscode-jsonrpc';
88
import * as vsls from 'vsls/vscode';
99

10-
import { nbformat } from '@jupyterlab/coreutils';
10+
import type { nbformat } from '@jupyterlab/coreutils';
1111
import { IApplicationShell, ILiveShareApi, IWorkspaceService } from '../../../common/application/types';
1212
import { traceError, traceInfo } from '../../../common/logger';
1313
import { IFileSystem } from '../../../common/platform/types';

src/client/datascience/raw-kernel/rawFuture.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
3-
import { Kernel, KernelMessage } from '@jupyterlab/services';
3+
import type { Kernel, KernelMessage } from '@jupyterlab/services';
44
import { createDeferred, Deferred } from '../../common/utils/async';
55
import { noop } from '../../common/utils/misc';
66

src/client/datascience/raw-kernel/rawKernel.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
3-
import { Kernel, KernelMessage, ServerConnection } from '@jupyterlab/services';
4-
import { JSONObject } from '@phosphor/coreutils';
5-
import { ISignal, Signal } from '@phosphor/signaling';
3+
import type { Kernel, KernelMessage, ServerConnection } from '@jupyterlab/services';
4+
import type { JSONObject } from '@phosphor/coreutils';
5+
import type { ISignal, Signal } from '@phosphor/signaling';
66
// tslint:disable-next-line: no-require-imports
77
import cloneDeep = require('lodash/cloneDeep');
88
import * as uuid from 'uuid/v4';
@@ -94,7 +94,9 @@ export class RawKernel implements Kernel.IKernel {
9494
this._clientId = clientId;
9595
this._id = uuid();
9696
this._status = 'unknown';
97-
this._statusChanged = new Signal<this, Kernel.Status>(this);
97+
// tslint:disable-next-line: no-require-imports
98+
const signalling = require('@phosphor/signaling') as typeof import('@phosphor/signaling');
99+
this._statusChanged = new signalling.Signal<this, Kernel.Status>(this);
98100

99101
// Subscribe to messages coming in from our JMP channel
100102
this.jmpConnection = jmpConnection;
@@ -438,7 +440,7 @@ export class RawKernel implements Kernel.IKernel {
438440
return false;
439441
}
440442

441-
/*
443+
/*
442444
Messages are handled async so there is a possibility that the kernel might be
443445
disposed or restarted during handling. Throw an error here if our message that
444446
we are handling is no longer valid.

src/client/datascience/raw-kernel/rawNotebookProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import * as uuid from 'uuid/v4';
66
import { Event, EventEmitter, Uri } from 'vscode';
77
import { CancellationToken } from 'vscode-jsonrpc';

src/client/datascience/raw-kernel/rawNotebookProviderWrapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
'use strict';
4-
import { nbformat } from '@jupyterlab/coreutils';
4+
import type { nbformat } from '@jupyterlab/coreutils';
55
import { inject, injectable } from 'inversify';
66
import { Uri } from 'vscode';
77
import { CancellationToken } from 'vscode-jsonrpc';

0 commit comments

Comments
 (0)