@jupyterlab/extensionmanager 4.0.0-alpha.2 → 4.0.0-alpha.20
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/dialog.js +2 -2
- package/lib/dialog.js.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -2
- package/lib/index.js.map +1 -1
- package/lib/model.d.ts +90 -193
- package/lib/model.js +210 -451
- package/lib/model.js.map +1 -1
- package/lib/widget.d.ts +18 -207
- package/lib/widget.js +201 -328
- package/lib/widget.js.map +1 -1
- package/package.json +15 -15
- package/src/dialog.tsx +39 -0
- package/src/index.ts +9 -0
- package/src/model.ts +691 -0
- package/src/widget.tsx +760 -0
- package/style/base.css +68 -119
- package/style/index.css +1 -1
- package/style/index.js +1 -1
- package/lib/build-helper.d.ts +0 -9
- package/lib/build-helper.js +0 -60
- package/lib/build-helper.js.map +0 -1
- package/lib/companions.d.ts +0 -88
- package/lib/companions.js +0 -98
- package/lib/companions.js.map +0 -1
- package/lib/listings.d.ts +0 -50
- package/lib/listings.js +0 -80
- package/lib/listings.js.map +0 -1
- package/lib/npm.d.ts +0 -223
- package/lib/npm.js +0 -76
- package/lib/npm.js.map +0 -1
package/style/base.css
CHANGED
|
@@ -1,28 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Jupyter Development Team.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
1
6
|
/*
|
|
2
7
|
Main widget layout and styling
|
|
3
8
|
*/
|
|
4
9
|
|
|
5
|
-
.jp-extensionmanager-view {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
.jp-extensionmanager-view .lm-SplitPanel-child {
|
|
11
|
+
overflow-y: auto;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.jp-extensionmanager-header {
|
|
15
|
+
width: 100%;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.jp-extensionmanager-title {
|
|
9
19
|
display: flex;
|
|
10
|
-
|
|
11
|
-
font-size: var(--jp-ui-font-size1);
|
|
20
|
+
margin: 4px 10px 0;
|
|
12
21
|
}
|
|
13
22
|
|
|
14
|
-
.jp-extensionmanager-
|
|
15
|
-
|
|
16
|
-
overflow-x: hidden;
|
|
23
|
+
.jp-extensionmanager-title svg {
|
|
24
|
+
width: 14px;
|
|
17
25
|
}
|
|
18
26
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
.jp-extensionmanager-title .jp-icon3[fill] {
|
|
28
|
+
fill: currentcolor;
|
|
29
|
+
}
|
|
22
30
|
|
|
23
|
-
.jp-extensionmanager-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
.jp-extensionmanager-path {
|
|
32
|
+
display: inline flex;
|
|
33
|
+
padding-left: 4px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.jp-extensionmanager-header .jp-FilterBox {
|
|
37
|
+
margin: 4px 10px 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.jp-extensionmanager-disclaimer {
|
|
41
|
+
padding: 0 8px;
|
|
42
|
+
min-height: 160px;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.jp-extensionmanager-disclaimer a {
|
|
46
|
+
color: var(--jp-content-link-color);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.jp-extensionmanager-disclaimer a:hover {
|
|
50
|
+
color: var(--jp-content-link-color);
|
|
51
|
+
text-decoration: underline;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.jp-extensionmanager-disclaimer .jp-Button {
|
|
55
|
+
margin: 0 5px;
|
|
26
56
|
}
|
|
27
57
|
|
|
28
58
|
/*
|
|
@@ -32,10 +62,9 @@
|
|
|
32
62
|
.jp-extensionmanager-listview-wrapper {
|
|
33
63
|
margin: 0;
|
|
34
64
|
padding: 0;
|
|
35
|
-
padding-bottom: 8px;
|
|
36
65
|
display: flex;
|
|
37
66
|
flex-direction: column;
|
|
38
|
-
|
|
67
|
+
height: 100%;
|
|
39
68
|
}
|
|
40
69
|
|
|
41
70
|
.jp-extensionmanager-listview {
|
|
@@ -43,67 +72,16 @@
|
|
|
43
72
|
margin: 0;
|
|
44
73
|
padding: 0;
|
|
45
74
|
min-height: 0;
|
|
75
|
+
flex: 1 1 auto;
|
|
76
|
+
overflow: auto;
|
|
46
77
|
}
|
|
47
78
|
|
|
48
79
|
/*
|
|
49
80
|
Section headers
|
|
50
81
|
*/
|
|
51
82
|
|
|
52
|
-
.jp-extensionmanager-view .jp-
|
|
53
|
-
|
|
54
|
-
justify-content: space-between;
|
|
55
|
-
flex: 0 0 auto;
|
|
56
|
-
margin: 0px;
|
|
57
|
-
padding-bottom: 8px;
|
|
58
|
-
font-weight: 600;
|
|
59
|
-
text-transform: uppercase;
|
|
60
|
-
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
|
|
61
|
-
letter-spacing: 1px;
|
|
62
|
-
font-size: var(--jp-ui-font-size0);
|
|
63
|
-
line-height: 24px;
|
|
64
|
-
height: 24px;
|
|
65
|
-
padding: 4px;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.jp-extensionmanager-view .jp-stack-panel-header > .jp-ToolbarButtonComponent {
|
|
69
|
-
padding: 0px 2px;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.jp-extensionmanager-view
|
|
73
|
-
.jp-stack-panel-header
|
|
74
|
-
.jp-extensionmanager-headerText {
|
|
75
|
-
flex: 1 0 auto;
|
|
76
|
-
margin: 0px 4px;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.jp-extensionmanager-view
|
|
80
|
-
.jp-stack-panel-header
|
|
81
|
-
.jp-extensionmanager-headerTextDisabled {
|
|
82
|
-
flex: 1 0 auto;
|
|
83
|
-
margin: 0px 4px;
|
|
84
|
-
color: var(--jp-layout-color3);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.jp-extensionmanager-view .jp-stack-panel-header > .jp-ToolbarButtonComponent {
|
|
88
|
-
border: 1px solid transparent;
|
|
89
|
-
background-color: var(--jp-layout-color1);
|
|
90
|
-
color: var(--jp-ui-font-color1);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.jp-extensionmanager-view
|
|
94
|
-
.jp-stack-panel-header
|
|
95
|
-
> .jp-ToolbarButtonComponent:hover {
|
|
96
|
-
/* border: 1px solid var(--jp-brand-color1); */
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/*
|
|
100
|
-
Listing messages
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
.jp-extensionmanager-listingmessage {
|
|
104
|
-
background-color: var(--jp-brand-color1);
|
|
105
|
-
color: var(--jp-ui-inverse-font-color1);
|
|
106
|
-
padding: 4px 8px;
|
|
83
|
+
.jp-extensionmanager-view .jp-SidePanel-header .jp-extensionmanager-error {
|
|
84
|
+
text-transform: none;
|
|
107
85
|
font-size: var(--jp-ui-font-size1);
|
|
108
86
|
font-weight: 400;
|
|
109
87
|
}
|
|
@@ -116,43 +94,15 @@
|
|
|
116
94
|
white-space: pre-wrap;
|
|
117
95
|
}
|
|
118
96
|
|
|
119
|
-
/*
|
|
120
|
-
Search bar layout and styling
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
.jp-extensionmanager-search-bar {
|
|
124
|
-
padding: 4px;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.jp-extensionmanager-disclaimer {
|
|
128
|
-
color: var(--jp-ui-font-color1);
|
|
129
|
-
font-size: var(--jp-ui-font-size1);
|
|
130
|
-
font-weight: normal;
|
|
131
|
-
margin: 8px 8px 8px 32px;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.jp-extensionmanager-search-wrapper input {
|
|
135
|
-
background: transparent;
|
|
136
|
-
font-size: var(--jp-ui-font-size1);
|
|
137
|
-
color: var(--jp-ui-font-color0);
|
|
138
|
-
line-height: var(--jp-private-commandpalette-search-height);
|
|
139
|
-
box-sizing: border-box;
|
|
140
|
-
border-radius: 0;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
.jp-extensionmanager-search-wrapper input:focus {
|
|
144
|
-
box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
|
|
145
|
-
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
97
|
/*
|
|
149
98
|
List view pagination styling
|
|
150
99
|
*/
|
|
151
100
|
|
|
152
101
|
.jp-extensionmanager-view ul.pagination {
|
|
153
|
-
display:
|
|
154
|
-
|
|
155
|
-
padding-
|
|
102
|
+
display: flex;
|
|
103
|
+
justify-content: center;
|
|
104
|
+
padding-left: 0;
|
|
105
|
+
padding-right: 0;
|
|
156
106
|
}
|
|
157
107
|
|
|
158
108
|
.jp-extensionmanager-view .pagination li {
|
|
@@ -161,7 +111,6 @@
|
|
|
161
111
|
|
|
162
112
|
.jp-extensionmanager-view .pagination li a {
|
|
163
113
|
padding: 0 5px;
|
|
164
|
-
margin: 0 5px;
|
|
165
114
|
}
|
|
166
115
|
|
|
167
116
|
.jp-extensionmanager-view .pagination li.active a {
|
|
@@ -178,9 +127,9 @@
|
|
|
178
127
|
cursor: default;
|
|
179
128
|
}
|
|
180
129
|
|
|
181
|
-
.jp-extensionmanager-
|
|
182
|
-
|
|
183
|
-
|
|
130
|
+
.jp-extensionmanager-installedlist,
|
|
131
|
+
.jp-extensionmanager-searchresults {
|
|
132
|
+
min-height: 100px;
|
|
184
133
|
}
|
|
185
134
|
|
|
186
135
|
/*
|
|
@@ -195,12 +144,16 @@
|
|
|
195
144
|
.jp-extensionmanager-entry-description {
|
|
196
145
|
min-width: 0;
|
|
197
146
|
flex-grow: 1;
|
|
147
|
+
font-size: var(--jp-ui-font-size1);
|
|
148
|
+
color: var(--jp-ui-font-color2);
|
|
149
|
+
font-weight: 400;
|
|
198
150
|
}
|
|
199
151
|
|
|
200
152
|
.jp-extensionmanager-entry-title {
|
|
201
153
|
display: flex;
|
|
202
154
|
flex-direction: row;
|
|
203
155
|
justify-content: space-between;
|
|
156
|
+
align-items: center;
|
|
204
157
|
}
|
|
205
158
|
|
|
206
159
|
.jp-extensionmanager-entry.jp-extensionmanager-entry-should-be-uninstalled {
|
|
@@ -219,9 +172,6 @@
|
|
|
219
172
|
padding-left: 4px;
|
|
220
173
|
}
|
|
221
174
|
|
|
222
|
-
.jp-extensionmanager-entry.jp-extensionmanager-entry-warning {
|
|
223
|
-
}
|
|
224
|
-
|
|
225
175
|
.jp-extensionmanager-entry-name {
|
|
226
176
|
font-size: var(--jp-ui-font-size1);
|
|
227
177
|
font-weight: 600;
|
|
@@ -245,12 +195,6 @@
|
|
|
245
195
|
text-decoration: underline;
|
|
246
196
|
}
|
|
247
197
|
|
|
248
|
-
.jp-extensionmanager-entry-description {
|
|
249
|
-
font-size: var(--jp-ui-font-size1);
|
|
250
|
-
color: var(--jp-ui-font-color2);
|
|
251
|
-
font-weight: 400;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
198
|
.jp-extensionmanager-loader,
|
|
255
199
|
.jp-extensionmanager-error,
|
|
256
200
|
.jp-extensionmanager-listview-message {
|
|
@@ -280,7 +224,7 @@
|
|
|
280
224
|
background-color: var(--jp-layout-color1);
|
|
281
225
|
}
|
|
282
226
|
|
|
283
|
-
.jp-extensionmanager-pending.jp-mod-hasPending
|
|
227
|
+
.jp-extensionmanager-pending.jp-mod-hasPending::before {
|
|
284
228
|
display: block;
|
|
285
229
|
position: absolute;
|
|
286
230
|
content: '';
|
|
@@ -297,18 +241,23 @@
|
|
|
297
241
|
left: -200px;
|
|
298
242
|
width: 30%;
|
|
299
243
|
}
|
|
244
|
+
|
|
300
245
|
50% {
|
|
301
246
|
width: 30%;
|
|
302
247
|
}
|
|
248
|
+
|
|
303
249
|
70% {
|
|
304
250
|
width: 70%;
|
|
305
251
|
}
|
|
252
|
+
|
|
306
253
|
80% {
|
|
307
254
|
left: 50%;
|
|
308
255
|
}
|
|
256
|
+
|
|
309
257
|
95% {
|
|
310
258
|
left: 120%;
|
|
311
259
|
}
|
|
260
|
+
|
|
312
261
|
to {
|
|
313
262
|
left: 100%;
|
|
314
263
|
}
|
|
@@ -319,7 +268,7 @@
|
|
|
319
268
|
*/
|
|
320
269
|
|
|
321
270
|
.jp-extensionmanager-disclaimer-disable {
|
|
322
|
-
background-color: var(--jp-
|
|
271
|
+
background-color: var(--jp-reject-color-normal) !important;
|
|
323
272
|
color: white !important;
|
|
324
273
|
border: 0;
|
|
325
274
|
background-image: none !important;
|
package/style/index.css
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
|
|
7
|
+
@import url('~@lumino/widgets/style/index.css');
|
|
7
8
|
@import url('~@jupyterlab/ui-components/style/index.css');
|
|
8
9
|
@import url('~@jupyterlab/apputils/style/index.css');
|
|
9
|
-
@import url('~@jupyterlab/application/style/index.css');
|
|
10
10
|
|
|
11
11
|
@import url('./base.css');
|
package/style/index.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
|
|
7
|
+
import '@lumino/widgets/style/index.js';
|
|
7
8
|
import '@jupyterlab/ui-components/style/index.js';
|
|
8
9
|
import '@jupyterlab/apputils/style/index.js';
|
|
9
|
-
import '@jupyterlab/application/style/index.js';
|
|
10
10
|
|
|
11
11
|
import './base.css';
|
package/lib/build-helper.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { JupyterFrontEnd } from '@jupyterlab/application';
|
|
2
|
-
import { Builder } from '@jupyterlab/services';
|
|
3
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
4
|
-
/**
|
|
5
|
-
* Instruct the server to perform a build
|
|
6
|
-
*
|
|
7
|
-
* @param builder the build manager
|
|
8
|
-
*/
|
|
9
|
-
export declare function doBuild(app: JupyterFrontEnd, builder: Builder.IManager, translator?: ITranslator): Promise<void>;
|
package/lib/build-helper.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Jupyter Development Team.
|
|
2
|
-
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { Dialog, showDialog, showErrorMessage } from '@jupyterlab/apputils';
|
|
4
|
-
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
-
import * as React from 'react';
|
|
6
|
-
/**
|
|
7
|
-
* Instruct the server to perform a build
|
|
8
|
-
*
|
|
9
|
-
* @param builder the build manager
|
|
10
|
-
*/
|
|
11
|
-
export function doBuild(app, builder, translator) {
|
|
12
|
-
translator = translator || nullTranslator;
|
|
13
|
-
const trans = translator.load('jupyterlab');
|
|
14
|
-
if (builder.isAvailable) {
|
|
15
|
-
return builder
|
|
16
|
-
.build()
|
|
17
|
-
.then(() => {
|
|
18
|
-
return showDialog({
|
|
19
|
-
title: trans.__('Build Complete'),
|
|
20
|
-
body: (React.createElement("div", null,
|
|
21
|
-
trans.__('Build successfully completed, reload page?'),
|
|
22
|
-
React.createElement("br", null),
|
|
23
|
-
trans.__('You will lose any unsaved changes.'))),
|
|
24
|
-
buttons: [
|
|
25
|
-
Dialog.cancelButton({
|
|
26
|
-
label: trans.__('Reload Without Saving'),
|
|
27
|
-
actions: ['reload']
|
|
28
|
-
}),
|
|
29
|
-
Dialog.okButton({ label: trans.__('Save and Reload') })
|
|
30
|
-
],
|
|
31
|
-
hasClose: true
|
|
32
|
-
});
|
|
33
|
-
})
|
|
34
|
-
.then(({ button: { accept, actions } }) => {
|
|
35
|
-
if (accept) {
|
|
36
|
-
void app.commands
|
|
37
|
-
.execute('docmanager:save')
|
|
38
|
-
.then(() => {
|
|
39
|
-
location.reload();
|
|
40
|
-
})
|
|
41
|
-
.catch((err) => {
|
|
42
|
-
void showErrorMessage(trans.__('Save Failed'), {
|
|
43
|
-
message: React.createElement("pre", null, err.message)
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else if (actions.includes('reload')) {
|
|
48
|
-
location.reload();
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
.catch(err => {
|
|
52
|
-
void showDialog({
|
|
53
|
-
title: trans.__('Build Failed'),
|
|
54
|
-
body: React.createElement("pre", null, err.message)
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
return Promise.resolve();
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=build-helper.js.map
|
package/lib/build-helper.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-helper.js","sourceRoot":"","sources":["../src/build-helper.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAG3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,GAAoB,EACpB,OAAyB,EACzB,UAAwB;IAExB,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,WAAW,EAAE;QACvB,OAAO,OAAO;aACX,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,UAAU,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;gBACjC,IAAI,EAAE,CACJ;oBACG,KAAK,CAAC,EAAE,CAAC,4CAA4C,CAAC;oBACvD,+BAAM;oBACL,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAC3C,CACP;gBACD,OAAO,EAAE;oBACP,MAAM,CAAC,YAAY,CAAC;wBAClB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC;wBACxC,OAAO,EAAE,CAAC,QAAQ,CAAC;qBACpB,CAAC;oBACF,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;iBACxD;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;YACxC,IAAI,MAAM,EAAE;gBACV,KAAK,GAAG,CAAC,QAAQ;qBACd,OAAO,CAAC,iBAAiB,CAAC;qBAC1B,IAAI,CAAC,GAAG,EAAE;oBACT,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;oBAClB,KAAK,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;wBAC7C,OAAO,EAAE,iCAAM,GAAG,CAAC,OAAO,CAAO;qBAClC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACrC,QAAQ,CAAC,MAAM,EAAE,CAAC;aACnB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,KAAK,UAAU,CAAC;gBACd,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC;gBAC/B,IAAI,EAAE,iCAAM,GAAG,CAAC,OAAO,CAAO;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACN;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC"}
|
package/lib/companions.d.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { KernelSpec } from '@jupyterlab/services';
|
|
2
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
3
|
-
/**
|
|
4
|
-
* An object representing a companion installation info.
|
|
5
|
-
*/
|
|
6
|
-
export interface IInstallInfoEntry {
|
|
7
|
-
/**
|
|
8
|
-
* The name of the companion package/module.
|
|
9
|
-
*/
|
|
10
|
-
name?: string;
|
|
11
|
-
/**
|
|
12
|
-
* Whether the package also includes the lab extension.
|
|
13
|
-
*/
|
|
14
|
-
bundles_extension?: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* An object representing a server extension install info.
|
|
18
|
-
*/
|
|
19
|
-
export interface IInstallInfo {
|
|
20
|
-
/**
|
|
21
|
-
* The base/default install info.
|
|
22
|
-
*/
|
|
23
|
-
base: IInstallInfoEntry;
|
|
24
|
-
/**
|
|
25
|
-
* Which package managers that have the package/module.
|
|
26
|
-
*/
|
|
27
|
-
managers: string[];
|
|
28
|
-
/**
|
|
29
|
-
* Overrides of the base install info on a per-manager basis.
|
|
30
|
-
*/
|
|
31
|
-
overrides?: {
|
|
32
|
-
[key: string]: IInstallInfoEntry | undefined;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* An object representing a kernel companion install info.
|
|
37
|
-
*/
|
|
38
|
-
export interface IKernelInstallInfo extends IInstallInfo {
|
|
39
|
-
/**
|
|
40
|
-
* A specification of which kernels the current install info applies to.
|
|
41
|
-
*/
|
|
42
|
-
kernel_spec: {
|
|
43
|
-
/**
|
|
44
|
-
* A regular expression for matching kernel language.
|
|
45
|
-
*/
|
|
46
|
-
language: string;
|
|
47
|
-
/**
|
|
48
|
-
* A regular expression for matching kernel display name.
|
|
49
|
-
*/
|
|
50
|
-
display_name?: string;
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* An object combining a kernel companion install info with matching specs.
|
|
55
|
-
*/
|
|
56
|
-
export declare type KernelCompanion = {
|
|
57
|
-
/**
|
|
58
|
-
* The kernel companion install info.
|
|
59
|
-
*/
|
|
60
|
-
kernelInfo: IKernelInstallInfo;
|
|
61
|
-
/**
|
|
62
|
-
* The kernels that match the install info.
|
|
63
|
-
*/
|
|
64
|
-
kernels: KernelSpec.ISpecModel[];
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* An object representing the companion discovery metadata in package.json.
|
|
68
|
-
*/
|
|
69
|
-
export interface IJupyterLabPackageData {
|
|
70
|
-
jupyterlab?: {
|
|
71
|
-
discovery?: {
|
|
72
|
-
/**
|
|
73
|
-
* Information about any server extension companions.
|
|
74
|
-
*/
|
|
75
|
-
server?: IInstallInfo;
|
|
76
|
-
/**
|
|
77
|
-
* Information about any kernel companions.
|
|
78
|
-
*/
|
|
79
|
-
kernel?: IKernelInstallInfo[];
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Prompt the user what do about companion packages, if present.
|
|
85
|
-
*
|
|
86
|
-
* @param builder the build manager
|
|
87
|
-
*/
|
|
88
|
-
export declare function presentCompanions(kernelCompanions: KernelCompanion[], serverCompanion: IInstallInfo | undefined, translator?: ITranslator): Promise<boolean>;
|
package/lib/companions.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Jupyter Development Team.
|
|
2
|
-
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
4
|
-
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
-
import * as React from 'react';
|
|
6
|
-
// Mapping of manager name to function that take name and gives command
|
|
7
|
-
const managerCommand = {
|
|
8
|
-
pip: name => `pip install ${name}`,
|
|
9
|
-
conda: name => `conda install -c conda-forge ${name}`
|
|
10
|
-
};
|
|
11
|
-
function getInstallCommands(info) {
|
|
12
|
-
var _a, _b, _c, _d;
|
|
13
|
-
const commands = Array();
|
|
14
|
-
for (const manager of info.managers) {
|
|
15
|
-
const name = (_c = (_b = (_a = info.overrides) === null || _a === void 0 ? void 0 : _a[manager]) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : info.base.name;
|
|
16
|
-
if (!name) {
|
|
17
|
-
console.warn(`No package name found for manager ${manager}`);
|
|
18
|
-
continue;
|
|
19
|
-
}
|
|
20
|
-
const command = (_d = managerCommand[manager]) === null || _d === void 0 ? void 0 : _d.call(managerCommand, name);
|
|
21
|
-
if (!command) {
|
|
22
|
-
console.warn(`Don't know how to install packages for manager ${manager}`);
|
|
23
|
-
}
|
|
24
|
-
commands.push(command);
|
|
25
|
-
}
|
|
26
|
-
return commands;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Prompt the user what do about companion packages, if present.
|
|
30
|
-
*
|
|
31
|
-
* @param builder the build manager
|
|
32
|
-
*/
|
|
33
|
-
export function presentCompanions(kernelCompanions, serverCompanion, translator) {
|
|
34
|
-
translator = translator || nullTranslator;
|
|
35
|
-
const trans = translator.load('jupyterlab');
|
|
36
|
-
const entries = [];
|
|
37
|
-
if (serverCompanion) {
|
|
38
|
-
entries.push(React.createElement("p", { key: "server-companion" },
|
|
39
|
-
trans.__(`This package has indicated that it needs a corresponding server
|
|
40
|
-
extension. Please contact your Administrator to update the server with
|
|
41
|
-
one of the following commands:`),
|
|
42
|
-
getInstallCommands(serverCompanion).map(command => {
|
|
43
|
-
return (React.createElement("p", { key: command },
|
|
44
|
-
React.createElement("code", null, command)));
|
|
45
|
-
})));
|
|
46
|
-
}
|
|
47
|
-
if (kernelCompanions.length > 0) {
|
|
48
|
-
entries.push(React.createElement("p", { key: 'kernel-companion' }, trans.__('This package has indicated that it needs a corresponding package for the kernel.')));
|
|
49
|
-
for (const [index, entry] of kernelCompanions.entries()) {
|
|
50
|
-
entries.push(React.createElement("p", { key: `companion-${index}` }, trans.__(`The package <code>%1</code>, is required by the following kernels:`, entry.kernelInfo.base.name)));
|
|
51
|
-
const kernelEntries = [];
|
|
52
|
-
for (const [index, kernel] of entry.kernels.entries()) {
|
|
53
|
-
kernelEntries.push(React.createElement("li", { key: `kernels-${index}` },
|
|
54
|
-
React.createElement("code", null, kernel.display_name)));
|
|
55
|
-
}
|
|
56
|
-
entries.push(React.createElement("ul", { key: 'kernel-companion-end' }, kernelEntries));
|
|
57
|
-
entries.push(React.createElement("p", { key: `kernel-companion-${index}` },
|
|
58
|
-
trans.__(`This package has indicated that it needs a corresponding kernel
|
|
59
|
-
package. Please contact your Administrator to update the server with
|
|
60
|
-
one of the following commands:`),
|
|
61
|
-
getInstallCommands(entry.kernelInfo).map(command => {
|
|
62
|
-
return (React.createElement("p", { key: command },
|
|
63
|
-
React.createElement("code", null, command)));
|
|
64
|
-
})));
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const body = (React.createElement("div", null,
|
|
68
|
-
entries,
|
|
69
|
-
React.createElement("p", null, trans.__(`You should make sure that the indicated packages are installed before
|
|
70
|
-
trying to use the extension. Do you want to continue with the extension
|
|
71
|
-
installation?`))));
|
|
72
|
-
const hasKernelCompanions = kernelCompanions.length > 0;
|
|
73
|
-
const hasServerCompanion = !!serverCompanion;
|
|
74
|
-
let title = '';
|
|
75
|
-
if (hasKernelCompanions && hasServerCompanion) {
|
|
76
|
-
title = trans.__('Kernel and Server Companions');
|
|
77
|
-
}
|
|
78
|
-
else if (hasKernelCompanions) {
|
|
79
|
-
title = trans.__('Kernel Companions');
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
title = trans.__('Server Companion');
|
|
83
|
-
}
|
|
84
|
-
return showDialog({
|
|
85
|
-
title,
|
|
86
|
-
body,
|
|
87
|
-
buttons: [
|
|
88
|
-
Dialog.cancelButton({ label: trans.__('Cancel') }),
|
|
89
|
-
Dialog.okButton({
|
|
90
|
-
label: trans.__('OK'),
|
|
91
|
-
caption: trans.__('Install the JupyterLab extension.')
|
|
92
|
-
})
|
|
93
|
-
]
|
|
94
|
-
}).then(result => {
|
|
95
|
-
return result.button.accept;
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=companions.js.map
|
package/lib/companions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"companions.js","sourceRoot":"","sources":["../src/companions.tsx"],"names":[],"mappings":"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"}
|
package/lib/listings.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ISignal } from '@lumino/signaling';
|
|
2
|
-
/** *
|
|
3
|
-
* Information about a listed entry.
|
|
4
|
-
*/
|
|
5
|
-
export interface IListEntry {
|
|
6
|
-
/**
|
|
7
|
-
* The name of the extension.
|
|
8
|
-
*/
|
|
9
|
-
name: string;
|
|
10
|
-
regexp: RegExp | undefined;
|
|
11
|
-
type: string | undefined;
|
|
12
|
-
reason: string | undefined;
|
|
13
|
-
creation_date: string | undefined;
|
|
14
|
-
last_update_date: string | undefined;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Listing search result type.
|
|
18
|
-
*
|
|
19
|
-
* - The mode for the listings, can be black or white.
|
|
20
|
-
* - A collection of URIs for black or white listings, depending
|
|
21
|
-
* on the mode.
|
|
22
|
-
* - A collection of black or white listed extensions, depending
|
|
23
|
-
* on the mode.
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
export declare type ListResult = null | {
|
|
27
|
-
mode: 'block' | 'allow' | 'default' | 'invalid';
|
|
28
|
-
uris: string[];
|
|
29
|
-
entries: IListEntry[];
|
|
30
|
-
};
|
|
31
|
-
export interface IListingApi {
|
|
32
|
-
blocked_extensions_uris: string[];
|
|
33
|
-
allowed_extensions_uris: string[];
|
|
34
|
-
blocked_extensions: IListEntry[];
|
|
35
|
-
allowed_extensions: IListEntry[];
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* An object for getting listings from the server API.
|
|
39
|
-
*/
|
|
40
|
-
export declare class Lister {
|
|
41
|
-
/**
|
|
42
|
-
* Create a Lister object.
|
|
43
|
-
*/
|
|
44
|
-
constructor();
|
|
45
|
-
get listingsLoaded(): ISignal<this, ListResult>;
|
|
46
|
-
private _listings;
|
|
47
|
-
/**
|
|
48
|
-
*/
|
|
49
|
-
private _listingsLoaded;
|
|
50
|
-
}
|