From 121c293b981eaae8bd307ce869801fd2ace54975 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Mon, 12 Mar 2018 16:21:07 +0100 Subject: [PATCH] Use import() for lazy loading code --- src/monaco.contribution.ts | 12 +++++------- src/tsconfig.json | 10 ++++++++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index b7878b9d..70d6ba85 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -10,8 +10,6 @@ import Emitter = monaco.Emitter; import IEvent = monaco.IEvent; import IDisposable = monaco.IDisposable; -declare var require: (moduleId: [string], callback: (module: T) => void) => void; - // --- CSS configuration and defaults --------- export class LanguageServiceDefaultsImpl implements monaco.languages.css.LanguageServiceDefaults { @@ -84,18 +82,18 @@ monaco.languages.css = createAPI(); // --- Registration to monaco editor --- -function withMode(callback: (module: typeof mode) => void): void { - require(['./cssMode'], callback); +function getMode(): monaco.Promise { + return monaco.Promise.wrap(import('./cssMode')) } monaco.languages.onLanguage('less', () => { - withMode(mode => mode.setupMode(lessDefaults)); + getMode().then(mode => mode.setupMode(lessDefaults)); }); monaco.languages.onLanguage('scss', () => { - withMode(mode => mode.setupMode(scssDefaults)); + getMode().then(mode => mode.setupMode(scssDefaults)); }); monaco.languages.onLanguage('css', () => { - withMode(mode => mode.setupMode(cssDefaults)); + getMode().then(mode => mode.setupMode(cssDefaults)); }); diff --git a/src/tsconfig.json b/src/tsconfig.json index a00c7267..56db01bb 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -1,8 +1,14 @@ { "compilerOptions": { - "module": "es6", + "module": "esnext", "moduleResolution": "node", "outDir": "../out", - "target": "es5" + "target": "es5", + "lib": [ + "dom", + "es5", + "es2015.collection", + "es2015.promise" + ] } } \ No newline at end of file