Switch notebook editors to monaco (#239)

* Upgrade nteract packages and related dependencies to make new stateful-component work

* Switch to new monacoEditor

* Configure store using nteract mythic configuration

* Replace CodeMirror with Monaco editor in NotebookReadOnlyRenderer

* Reformat

* Upgrade d3 to latest to resolve d3-selection conflicts with nteract/data-explorer that broke D3ForceGraph

* Upgrade jupyterlab terminal widget to work with latest version of react. Upgrade jupyterlab services to include latest fix for websocket auth

* Update jest test snapshots

* Upgrade packages to fix build issues

* Remove comment

* Fix unit tests

* Fix unit test snapshot

* Remove useless @types/node-fetch
This commit is contained in:
Laurent Nguyen
2020-10-01 14:00:46 +02:00
committed by GitHub
parent 4fe2098730
commit 0ad5fb465b
21 changed files with 5135 additions and 11636 deletions

View File

@@ -1,6 +1,6 @@
import { EMPTY, merge, of, timer, concat, Subject, Subscriber, Observable, Observer } from "rxjs";
import { webSocket } from "rxjs/webSocket";
import { ActionsObservable, StateObservable } from "redux-observable";
import { StateObservable } from "redux-observable";
import { ofType } from "redux-observable";
import {
mergeMap,
@@ -65,7 +65,7 @@ const logToTelemetry = (state: CdbAppState, title: string, error?: string) => {
* @param state$
*/
const addInitialCodeCellEpic = (
action$: ActionsObservable<actions.FetchContentFulfilled>,
action$: Observable<actions.FetchContentFulfilled>,
state$: StateObservable<AppState>
): Observable<{} | actions.CreateCellBelow> => {
return action$.pipe(
@@ -104,7 +104,7 @@ const addInitialCodeCellEpic = (
* @param state$
*/
export const autoStartKernelEpic = (
action$: ActionsObservable<actions.FetchContentFulfilled>,
action$: Observable<actions.FetchContentFulfilled>,
state$: StateObservable<AppState>
): Observable<{} | actions.CreateCellBelow> => {
return action$.pipe(
@@ -157,7 +157,7 @@ const formWebSocketURL = (serverConfig: NotebookServiceConfig, kernelId: string,
* Override from kernel-lifecycle to improve code mirror language intellisense
* @param action$
*/
export const acquireKernelInfoEpic = (action$: ActionsObservable<actions.NewKernelAction>) => {
export const acquireKernelInfoEpic = (action$: Observable<actions.NewKernelAction>) => {
return action$.pipe(
ofType(actions.LAUNCH_KERNEL_SUCCESSFUL),
switchMap((action: actions.NewKernelAction) => {
@@ -310,7 +310,7 @@ const connect = (serverConfig: NotebookServiceConfig, kernelID: string, sessionI
* @param state$
*/
export const launchWebSocketKernelEpic = (
action$: ActionsObservable<actions.LaunchKernelByNameAction>,
action$: Observable<actions.LaunchKernelByNameAction>,
state$: StateObservable<CdbAppState>
) => {
return action$.pipe(
@@ -422,7 +422,7 @@ export const launchWebSocketKernelEpic = (
* TODO: Remove this epic once the /restart endpoint is implemented.
*/
export const restartWebSocketKernelEpic = (
action$: ActionsObservable<actions.RestartKernel | actions.NewKernelAction>,
action$: Observable<actions.RestartKernel | actions.NewKernelAction>,
state$: StateObservable<AppState>
) =>
action$.pipe(
@@ -532,7 +532,7 @@ export const restartWebSocketKernelEpic = (
* @param state$
*/
const changeWebSocketKernelEpic = (
action$: ActionsObservable<actions.ChangeKernelByName>,
action$: Observable<actions.ChangeKernelByName>,
state$: StateObservable<AppState>
) => {
return action$.pipe(
@@ -614,7 +614,7 @@ const changeWebSocketKernelEpic = (
* @param state$
*/
const focusInitialCodeCellEpic = (
action$: ActionsObservable<actions.CreateCellAppend>,
action$: Observable<actions.CreateCellAppend>,
state$: StateObservable<AppState>
): Observable<{} | actions.FocusCell> => {
return action$.pipe(
@@ -652,10 +652,7 @@ const focusInitialCodeCellEpic = (
* @param action$
* @param state$
*/
const notificationsToUserEpic = (
action$: ActionsObservable<any>,
state$: StateObservable<CdbAppState>
): Observable<{}> => {
const notificationsToUserEpic = (action$: Observable<any>, state$: StateObservable<CdbAppState>): Observable<{}> => {
return action$.pipe(
ofType(
actions.RESTART_KERNEL_SUCCESSFUL,
@@ -705,7 +702,7 @@ const notificationsToUserEpic = (
* @param state$
*/
const handleKernelConnectionLostEpic = (
action$: ActionsObservable<actions.UpdateDisplayFailed>,
action$: Observable<actions.UpdateDisplayFailed>,
state$: StateObservable<CdbAppState>
): Observable<CdbActions.UpdateKernelRestartDelayAction | actions.RestartKernel | {}> => {
return action$.pipe(
@@ -766,7 +763,7 @@ const handleKernelConnectionLostEpic = (
* @param state$
*/
export const cleanKernelOnConnectionLostEpic = (
action$: ActionsObservable<actions.UpdateDisplayFailed>,
action$: Observable<actions.UpdateDisplayFailed>,
state$: StateObservable<AppState>
): Observable<actions.KillKernelSuccessful> => {
return action$.pipe(
@@ -789,7 +786,7 @@ export const cleanKernelOnConnectionLostEpic = (
* @param state$
*/
const executeFocusedCellAndFocusNextEpic = (
action$: ActionsObservable<CdbActions.ExecuteFocusedCellAndFocusNextAction>,
action$: Observable<CdbActions.ExecuteFocusedCellAndFocusNextAction>,
state$: StateObservable<AppState>
): Observable<{} | actions.FocusNextCellEditor> => {
return action$.pipe(
@@ -829,7 +826,7 @@ function getUserPuid(): string {
* @param state$
*/
const closeUnsupportedMimetypesEpic = (
action$: ActionsObservable<actions.FetchContentFulfilled>,
action$: Observable<actions.FetchContentFulfilled>,
state$: StateObservable<AppState>
): Observable<{}> => {
return action$.pipe(
@@ -858,7 +855,7 @@ const closeUnsupportedMimetypesEpic = (
* @param state$
*/
const closeContentFailedToFetchEpic = (
action$: ActionsObservable<actions.FetchContentFailed>,
action$: Observable<actions.FetchContentFailed>,
state$: StateObservable<AppState>
): Observable<{}> => {
return action$.pipe(