@@ -17,7 +17,7 @@ const log = logger.getLogger('WorkerEditPage');
1717// Monaco
1818import { MonacoEditorConstructionOptions } from '@materia-ui/ngx-monaco-editor' ;
1919import { FormControl } from '@angular/forms' ;
20- import { createEnvironmentLib , scheduledLib } from './editor.libs' ;
20+ import { createEnvironmentLib , createEnvType , scheduledLib , executionContextLib } from './editor.libs' ;
2121import { CommonModule } from '@angular/common' ;
2222import { SharedModule } from '~/app/shared/shared.module' ;
2323import { IframeComponent } from './components/iframe/iframe.component' ;
@@ -172,6 +172,10 @@ export default class WorkerEditPage implements OnInit, OnDestroy {
172172 monaco . languages . typescript . typescriptDefaults . addExtraLib ( scheduledLib ) ;
173173 monaco . languages . typescript . javascriptDefaults . addExtraLib ( scheduledLib ) ;
174174
175+ // ExecutionContext lib (for ES Modules ctx parameter)
176+ monaco . languages . typescript . typescriptDefaults . addExtraLib ( executionContextLib ) ;
177+ monaco . languages . typescript . javascriptDefaults . addExtraLib ( executionContextLib ) ;
178+
175179 // On save (CTRL + S)
176180 editor . addCommand ( monaco . KeyMod . CtrlCmd | monaco . KeyCode . KeyS , ( ) => this . updateWorker ( ) ) ;
177181
@@ -211,11 +215,15 @@ export default class WorkerEditPage implements OnInit, OnDestroy {
211215 private environmentLibs : monaco . IDisposable [ ] = [ ] ;
212216 private setEnvironmentLib ( values : readonly IEnvironmentValue [ ] ) {
213217 log . debug ( 'set env' , values ) ;
214- const lib = createEnvironmentLib ( values . map ( ( v ) => ( { key : v . key , type : v . type } ) ) ) ;
218+ const envValues = values . map ( ( v ) => ( { key : v . key , type : v . type } ) ) ;
219+ const lib = createEnvironmentLib ( envValues ) ;
220+ const envType = createEnvType ( envValues ) ;
215221 this . environmentLibs . map ( ( lib ) => lib . dispose ( ) ) ;
216222 this . environmentLibs = [
217223 monaco . languages . typescript . typescriptDefaults . addExtraLib ( lib ) ,
218- monaco . languages . typescript . javascriptDefaults . addExtraLib ( lib )
224+ monaco . languages . typescript . javascriptDefaults . addExtraLib ( lib ) ,
225+ monaco . languages . typescript . typescriptDefaults . addExtraLib ( envType ) ,
226+ monaco . languages . typescript . javascriptDefaults . addExtraLib ( envType )
219227 ] ;
220228 }
221229
0 commit comments