@jupyterlab/testutils 4.0.0-alpha.16 → 4.0.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/babel.config.d.ts +1 -0
- package/lib/babel.config.js +26 -11
- package/lib/babel.config.js.map +1 -1
- package/lib/index.d.ts +7 -8
- package/lib/index.js +29 -30
- package/lib/index.js.map +1 -1
- package/lib/jest-config.js +2 -45
- package/lib/jest-config.js.map +1 -1
- package/lib/mock.d.ts +2 -109
- package/lib/mock.js +16 -733
- package/lib/mock.js.map +1 -1
- package/package.json +7 -35
- package/default-45.json +0 -168
- package/default.json +0 -160
- package/lib/common.d.ts +0 -118
- package/lib/common.js +0 -334
- package/lib/common.js.map +0 -1
- package/lib/flakyIt.d.ts +0 -15
- package/lib/flakyIt.js +0 -61
- package/lib/flakyIt.js.map +0 -1
- package/lib/jest-file-mock.d.ts +0 -0
- package/lib/jest-file-mock.js +0 -6
- package/lib/jest-file-mock.js.map +0 -1
- package/lib/jest-shim.d.ts +0 -3
- package/lib/jest-shim.js +0 -96
- package/lib/jest-shim.js.map +0 -1
- package/lib/notebook-utils.d.ts +0 -66
- package/lib/notebook-utils.js +0 -201
- package/lib/notebook-utils.js.map +0 -1
- package/lib/rendermime.d.ts +0 -5
- package/lib/rendermime.js +0 -46
- package/lib/rendermime.js.map +0 -1
- package/lib/start_jupyter_server.d.ts +0 -62
- package/lib/start_jupyter_server.js +0 -324
- package/lib/start_jupyter_server.js.map +0 -1
- package/lib/user.d.ts +0 -60
- package/lib/user.js +0 -95
- package/lib/user.js.map +0 -1
package/lib/notebook-utils.js
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Jupyter Development Team.
|
|
3
|
-
// Distributed under the terms of the Modified BSD License.
|
|
4
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
-
if (k2 === undefined) k2 = k;
|
|
6
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
-
}
|
|
10
|
-
Object.defineProperty(o, k2, desc);
|
|
11
|
-
}) : (function(o, m, k, k2) {
|
|
12
|
-
if (k2 === undefined) k2 = k;
|
|
13
|
-
o[k2] = m[k];
|
|
14
|
-
}));
|
|
15
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
-
}) : function(o, v) {
|
|
18
|
-
o["default"] = v;
|
|
19
|
-
});
|
|
20
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
-
if (mod && mod.__esModule) return mod;
|
|
22
|
-
var result = {};
|
|
23
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
-
__setModuleDefault(result, mod);
|
|
25
|
-
return result;
|
|
26
|
-
};
|
|
27
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.NBTestUtils = void 0;
|
|
29
|
-
const coreutils_1 = require("@lumino/coreutils");
|
|
30
|
-
const codemirror_1 = require("@jupyterlab/codemirror");
|
|
31
|
-
const codeeditor_1 = require("@jupyterlab/codeeditor");
|
|
32
|
-
const apputils_1 = require("@jupyterlab/apputils");
|
|
33
|
-
const docregistry_1 = require("@jupyterlab/docregistry");
|
|
34
|
-
const notebook_1 = require("@jupyterlab/notebook");
|
|
35
|
-
const cells_1 = require("@jupyterlab/cells");
|
|
36
|
-
const rendermime_1 = require("./rendermime");
|
|
37
|
-
const Mock = __importStar(require("./mock"));
|
|
38
|
-
/**
|
|
39
|
-
* The default notebook content.
|
|
40
|
-
*/
|
|
41
|
-
// tslint:disable-next-line
|
|
42
|
-
var NBTestUtils;
|
|
43
|
-
(function (NBTestUtils) {
|
|
44
|
-
/**
|
|
45
|
-
* The default outputs used for testing.
|
|
46
|
-
*/
|
|
47
|
-
NBTestUtils.DEFAULT_OUTPUTS = [
|
|
48
|
-
{
|
|
49
|
-
name: 'stdout',
|
|
50
|
-
output_type: 'stream',
|
|
51
|
-
text: ['hello world\n', '0\n', '1\n', '2\n']
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
name: 'stderr',
|
|
55
|
-
output_type: 'stream',
|
|
56
|
-
text: ['output to stderr\n']
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
name: 'stderr',
|
|
60
|
-
output_type: 'stream',
|
|
61
|
-
text: ['output to stderr2\n']
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
output_type: 'execute_result',
|
|
65
|
-
execution_count: 1,
|
|
66
|
-
data: { 'text/plain': 'foo' },
|
|
67
|
-
metadata: {}
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
output_type: 'display_data',
|
|
71
|
-
data: { 'text/plain': 'hello, world' },
|
|
72
|
-
metadata: {}
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
output_type: 'error',
|
|
76
|
-
ename: 'foo',
|
|
77
|
-
evalue: 'bar',
|
|
78
|
-
traceback: ['fizz', 'buzz']
|
|
79
|
-
}
|
|
80
|
-
];
|
|
81
|
-
NBTestUtils.DEFAULT_CONTENT = require('../default.json');
|
|
82
|
-
NBTestUtils.DEFAULT_CONTENT_45 = require('../default-45.json');
|
|
83
|
-
NBTestUtils.defaultEditorConfig = { ...notebook_1.StaticNotebook.defaultEditorConfig };
|
|
84
|
-
NBTestUtils.editorFactory = codemirror_1.editorServices.factoryService.newInlineEditor.bind(codemirror_1.editorServices.factoryService);
|
|
85
|
-
NBTestUtils.mimeTypeService = codemirror_1.editorServices.mimeTypeService;
|
|
86
|
-
/**
|
|
87
|
-
* Get a copy of the default rendermime instance.
|
|
88
|
-
*/
|
|
89
|
-
function defaultRenderMime() {
|
|
90
|
-
return (0, rendermime_1.defaultRenderMime)();
|
|
91
|
-
}
|
|
92
|
-
NBTestUtils.defaultRenderMime = defaultRenderMime;
|
|
93
|
-
NBTestUtils.clipboard = apputils_1.Clipboard.getInstance();
|
|
94
|
-
/**
|
|
95
|
-
* Create a base cell content factory.
|
|
96
|
-
*/
|
|
97
|
-
function createBaseCellFactory() {
|
|
98
|
-
return new cells_1.Cell.ContentFactory({ editorFactory: NBTestUtils.editorFactory });
|
|
99
|
-
}
|
|
100
|
-
NBTestUtils.createBaseCellFactory = createBaseCellFactory;
|
|
101
|
-
/**
|
|
102
|
-
* Create a new code cell content factory.
|
|
103
|
-
*/
|
|
104
|
-
function createCodeCellFactory() {
|
|
105
|
-
return new cells_1.Cell.ContentFactory({ editorFactory: NBTestUtils.editorFactory });
|
|
106
|
-
}
|
|
107
|
-
NBTestUtils.createCodeCellFactory = createCodeCellFactory;
|
|
108
|
-
/**
|
|
109
|
-
* Create a cell editor widget.
|
|
110
|
-
*/
|
|
111
|
-
function createCellEditor(model) {
|
|
112
|
-
return new codeeditor_1.CodeEditorWrapper({
|
|
113
|
-
model: model || new cells_1.CodeCellModel(),
|
|
114
|
-
factory: NBTestUtils.editorFactory
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
NBTestUtils.createCellEditor = createCellEditor;
|
|
118
|
-
/**
|
|
119
|
-
* Create a default notebook content factory.
|
|
120
|
-
*/
|
|
121
|
-
function createNotebookFactory() {
|
|
122
|
-
return new notebook_1.Notebook.ContentFactory({ editorFactory: NBTestUtils.editorFactory });
|
|
123
|
-
}
|
|
124
|
-
NBTestUtils.createNotebookFactory = createNotebookFactory;
|
|
125
|
-
/**
|
|
126
|
-
* Create a default notebook panel content factory.
|
|
127
|
-
*/
|
|
128
|
-
function createNotebookPanelFactory() {
|
|
129
|
-
return new notebook_1.NotebookPanel.ContentFactory({ editorFactory: NBTestUtils.editorFactory });
|
|
130
|
-
}
|
|
131
|
-
NBTestUtils.createNotebookPanelFactory = createNotebookPanelFactory;
|
|
132
|
-
/**
|
|
133
|
-
* Create a notebook widget.
|
|
134
|
-
*/
|
|
135
|
-
function createNotebook() {
|
|
136
|
-
return new notebook_1.Notebook({
|
|
137
|
-
rendermime: defaultRenderMime(),
|
|
138
|
-
contentFactory: createNotebookFactory(),
|
|
139
|
-
mimeTypeService: NBTestUtils.mimeTypeService,
|
|
140
|
-
notebookConfig: {
|
|
141
|
-
...notebook_1.StaticNotebook.defaultNotebookConfig,
|
|
142
|
-
windowingMode: 'none'
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
NBTestUtils.createNotebook = createNotebook;
|
|
147
|
-
/**
|
|
148
|
-
* Create a notebook panel widget.
|
|
149
|
-
*/
|
|
150
|
-
function createNotebookPanel(context) {
|
|
151
|
-
return new notebook_1.NotebookPanel({
|
|
152
|
-
content: createNotebook(),
|
|
153
|
-
context
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
NBTestUtils.createNotebookPanel = createNotebookPanel;
|
|
157
|
-
/**
|
|
158
|
-
* Populate a notebook with default content.
|
|
159
|
-
*/
|
|
160
|
-
function populateNotebook(notebook) {
|
|
161
|
-
const model = new notebook_1.NotebookModel();
|
|
162
|
-
model.fromJSON(NBTestUtils.DEFAULT_CONTENT);
|
|
163
|
-
notebook.model = model;
|
|
164
|
-
}
|
|
165
|
-
NBTestUtils.populateNotebook = populateNotebook;
|
|
166
|
-
function createNotebookWidgetFactory(toolbarFactory) {
|
|
167
|
-
return new notebook_1.NotebookWidgetFactory({
|
|
168
|
-
name: 'notebook',
|
|
169
|
-
fileTypes: ['notebook'],
|
|
170
|
-
rendermime: defaultRenderMime(),
|
|
171
|
-
toolbarFactory,
|
|
172
|
-
contentFactory: createNotebookPanelFactory(),
|
|
173
|
-
mimeTypeService: NBTestUtils.mimeTypeService,
|
|
174
|
-
editorConfig: NBTestUtils.defaultEditorConfig
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
NBTestUtils.createNotebookWidgetFactory = createNotebookWidgetFactory;
|
|
178
|
-
/**
|
|
179
|
-
* Create a context for a file.
|
|
180
|
-
*/
|
|
181
|
-
async function createMockContext(startKernel = false) {
|
|
182
|
-
const path = coreutils_1.UUID.uuid4() + '.txt';
|
|
183
|
-
const manager = new Mock.ServiceManagerMock();
|
|
184
|
-
const factory = new notebook_1.NotebookModelFactory({});
|
|
185
|
-
const context = new docregistry_1.Context({
|
|
186
|
-
manager,
|
|
187
|
-
factory,
|
|
188
|
-
path,
|
|
189
|
-
kernelPreference: {
|
|
190
|
-
shouldStart: startKernel,
|
|
191
|
-
canStart: startKernel,
|
|
192
|
-
autoStartDefault: startKernel
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
await context.initialize(true);
|
|
196
|
-
await context.sessionContext.initialize();
|
|
197
|
-
return context;
|
|
198
|
-
}
|
|
199
|
-
NBTestUtils.createMockContext = createMockContext;
|
|
200
|
-
})(NBTestUtils = exports.NBTestUtils || (exports.NBTestUtils = {}));
|
|
201
|
-
//# sourceMappingURL=notebook-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-utils.js","sourceRoot":"","sources":["../src/notebook-utils.ts"],"names":[],"mappings":"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"}
|
package/lib/rendermime.d.ts
DELETED
package/lib/rendermime.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Jupyter Development Team.
|
|
3
|
-
// Distributed under the terms of the Modified BSD License.
|
|
4
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.defaultRenderMime = void 0;
|
|
9
|
-
const json_to_html_1 = __importDefault(require("json-to-html"));
|
|
10
|
-
const rendermime_1 = require("@jupyterlab/rendermime");
|
|
11
|
-
/**
|
|
12
|
-
* Get a copy of the default rendermime instance.
|
|
13
|
-
*/
|
|
14
|
-
function defaultRenderMime() {
|
|
15
|
-
return Private.rendermime.clone();
|
|
16
|
-
}
|
|
17
|
-
exports.defaultRenderMime = defaultRenderMime;
|
|
18
|
-
/**
|
|
19
|
-
* A namespace for private data.
|
|
20
|
-
*/
|
|
21
|
-
var Private;
|
|
22
|
-
(function (Private) {
|
|
23
|
-
class JSONRenderer extends rendermime_1.RenderedHTML {
|
|
24
|
-
constructor() {
|
|
25
|
-
super(...arguments);
|
|
26
|
-
this.mimeType = 'text/html';
|
|
27
|
-
}
|
|
28
|
-
renderModel(model) {
|
|
29
|
-
const source = model.data['application/json'];
|
|
30
|
-
model.setData({ data: { 'text/html': (0, json_to_html_1.default)(source) } });
|
|
31
|
-
return super.renderModel(model);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const jsonRendererFactory = {
|
|
35
|
-
mimeTypes: ['application/json'],
|
|
36
|
-
safe: true,
|
|
37
|
-
createRenderer(options) {
|
|
38
|
-
return new JSONRenderer(options);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
Private.rendermime = new rendermime_1.RenderMimeRegistry({
|
|
42
|
-
initialFactories: rendermime_1.standardRendererFactories
|
|
43
|
-
});
|
|
44
|
-
Private.rendermime.addFactory(jsonRendererFactory, 10);
|
|
45
|
-
})(Private || (Private = {}));
|
|
46
|
-
//# sourceMappingURL=rendermime.js.map
|
package/lib/rendermime.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rendermime.js","sourceRoot":"","sources":["../src/rendermime.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,2DAA2D;;;;;;AAE3D,gEAAqC;AAErC,uDAKgC;AAEhC;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACpC,CAAC;AAFD,8CAEC;AAED;;GAEG;AACH,IAAU,OAAO,CAyBhB;AAzBD,WAAU,OAAO;IACf,MAAM,YAAa,SAAQ,yBAAY;QAAvC;;YACE,aAAQ,GAAG,WAAW,CAAC;QAOzB,CAAC;QALC,WAAW,CAAC,KAA6B;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9C,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAA,sBAAS,EAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;KACF;IAED,MAAM,mBAAmB,GAAG;QAC1B,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,IAAI,EAAE,IAAI;QACV,cAAc,CACZ,OAAqC;YAErC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;IAEW,kBAAU,GAAG,IAAI,+BAAkB,CAAC;QAC/C,gBAAgB,EAAE,sCAAyB;KAC5C,CAAC,CAAC;IACH,QAAA,UAAU,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,EAzBS,OAAO,KAAP,OAAO,QAyBhB"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { JSONObject } from '@lumino/coreutils';
|
|
2
|
-
/**
|
|
3
|
-
* A Jupyter Server that runs as a child process.
|
|
4
|
-
*
|
|
5
|
-
* ### Notes
|
|
6
|
-
* There can only be one running server at a time, since
|
|
7
|
-
* PageConfig is global. Any classes that use `ServerConnection.ISettings`
|
|
8
|
-
* such as `ServiceManager` should be instantiated after the server
|
|
9
|
-
* has fully started so they pick up the right `PageConfig`.
|
|
10
|
-
*
|
|
11
|
-
* #### Example
|
|
12
|
-
* ```typescript
|
|
13
|
-
* const server = new JupyterServer();
|
|
14
|
-
*
|
|
15
|
-
* beforeAll(async () => {
|
|
16
|
-
* await server.start();
|
|
17
|
-
* });
|
|
18
|
-
*
|
|
19
|
-
* afterAll(async () => {
|
|
20
|
-
* await server.shutdown();
|
|
21
|
-
* });
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
*/
|
|
25
|
-
export declare class JupyterServer {
|
|
26
|
-
/**
|
|
27
|
-
* Start the server.
|
|
28
|
-
*
|
|
29
|
-
* @returns A promise that resolves with the url of the server
|
|
30
|
-
*
|
|
31
|
-
* @throws Error if another server is still running.
|
|
32
|
-
*/
|
|
33
|
-
start(options?: Partial<JupyterServer.IOptions>): Promise<string>;
|
|
34
|
-
/**
|
|
35
|
-
* Shut down the server, waiting for it to exit gracefully.
|
|
36
|
-
*/
|
|
37
|
-
shutdown(): Promise<void>;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* A namespace for JupyterServer static values.
|
|
41
|
-
*/
|
|
42
|
-
export declare namespace JupyterServer {
|
|
43
|
-
/**
|
|
44
|
-
* Options used to create a new JupyterServer instance.
|
|
45
|
-
*/
|
|
46
|
-
interface IOptions {
|
|
47
|
-
/**
|
|
48
|
-
* Additional Page Config values.
|
|
49
|
-
*/
|
|
50
|
-
pageConfig: {
|
|
51
|
-
[name: string]: string;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* Additional traitlet config data.
|
|
55
|
-
*/
|
|
56
|
-
configData: JSONObject;
|
|
57
|
-
/**
|
|
58
|
-
* Map of additional kernelspec names to kernel.json dictionaries
|
|
59
|
-
*/
|
|
60
|
-
additionalKernelSpecs: JSONObject;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) Jupyter Development Team.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
-
if (mod && mod.__esModule) return mod;
|
|
24
|
-
var result = {};
|
|
25
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
-
__setModuleDefault(result, mod);
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
-
};
|
|
32
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.JupyterServer = void 0;
|
|
34
|
-
/* eslint-disable camelcase */
|
|
35
|
-
// Copyright (c) Jupyter Development Team.
|
|
36
|
-
const child_process_1 = require("child_process");
|
|
37
|
-
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
38
|
-
const fs = __importStar(require("fs"));
|
|
39
|
-
const path = __importStar(require("path"));
|
|
40
|
-
const coreutils_1 = require("@jupyterlab/coreutils");
|
|
41
|
-
const coreutils_2 = require("@lumino/coreutils");
|
|
42
|
-
const common_1 = require("./common");
|
|
43
|
-
/**
|
|
44
|
-
* A Jupyter Server that runs as a child process.
|
|
45
|
-
*
|
|
46
|
-
* ### Notes
|
|
47
|
-
* There can only be one running server at a time, since
|
|
48
|
-
* PageConfig is global. Any classes that use `ServerConnection.ISettings`
|
|
49
|
-
* such as `ServiceManager` should be instantiated after the server
|
|
50
|
-
* has fully started so they pick up the right `PageConfig`.
|
|
51
|
-
*
|
|
52
|
-
* #### Example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* const server = new JupyterServer();
|
|
55
|
-
*
|
|
56
|
-
* beforeAll(async () => {
|
|
57
|
-
* await server.start();
|
|
58
|
-
* });
|
|
59
|
-
*
|
|
60
|
-
* afterAll(async () => {
|
|
61
|
-
* await server.shutdown();
|
|
62
|
-
* });
|
|
63
|
-
* ```
|
|
64
|
-
*
|
|
65
|
-
*/
|
|
66
|
-
class JupyterServer {
|
|
67
|
-
/**
|
|
68
|
-
* Start the server.
|
|
69
|
-
*
|
|
70
|
-
* @returns A promise that resolves with the url of the server
|
|
71
|
-
*
|
|
72
|
-
* @throws Error if another server is still running.
|
|
73
|
-
*/
|
|
74
|
-
async start(options = {}) {
|
|
75
|
-
if (Private.child !== null) {
|
|
76
|
-
throw Error('Previous server was not disposed');
|
|
77
|
-
}
|
|
78
|
-
const startDelegate = new coreutils_2.PromiseDelegate();
|
|
79
|
-
const env = {
|
|
80
|
-
JUPYTER_CONFIG_DIR: Private.handleConfig(options),
|
|
81
|
-
JUPYTER_DATA_DIR: Private.handleData(options),
|
|
82
|
-
JUPYTER_RUNTIME_DIR: Private.mktempDir('jupyter_runtime'),
|
|
83
|
-
IPYTHONDIR: Private.mktempDir('ipython'),
|
|
84
|
-
PATH: process.env.PATH
|
|
85
|
-
};
|
|
86
|
-
// Create the child process for the server.
|
|
87
|
-
const child = (Private.child = (0, child_process_1.spawn)('jupyter-lab', { env }));
|
|
88
|
-
let started = false;
|
|
89
|
-
// Handle server output.
|
|
90
|
-
const handleOutput = (output) => {
|
|
91
|
-
console.debug(output);
|
|
92
|
-
if (started) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
const baseUrl = Private.handleStartup(output);
|
|
96
|
-
if (baseUrl) {
|
|
97
|
-
console.debug('Jupyter Server started');
|
|
98
|
-
started = true;
|
|
99
|
-
void Private.connect(baseUrl, startDelegate);
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
child.stdout.on('data', data => {
|
|
103
|
-
handleOutput(String(data));
|
|
104
|
-
});
|
|
105
|
-
child.stderr.on('data', data => {
|
|
106
|
-
handleOutput(String(data));
|
|
107
|
-
});
|
|
108
|
-
const url = await startDelegate.promise;
|
|
109
|
-
return url;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Shut down the server, waiting for it to exit gracefully.
|
|
113
|
-
*/
|
|
114
|
-
async shutdown() {
|
|
115
|
-
if (!Private.child) {
|
|
116
|
-
return Promise.resolve(void 0);
|
|
117
|
-
}
|
|
118
|
-
const stopDelegate = new coreutils_2.PromiseDelegate();
|
|
119
|
-
const child = Private.child;
|
|
120
|
-
child.on('exit', code => {
|
|
121
|
-
Private.child = null;
|
|
122
|
-
if (code !== null && code !== 0) {
|
|
123
|
-
stopDelegate.reject('child process exited with code ' + String(code));
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
stopDelegate.resolve(void 0);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
child.kill();
|
|
130
|
-
window.setTimeout(() => {
|
|
131
|
-
if (Private.child) {
|
|
132
|
-
Private.child.kill(9);
|
|
133
|
-
}
|
|
134
|
-
}, 3000);
|
|
135
|
-
return stopDelegate.promise;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
exports.JupyterServer = JupyterServer;
|
|
139
|
-
/**
|
|
140
|
-
* A namespace for module private data.
|
|
141
|
-
*/
|
|
142
|
-
var Private;
|
|
143
|
-
(function (Private) {
|
|
144
|
-
Private.child = null;
|
|
145
|
-
/**
|
|
146
|
-
* Make a temporary directory.
|
|
147
|
-
*
|
|
148
|
-
* @param suffix the last portion of the dir naem.
|
|
149
|
-
*/
|
|
150
|
-
function mktempDir(suffix) {
|
|
151
|
-
const pathPrefix = '/tmp/jupyterServer';
|
|
152
|
-
if (!fs.existsSync(pathPrefix)) {
|
|
153
|
-
fs.mkdirSync(pathPrefix);
|
|
154
|
-
}
|
|
155
|
-
return fs.mkdtempSync(`${pathPrefix}/${suffix}`);
|
|
156
|
-
}
|
|
157
|
-
Private.mktempDir = mktempDir;
|
|
158
|
-
/**
|
|
159
|
-
* Install a spec in the data directory.
|
|
160
|
-
*/
|
|
161
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
162
|
-
function installSpec(dataDir, name, spec) {
|
|
163
|
-
const specDir = path.join(dataDir, 'kernels', name);
|
|
164
|
-
fs.mkdirSync(specDir, { recursive: true });
|
|
165
|
-
fs.writeFileSync(path.join(specDir, 'kernel.json'), JSON.stringify(spec));
|
|
166
|
-
coreutils_1.PageConfig.setOption(`__kernelSpec_${name}`, JSON.stringify(spec));
|
|
167
|
-
}
|
|
168
|
-
Private.installSpec = installSpec;
|
|
169
|
-
/**
|
|
170
|
-
* Create and populate a notebook directory.
|
|
171
|
-
*/
|
|
172
|
-
function createNotebookDir() {
|
|
173
|
-
const nbDir = mktempDir('notebook');
|
|
174
|
-
fs.mkdirSync(path.join(nbDir, 'src'));
|
|
175
|
-
fs.writeFileSync(path.join(nbDir, 'src', 'temp.txt'), 'hello');
|
|
176
|
-
const roFilepath = path.join(nbDir, 'src', 'readonly-temp.txt');
|
|
177
|
-
fs.writeFileSync(roFilepath, 'hello from a ready only file', {
|
|
178
|
-
mode: 0o444
|
|
179
|
-
});
|
|
180
|
-
return nbDir;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Create a temporary directory for schemas.
|
|
184
|
-
*/
|
|
185
|
-
function createAppDir() {
|
|
186
|
-
const appDir = mktempDir('app');
|
|
187
|
-
// Add a fake static/index.html for `ensure_app_check()`
|
|
188
|
-
fs.mkdirSync(path.join(appDir, 'static'));
|
|
189
|
-
fs.writeFileSync(path.join(appDir, 'static', 'index.html'), 'foo');
|
|
190
|
-
// Add the apputils schema.
|
|
191
|
-
const schemaDir = path.join(appDir, 'schemas');
|
|
192
|
-
fs.mkdirSync(schemaDir, { recursive: true });
|
|
193
|
-
const extensionDir = path.join(schemaDir, '@jupyterlab', 'apputils-extension');
|
|
194
|
-
fs.mkdirSync(extensionDir, { recursive: true });
|
|
195
|
-
// Get schema content.
|
|
196
|
-
const schema = {
|
|
197
|
-
title: 'Theme',
|
|
198
|
-
description: 'Theme manager settings.',
|
|
199
|
-
properties: {
|
|
200
|
-
theme: {
|
|
201
|
-
type: 'string',
|
|
202
|
-
title: 'Selected Theme',
|
|
203
|
-
default: 'JupyterLab Light'
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
|
-
type: 'object'
|
|
207
|
-
};
|
|
208
|
-
fs.writeFileSync(path.join(extensionDir, 'themes.json'), JSON.stringify(schema));
|
|
209
|
-
return appDir;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Handle configuration.
|
|
213
|
-
*/
|
|
214
|
-
function handleConfig(options) {
|
|
215
|
-
// Set up configuration.
|
|
216
|
-
const token = coreutils_2.UUID.uuid4();
|
|
217
|
-
coreutils_1.PageConfig.setOption('token', token);
|
|
218
|
-
coreutils_1.PageConfig.setOption('terminalsAvailable', 'true');
|
|
219
|
-
if (options.pageConfig) {
|
|
220
|
-
Object.keys(options.pageConfig).forEach(key => {
|
|
221
|
-
coreutils_1.PageConfig.setOption(key, options.pageConfig[key]);
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
const configDir = mktempDir('config');
|
|
225
|
-
const configPath = path.join(configDir, 'jupyter_server_config.json');
|
|
226
|
-
const root_dir = createNotebookDir();
|
|
227
|
-
const app_dir = createAppDir();
|
|
228
|
-
const user_settings_dir = mktempDir('settings');
|
|
229
|
-
const workspaces_dir = mktempDir('workspaces');
|
|
230
|
-
const configData = (0, deepmerge_1.default)({
|
|
231
|
-
LabApp: {
|
|
232
|
-
user_settings_dir,
|
|
233
|
-
workspaces_dir,
|
|
234
|
-
app_dir,
|
|
235
|
-
open_browser: false,
|
|
236
|
-
log_level: 'DEBUG'
|
|
237
|
-
},
|
|
238
|
-
ServerApp: {
|
|
239
|
-
token,
|
|
240
|
-
root_dir,
|
|
241
|
-
log_level: 'DEBUG'
|
|
242
|
-
},
|
|
243
|
-
MultiKernelManager: {
|
|
244
|
-
default_kernel_name: 'echo'
|
|
245
|
-
},
|
|
246
|
-
KernelManager: {
|
|
247
|
-
shutdown_wait_time: 1.0
|
|
248
|
-
}
|
|
249
|
-
}, options.configData || {});
|
|
250
|
-
coreutils_1.PageConfig.setOption('__configData', JSON.stringify(configData));
|
|
251
|
-
fs.writeFileSync(configPath, JSON.stringify(configData));
|
|
252
|
-
return configDir;
|
|
253
|
-
}
|
|
254
|
-
Private.handleConfig = handleConfig;
|
|
255
|
-
/**
|
|
256
|
-
* Handle data.
|
|
257
|
-
*/
|
|
258
|
-
function handleData(options) {
|
|
259
|
-
const dataDir = mktempDir('data');
|
|
260
|
-
// Install custom specs.
|
|
261
|
-
installSpec(dataDir, 'echo', {
|
|
262
|
-
argv: [
|
|
263
|
-
'python',
|
|
264
|
-
'-m',
|
|
265
|
-
'jupyterlab.tests.echo_kernel',
|
|
266
|
-
'-f',
|
|
267
|
-
'{connection_file}'
|
|
268
|
-
],
|
|
269
|
-
display_name: 'Echo Kernel',
|
|
270
|
-
language: 'echo'
|
|
271
|
-
});
|
|
272
|
-
installSpec(dataDir, 'ipython', {
|
|
273
|
-
argv: ['python', '-m', 'ipykernel_launcher', '-f', '{connection_file}'],
|
|
274
|
-
display_name: 'Python 3',
|
|
275
|
-
language: 'python'
|
|
276
|
-
});
|
|
277
|
-
if (options.additionalKernelSpecs) {
|
|
278
|
-
Object.keys(options.additionalKernelSpecs).forEach(key => {
|
|
279
|
-
installSpec(dataDir, key, options.additionalKernelSpecs[key]);
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
return dataDir;
|
|
283
|
-
}
|
|
284
|
-
Private.handleData = handleData;
|
|
285
|
-
/**
|
|
286
|
-
* Handle process startup.
|
|
287
|
-
*
|
|
288
|
-
* @param output the process output
|
|
289
|
-
*
|
|
290
|
-
* @returns The baseUrl of the server or `null`.
|
|
291
|
-
*/
|
|
292
|
-
function handleStartup(output) {
|
|
293
|
-
let baseUrl = null;
|
|
294
|
-
output.split('\n').forEach(line => {
|
|
295
|
-
const baseUrlMatch = line.match(/(http:\/\/localhost:\d+\/[^?]*)/);
|
|
296
|
-
if (baseUrlMatch) {
|
|
297
|
-
baseUrl = baseUrlMatch[1].replace('/lab', '');
|
|
298
|
-
coreutils_1.PageConfig.setOption('baseUrl', baseUrl);
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
return baseUrl;
|
|
302
|
-
}
|
|
303
|
-
Private.handleStartup = handleStartup;
|
|
304
|
-
/**
|
|
305
|
-
* Connect to the Jupyter server.
|
|
306
|
-
*/
|
|
307
|
-
async function connect(baseUrl, startDelegate) {
|
|
308
|
-
// eslint-disable-next-line
|
|
309
|
-
while (true) {
|
|
310
|
-
try {
|
|
311
|
-
await fetch(coreutils_1.URLExt.join(baseUrl, 'api'));
|
|
312
|
-
startDelegate.resolve(baseUrl);
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
catch (e) {
|
|
316
|
-
// spin until we can connect to the server.
|
|
317
|
-
console.warn(e);
|
|
318
|
-
await (0, common_1.sleep)(1000);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
Private.connect = connect;
|
|
323
|
-
})(Private || (Private = {}));
|
|
324
|
-
//# sourceMappingURL=start_jupyter_server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start_jupyter_server.js","sourceRoot":"","sources":["../src/start_jupyter_server.ts"],"names":[],"mappings":"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"}
|