33// Distributed under the terms of the Modified BSD License.
44
55import {
6- IServiceWorkerRegistrationWrapper ,
6+ IServiceWorkerManager ,
77 JupyterLiteServer ,
88 JupyterLiteServerPlugin
99} from '@jupyterlite/server' ;
10-
10+ import { IBroadcastChannelWrapper } from '@jupyterlite/contents' ;
1111import { IKernel , IKernelSpecs } from '@jupyterlite/kernel' ;
1212
1313import { 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
1818const 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