@jupyterlite/session 0.1.0-beta.2 → 0.1.0-beta.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/index.js CHANGED
@@ -2,3 +2,4 @@
2
2
  // Distributed under the terms of the Modified BSD License.
3
3
  export * from './tokens';
4
4
  export * from './sessions';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
package/lib/sessions.d.ts CHANGED
@@ -24,7 +24,9 @@ export declare class Sessions implements ISessions {
24
24
  /**
25
25
  * Path an existing session.
26
26
  * This can be used to rename a session.
27
- * TODO: read path and name
27
+ *
28
+ * - path updates session to track renamed paths
29
+ * - kernel.name starts a new kernel with a given kernelspec
28
30
  *
29
31
  * @param options The options to patch the session.
30
32
  */
package/lib/sessions.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { PathExt } from '@jupyterlab/coreutils';
1
2
  import { ArrayExt } from '@lumino/algorithm';
2
3
  import { UUID } from '@lumino/coreutils';
3
4
  /**
@@ -35,12 +36,14 @@ export class Sessions {
35
36
  /**
36
37
  * Path an existing session.
37
38
  * This can be used to rename a session.
38
- * TODO: read path and name
39
+ *
40
+ * - path updates session to track renamed paths
41
+ * - kernel.name starts a new kernel with a given kernelspec
39
42
  *
40
43
  * @param options The options to patch the session.
41
44
  */
42
45
  async patch(options) {
43
- const { id, path, name } = options;
46
+ const { id, path, name, kernel } = options;
44
47
  const index = this._sessions.findIndex((s) => s.id === id);
45
48
  const session = this._sessions[index];
46
49
  if (!session) {
@@ -51,6 +54,25 @@ export class Sessions {
51
54
  path: path !== null && path !== void 0 ? path : session.path,
52
55
  name: name !== null && name !== void 0 ? name : session.name,
53
56
  };
57
+ if (kernel) {
58
+ // Kernel id takes precedence over name.
59
+ if (kernel.id) {
60
+ const session = this._sessions.find((session) => { var _a; return ((_a = session.kernel) === null || _a === void 0 ? void 0 : _a.id) === (kernel === null || kernel === void 0 ? void 0 : kernel.id); });
61
+ if (session) {
62
+ patched.kernel = session.kernel;
63
+ }
64
+ }
65
+ else if (kernel.name) {
66
+ const newKernel = await this._kernels.startNew({
67
+ id: UUID.uuid4(),
68
+ name: kernel.name,
69
+ location: PathExt.dirname(patched.path),
70
+ });
71
+ if (newKernel) {
72
+ patched.kernel = newKernel;
73
+ }
74
+ }
75
+ }
54
76
  this._sessions[index] = patched;
55
77
  return patched;
56
78
  }
@@ -69,7 +91,11 @@ export class Sessions {
69
91
  }
70
92
  const kernelName = (_b = (_a = options.kernel) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
71
93
  const id = (_c = options.id) !== null && _c !== void 0 ? _c : UUID.uuid4();
72
- const kernel = await this._kernels.startNew({ id, name: kernelName });
94
+ const kernel = await this._kernels.startNew({
95
+ id,
96
+ name: kernelName,
97
+ location: PathExt.dirname(options.path),
98
+ });
73
99
  const session = {
74
100
  id,
75
101
  path,
@@ -101,3 +127,4 @@ export class Sessions {
101
127
  ArrayExt.removeFirstOf(this._sessions, session);
102
128
  }
103
129
  }
130
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/lib/tokens.js CHANGED
@@ -3,3 +3,4 @@ import { Token } from '@lumino/coreutils';
3
3
  * The token for the sessions service.
4
4
  */
5
5
  export const ISessions = new Token('@jupyterlite/session:ISessions');
6
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAY,gCAAgC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlite/session",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.20",
4
4
  "description": "JupyterLite - Session",
5
5
  "homepage": "https://github.com/jupyterlite/jupyterlite",
6
6
  "bugs": {
@@ -42,20 +42,21 @@
42
42
  "watch": "tsc -b --watch"
43
43
  },
44
44
  "dependencies": {
45
- "@jupyterlab/services": "~6.3.0",
46
- "@jupyterlite/kernel": "^0.1.0-beta.2",
45
+ "@jupyterlab/coreutils": "~5.5.3",
46
+ "@jupyterlab/services": "~6.5.3",
47
+ "@jupyterlite/kernel": "^0.1.0-beta.20",
47
48
  "@lumino/algorithm": "^1.9.1",
48
49
  "@lumino/coreutils": "^1.12.0"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@babel/core": "^7.11.6",
52
53
  "@babel/preset-env": "^7.12.1",
53
- "@jupyterlab/testutils": "~3.3.0",
54
+ "@jupyterlab/testutils": "~3.5.3",
54
55
  "@types/jest": "^26.0.10",
55
56
  "jest": "^26.4.2",
56
57
  "rimraf": "~3.0.0",
57
58
  "ts-jest": "^26.3.0",
58
- "typescript": "~4.5.2"
59
+ "typescript": "~4.9.4"
59
60
  },
60
61
  "publishConfig": {
61
62
  "access": "public"