Skip to content
This repository was archived by the owner on Feb 26, 2025. It is now read-only.

Commit 63a70fd

Browse files
authored
Merge pull request #46 from JohanMabille/service_worker
Made the service worker optional
2 parents e3a1937 + 9b6ab3c commit 63a70fd

File tree

4 files changed

+221
-522
lines changed

4 files changed

+221
-522
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ A Lua kernel for JupyterLite running in the browser.
99

1010
## Requirements
1111

12-
- JupyterLite >= 0.1.0a14
12+
- JupyterLite >= 0.1.0b16
1313

1414
## Install
1515

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@
5959
"watch:labextension": "jupyter labextension watch ."
6060
},
6161
"dependencies": {
62-
"@jupyterlite/contents": "^0.1.0-beta.12",
63-
"@jupyterlite/server": "^0.1.0-beta.12",
62+
"@jupyterlite/contents": "^0.1.0-beta.16",
63+
"@jupyterlite/server": "^0.1.0-beta.16",
6464
"comlink": "^4.3.1"
6565
},
6666
"devDependencies": {

src/index.ts

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,28 @@
33
// Distributed under the terms of the Modified BSD License.
44

55
import {
6-
IServiceWorkerRegistrationWrapper,
6+
IServiceWorkerManager,
77
JupyterLiteServer,
88
JupyterLiteServerPlugin
99
} from '@jupyterlite/server';
10-
10+
import { IBroadcastChannelWrapper } from '@jupyterlite/contents';
1111
import { IKernel, IKernelSpecs } from '@jupyterlite/kernel';
1212

1313
import { WebWorkerKernel } from './web_worker_kernel';
1414

15-
import logo32 from '../style/logos/lua-logo-32x32.png';
16-
import logo64 from '../style/logos/lua-logo-64x64.png';
15+
import logo32 from '!!file-loader?context=.!../style/logos/lua-logo-32x32.png';
16+
import logo64 from '!!file-loader?context=.!../style/logos/lua-logo-64x64.png';
1717

1818
const server_kernel: JupyterLiteServerPlugin<void> = {
1919
id: '@jupyterlite/xeus-lua-kernel-extension:kernel',
2020
autoStart: true,
21-
requires: [IKernelSpecs, IServiceWorkerRegistrationWrapper],
21+
requires: [IKernelSpecs],
22+
optional: [IServiceWorkerManager, IBroadcastChannelWrapper],
2223
activate: (
2324
app: JupyterLiteServer,
2425
kernelspecs: IKernelSpecs,
25-
serviceWorkerRegistrationWrapper: IServiceWorkerRegistrationWrapper
26+
serviceWorker?: IServiceWorkerManager,
27+
broadcastChannel?: IBroadcastChannelWrapper
2628
) => {
2729
kernelspecs.register({
2830
spec: {
@@ -44,9 +46,22 @@ const server_kernel: JupyterLiteServerPlugin<void> = {
4446
}
4547
},
4648
create: async (options: IKernel.IOptions): Promise<IKernel> => {
49+
const mountDrive = !!(
50+
serviceWorker?.enabled && broadcastChannel?.enabled
51+
);
52+
53+
if (mountDrive) {
54+
console.info(
55+
'xeus-lua contents will be synced with Jupyter Contents'
56+
);
57+
} else {
58+
console.warn(
59+
'xeus-lua contents will NOT be synced with Jupyter Contents'
60+
);
61+
}
4762
return new WebWorkerKernel({
4863
...options,
49-
mountDrive: serviceWorkerRegistrationWrapper.enabled
64+
mountDrive
5065
});
5166
}
5267
});

0 commit comments

Comments
 (0)